Sample JCL to install C application programs

You can use the job control statements shown in these examples to process C application programs. In the procedure name, x depends on whether your program is a CICS application program or an EXCI batch program.

For the names of the CICS-supplied procedures, see Table 2.
Figure 1. Sample JCL to call the DFHYxTzL procedures
//jobname    JOB  accounting info,name,MSGLEVEL=1
//           EXEC PROC=DFHYxTzL                                1
//TRN.SYSIN  DD      *                                         2
#pragma XOPTS(Translator options . . .)                        3
              .
             C source statements
              .
/*
//LKED.SYSIN DD      *                                         4
               NAME    anyname(R)
/*
//
where anyname is your load module name.

Notes for installing a C program

  1. Compiler options:You can code compiler options by using the parameter override CPARM in the EXEC statement that invokes the procedure, or on a #pragma options directive.
    If you want to make your C or C++ source available to the DFHYITEL, DFHZITEL or DFHYXTEL JCL procedures you must restrict the source input margins. You can restrict the source input margins by:
    • Altering the C or C++ source directly by specifying the following pragma declaration:
      #pragma margins(m, n) 
      where m and n are the columns where the C or C++ source is located. For example #pragma margins(1,72).
    • Altering the CPARM override options in the JCL procedure; specify SEQ or NOSEQ depending on whether the source has sequence numbers or not.
  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. Translator options: For information about the translator options you can include on the XOPTS statement, see Defining translator options .
  4. If you are installing a program into either of the read-only DSAs, see Running application programs in the read-only DSAs 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 DFHYxTzL procedure. (See Running applications in the link pack area for more information.)

    C language programs must be link-edited with AMODE(31), so the DFHYxTzL procedures specify AMODE(31) by default.

Invoking the integrated CICS translator for XL C

To use the procedures to invoke the integrated translator for XL C, you can use the job control statements shown in Figure 2:
Figure 2. Sample JCL for integrated translator for XL C
//jobname JOB accounting info,name,MSGLEVEL=1
// EXEC DFHZITxL,PROGLIB=dsnname                  1
//C.SYSIN DD *
   .
   . C source statements
   .
 
//LKED.SYSIN DD *
           NAME anyname(R)

//
where anyname is your load module name.
  1. Translator name: Specify DFHZITDL for C programs without XPLINK, or DFHZITFL for C programs with XPLINK.

Invoking the integrated CICS translator for XL C++

To use the procedures to invoke the integrated translator for XL C++, you can use the job control statements shown in Figure 3:
Figure 3. Sample JCL for integrated translator for XL C++
//jobname JOB accounting info,name,MSGLEVEL=1
// EXEC DFHZITxL,PROGLIB=dsnname                  1
//CPP.SYSIN DD *
   .
   . C++ source statements
   .
 
//LKED.SYSIN DD *
           NAME anyname(R)

//
where anyname is your load module name.
  1. Translator name: Specify DFHZITEL for C++ programs without XPLINK, or DFHZITGL for C++ programs with XPLINK.