Modify the JCL to run the COBOL Language Processor


You must perform this step if either of the following is true:

  • You are installing BMC AMI DevX Code Debug for CICS for the first time.
  • You are installing BMC AMI DevX Abend-AID for the first time or you are upgrading a current BMC AMI DevX Abend-AID installation with BMC AMI DevX Abend-AID source support and you are licensed for the BMC COBOL language processor.

You may optionally perform this step if you are installing BMC AMI DevX Code Debug for TSO and you are licensed for the BMC COBOL language processor. BMC AMI DevX Code Debug for TSO users can either perform this step now in batch mode, or online as part of the BMC AMI DevX Code Debug for TSO installation procedure.

This step contains instructions for both the COBOL language preprocessor and post-processor. You should follow the instructions that apply to the type of processing you will be performing.

Preprocessor

SLCXCNTL sample library member CXCOBPRE contains sample JCL necessary to run the COBOL language preprocessor.

Modify the compile step of your COBOL JCL:

On the EXEC statement, change the name of your compiler to CWPCMAIN and add the following to any existing COBOL compiler options:

LANGUAGE(compiler version)

Warning

Important

  1. The LANGUAGE command may be specified in the CWPPRMO command stream rather than on the EXEC statement.
  2. The preprocessor accepts VSCOBOLII, VSCOBOLIIREL3, VSCOBOLIIREL4, COBOL/370, COBOL/390, COBOL/MVS, and COBOLZ/OS as being equivalent because the program name is the same. The compiler that is actually executed depends on the library specified in the STEPLIB, JOBLIB, and/or LINKLIST concatenation.

    •  Add the ECC SLCXLOAD DSN to the STEPLIB or JOBLIB concatenation if it is not in the link list.
    •  Add the CWPDDIO DD statement to specify the name of the source listing DDIO file you will be using. The source listing DDIO file may be in standard DDIO, shared directory, or database format
      Note that if BMC AMI DevX Code Debug for CICS is using the source member, the source listing file specified here must be VSAM.
    • Determine the language processor options you will use as input and add them to the EXEC parameter or add a CWPPRMO DD statement that points to the appropriate options. Sample options are contained in SLCXCNTL sample library members CXLPCOBB (for batch programs) and CXLPCOBC (for CICS programs) to provide the smallest output to the source listing file (for minimizing space) and generate a printout of the COBOL enhanced listing. When using these options, a printout of the listing from the DDIO file contains only the source statements. The XREF and other portions of the listing are not written to the DDIO file. If you use the sample options, note the following:
    • If you do not have BMC AMI DevX Code Debug for TSO, remove DDIO(OUTPUT(FIND)).
    • If the program will be used by BMC AMI DevX Code Debug for CICS or BMC AMI DevX Abend-AID for CICS, use the options in sample CXLPCOBC.
    • The SYSPRINT file will be LRECL=133, RECFM=FBA.


Post-processor

You can use the post-processor to process compile listings that were previously stored, or you can modify your COBOL compile JCL to pass the compiler listing to the post-processor as described here.

  • Check the COBOL compiler options.
  • Change the COBOL compiler JCL to write the compiler listing (SYSPRINT) to a sequential file that can be used as input to the COBOL language post-processor. A sample of the necessary JCL is shown here.
//SYSPRINT DD UNIT=SYSDA,SPACE=(TRK,(25,20)),DCB=BLKSIZE=16093,
//            DISP=(MOD,PASS)         <===== CA-OPTIMIZER NEEDS 'MOD'

The above example is a temporary file. You can save the JCL as a permanent file to be reused as shown in the example here:

//SYSPRINT DD DSN=CX,STORED.LISTINGS(MEMBER)
  • The SYSPRINT file will be LRECL=133, RECFM=FBA.
  • Add SLCXCNTL sample library member CXCOB1 as the post-processor step following your COBOL compile step.
  • Determine the language processor options you will use as input and add them to the EXEC parameter, or add a CWPPRMO DD statement that points to the appropriate options. Sample options are contained in SLCXCNTL sample library members CXLPCOBB (for batch programs) and CXLPCOBC (for CICS programs) to provide the smallest output to the source listing file (for minimizing space) and generate a printout of the COBOL listing. When using these options, a printout of the listing from the DDIO file will contain only the source statements. The XREF and other portions of the listing will not be written to the DDIO file. If you use the sample options, note the following:
    • If you do not have BMC AMI DevX Code Debug for TSO, remove DDIO(OUTPUT(FIND)).
    • If the program will be used by BMC AMI DevX Code Debug for CICS or BMC AMI DevX Abend-AID for CICS, use the options in sample CXLPCOBC.

The SLCXCNTL sample library members that are supplied for the COBOL language post-processor invoke the language processor in different ways:

SCNTL Sample Library Members for COBOL Language Processor

Member

Purpose

CXCOB1

Processes compiler listings through the language post-processor. Add this JCL after your COBOL compile step and before your link edit step (if one exists).

CXCOB2

Postprocesses compiler listings stored from a previous compile job. Use this JCL to process listings that have been previously compiled and stored in machine-readable format.

CXCOB99

Compiles COBOL programs and feeds the compiler output into the COBOL post-processor.

  • The CWPPRTO file will be LRECL=133, RECFM=FBA.
  • The CWPLOAD file must be allocated using DISP=OLD or DISP=SHR.
  • The object module that is processed by the post-processor must be used as input to the linkedit step.

 

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

BMC AMI Enterprise Common Components 17.02