CSS components


CSS consists of the following components:

  • BMC AMI common files and utilities
    • DDIO files: Source Listing Files, Report Files, Shared Directories and Associated Report, Transaction, and Source Listing Databases
    • Batch file utilities: CWDDSUTL, CWFXSDUT, CWAASDUT, CWDDLPUT, and CWDDALLU
  • BMC AMI Language Processors (COBOL, Assembler, PL/I, and C)
  • Security Exit Program

Common files and utilities

CSS components include common files and utilities that provide storage, retrieval, and maintenance functions.

DDIO files

A generic term used to describe the proprietary file access method that stores BMC AMI DevX Abend-AID reports, transaction dump information, and source listings for several BMC AMI products. You can allocate DDIO files as either VSAM or sequential data sets. Different products may require different types of DDIO files.

CSS utilities and batch file utilities

CSS Utilities walk you step-by-step through the CSS language processor functions and DDIO file manipulation using easy-to-use panels.

CSS Utilities provide many of the same functions that can be done in a batch environment, by using the batch file utilities (CWDDSUTL, CWFXSDUT, CWAASDUT, CWDDLPUT, or CWDDALLU).

CSS Language Processors (LP)

The language processors capture information about a compiler listing and store it in a source listing DDIO file. Most of this information is gathered from the compiler listing, but optionally, SYSIN and SYSLIB are also examined. The source listing DDIO file may be in standard DDIO, shared directory, or database format.

A language processor can be run using the following methods:

  • preprocessor
  • postprocessor

You can use the preprocessor or postprocessor as per your requirement.

Language Processor types

CSS provides language processing support for the following languages:

  • COBOL
  • PL/I
  • Assembler
  • C

The COBOL language processor reads the compiler listing produced by the COBOL compiler and writes either a compiler listing or an enhanced listing to the DDIO file. The enhanced listing merges the information normally found in the Data Division Map (DMAP) and the Condensed Listing (CLIST) or Procedure Map (PMAP) into the source statement lines. The COBOL compiler options in effect are sorted alphabetically and appear at the beginning of the enhanced listing. The enhanced listing provides you with a condensed hardcopy of the compiler information.

The COBOL and PL/I listings may be used to provide source support during a debugging or diagnostic session using any of the following products:

  • BMC AMI DevX Abend-AID
  • BMC AMI DevX Abend-AID for CICS
  • BMC AMI DevX Code Debug for CICS
  • BMC AMI DevX Code Debug for TSO
  • Code Debug/Eclipse

The Assembler listings may be used to provide source support during a debugging or diagnostic session using any of the following products:

  • BMC AMI DevX Abend-AID
  • BMC AMI DevX Code Debug for CICS
  • BMC AMI DevX Code Debug for TSO
  • Code Debug/Eclipse
  • The C language processor reads the compiler listing produced by the C compiler and writes the compiler listing to the DDIO file and SYSCPRT. The source listing in DDIO can then be used to provide source support during a debugging or diagnostic session using:
  • BMC AMI DevX Code Debug for TSO
  • BMC AMI DevX Code Debug for CICS

Preprocessor

Some information about a program module is not always available from the compiler listing. The preprocessor, in addition to gathering information from the compiler listing, gathers information from SYSIN and SYSLIB. The preprocessor provides additional functionality for BMC AMI DevX Code Debug for CICS andBMC AMI DevX Code Debug for TSO, and is required for PL/I programs that use the %NOPRINT statement.

When setting up the language processors, we recommend that you use the preprocessor instead of the postprocessor. Only use the postprocessor in situations where compiled source listings have been stored.

Preprocessor functions

The functions of the preprocessor are: 

  • Determines the proper compiler options required to process the listing file.
  • Automatically invokes the compiler or assembler to compile or assemble your source program.
  • Writes the listing to the DDIO file. You can produce an enhanced listing for COBOL programs, if desired. PL/I and Assembler listings are written to SYSPRINT. C listings are written to SYSCPRT.

 Preprocessor benefits

The benefits of the preprocessor are: 

  • Better handling of compiler errors. By using the preprocessor, you can avoid the potential problem of processing a listing with compiler errors. The preprocessor, in conjunction with the CONDDDIO parameter, internally checks the return code from the compiler and does not write a DDIO listing that contains errors. For example, if you set the CONDDDIO parameter to 8, the preprocessor will write the compiler listing to the DDIO file unless the compiler return code exceeds 8. The preprocessor can process the compiler errors more effectively than the postprocessor. We recommend that you use the preprocessor rather than the postprocessor.
  • Capturing suppressed source code. When you use any of the following parameters, you can suppress sections of source code from the compiler listing:

    For COBOL

     COPY SUPPRESS

    For PL/I

     %NOPRINT

    For Assembler

      PRINT OFF or PRINT NOGEN

    For C

     NOSHOWINC or NOEXPMAC

    The preprocessor captures this information from SYSIN and SYSLIB, or by forcing on more revealing compiler options, then altering the listing to emulate the options you requested.

  •  Automated compiler options. The postprocessor requires that certain compiler options be specified in order to process all needed sections of the compiler listing. The preprocessor can automatically pass the required options to the compiler.
  • Simplified JCL. While the postprocessor requires that you add a step after the compile step, the preprocessor only requires that you make minor modifications to your existing compile step.

Postprocessor

The postprocessor is executed as a single step and it can be a separate job. It reads in the listing created from the compiler. Information is gathered from the source listing, XREF, data maps, and object code sections of the listing. This information is stored in a DDIO file member and is used by various BMC AMI products.

While the preprocessor is the preferred method of loading the compiled listing to the DDIO, there are situations that necessitate the use of the postprocessor as a viable alternative. This is commonly found in production environments where the listings may be archived. Note that these are usually the default options at many shops.

If the programs contain suppressed source code, certain additional control statements must be added to the language processor.

If the programs are compiled with OFFSET as well as OPT(imize), certain additional control statements must be added to the language processor.

Postprocessor benefits

  • Exact match of compiled output listings with the executable load module. This is especially important in production environments where time is critical.
  • Eliminates the risk of copybook or source code changes prior to recompiling the code since the listing reflects the code that is being executed.
  • Significantly less time is needed to process source listings as opposed to recompiling the source code.

Security Exit Program

CSS also includes the BMC AMI Security Exit Program. This is an optional user-written exit for your BMC AMI products. It can be used in conjunction with your existing security package to secure sensitive data used by the following BMC AMI products:

 BMC AMI DevX Abend-AID

 BMC AMI DevX Abend-AID for CICS

 Abend-AID Fault Analytics

 BMC AMI DevX Workbench for Eclipse

 BMC AMI DevX Abend-AID for CICS

BMC AMI DevX Code Debug for TSO and BMC AMI DevX Code Debug for IMS

 BMC AMI DevX Code Coverage

 BMC AMI Strobe

The BMC AMI Security Exit enables you to control access to DDIO file members or restrict access to various commands through a user-written exit program. For the BMC AMI DevX Abend-AID for CICS product, you can restrict access to some of the CWFXSDUT and CWDDALLU functions for transaction database and source listing files. For transaction databases, you can use the Security Exit Program to restrict access to individual dumps within a transaction database. If you install a Security Exit program, it will be called by all BMC AMI products installed at your site. For more information on the Security Exit Program, see CSS-Security-Exit.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*