Installing COBOL application programs

Figure 15 illustrates the flow of control in the cataloged procedures for COBOL and PL/I programs that require a separate translator step. If you use an integrated translator, Start of changethere is no separate translator step.End of change The high-level language source and CICS®.SDFHLOAD both input to the compiler, and a combined translator and compiler listing is produced.

Figure 15. Installing COBOL and PL/I programs
 This diagram shows the translator step, creating an intermediate file that is then passed to the compiler, including files from either CICS.SDFHCOB or CICS.SDFHPL1 to produce a further intermediate file that is processed by the linkage editor, which can include files from CICS.SDFHCOB or SDFHPL1, CICS.SDFHLOAD and SYS1.PLIBASE or SYS1.COBLIB to produce a load module in CICS.SDFHLOAD.

Sample JCL to install COBOL application programs

You can use the job control statements shown in Figure 16 to process COBOL application programs with a separate translator. The procedure name depends on whether it is a CICS application program or an EXCI batch program. For the names of the CICS-supplied COBOL procedures, see Table 6.

Figure 16. Sample job control statements to call the DFHYITVL or DFHYXTVL procedures
//jobname    JOB  accounting info,name,MSGLEVEL=1
//           EXEC PROC=procname                                      1 
//TRN.SYSIN  DD      *                                        2 
 CBL   XOPTS(Translator options . . .)                        3 
              .
             COBOL source statements
              .
/*
//LKED.SYSIN DD      *                                        4 
               NAME    anyname(R)
/*
//
where procname is the name of the procedure,
and anyname is your load module name.

To use the procedure DFHZITCL to invoke the integrated translator, you can use the job control statements shown in Figure 17:

Figure 17. Sample job control statements to use the DFHZITCL procedure
 //jobname    JOB  accounting info,name,MSGLEVEL=1
 //           EXEC DFHZITCL,PROGLIB=dsnname                    1 
 //COBOL.SYSIN  DD *                        
    .                                       
    . COBOL source statements                   
    .                                       
 /*                                         
 //LKED.SYSIN DD *                          
             NAME anyname(R)                                                  
 /*                                         
 //
                                           
where anyname is your load module name.

Notes for installing COBOL programs

 1  Translator options:

Specify the COBOL3 or COBOL2 translator option according to the version of the COBOL functionality required in the compile step. See Using the COBOL2 and COBOL3 translator options for more information about these translator options.

Compiler options:

To compile a COBOL program, you need the compiler options RENT, NODYNAM, and LIB.

If you use the translator option, CBLCARD (the default), the CICS translator automatically generates a CBL statement containing these options. You can prevent the generation of a CBL or PROCESS card by specifying the translator option NOCBLCARD.

The PARM statement of the COB step in the CICS-supplied COBOL procedures specifies values for the compiler options. For example,

//COB    EXEC PGM=IGYCRCTL,REGION=&REG,
//       PARM='NODYNAM,LIB,OBJECT,RENT,APOST,MAP,XREF'

To compile a COBOL program with a compiler that has an integrated translator, you also need to use the CICS compiler option to indicate that you want the compiler to invoke the translator. The DFHZITCL procedure includes this compiler option:

CBLPARM='NODYNAM,LIB,MAP,CICS(''COBOL3'')'
Note:
If you specify CICS translator options for the integrated translator in the PARM string, you need double apostrophes as shown in this example. If, however, you specify the options in your source program, you need single apostrophes (for example, you might have CBL CICS('COBOL3,SP') APOST as the CBL statement in your source program.

The CICS-supplied COBOL procedures do not specify values for the SIZE and BUF options. The defaults are SIZE=MAX, and BUF=4K. SIZE defines the amount of virtual storage available to the compiler, and BUF defines the amount of dynamic storage to be allocated to each compiler buffer work file. You can change these options with a PARM.COB parameter in the EXEC statement that invokes the procedure. For example:

EXEC  PROC=procname,PARM.COB='SIZE=512K,BUF=16K,.,.,.'

You can change compiler options by using any of the following methods:

For information about the translator option CBLCARD|NOCBLCARD, see Defining translator options. If you choose to use the NOCBLCARD option, also specify the COBOL compiler option ALOWCBL=NO to prevent an error message of IGYOS4006-E being issued. For more information about the ALOWCBL compiler option, see the relevant Installation and Customization manual for your version of COBOL.

 2  If you have no input for the translator, you can specify DD DUMMY instead of DD *. However, if you specify DD DUMMY, also code a suitable DCB operand. (The translator does not supply all the data control block information for the SYSIN data set.)

 3  If the stand-alone translator supplied with CICS TS is used, the translator options on the XOPTS statement override similar options in the CICS-supplied COBOL procedures.

For information about the translator options you can include on the XOPTS statement, see Defining translator options .

When the integrated CICS translator is used, the COBOL compiler recognizes only the keyword CICS for defining translator options, not XOPTS.

 4  You can ignore weak external references unresolved by the link-edit.

The link-edit job step requires access to the libraries containing the environment-specific modules for CICS, and the Language Environment® link-edit modules, as appropriate. Override or change the names of these libraries if the modules and library subroutines are installed in libraries with different names.

If you are installing a program into either of the read-only DSAs, see Running application programs in the RDSAs for more details.

If you are installing a program that is to be used from the LPA, add the RENT and REFR options to the LNKPARM parameter on the call to the CICS-supplied COBOL procedures. (See Running applications in the link pack area.)

[[ Contents Previous Page | Next Page Index ]]