4.1.2.5 Create the Executable Object

The next step is to take the compiled source and create the executable object. You should load the resulting object module into the application library that is concatenated with the CICS/ESA region datasets.

In the following COBOL and C program examples, SYSLIN is the name of the file containing the compiled source concatenated with other necessary executables, including interfaces for the CICS API verbs, interfaces for CPI-C verbs, and interfaces for SNA resource recovery verbs (sync-level 2).

In the following listing, the module is linked as re-entrant and marked with 31-bit mode address-ability. This action is required for the module MIRRDTPC which performs CPI-C and SAA Resource/Recovery requests.

You must change the NAME to that of the executable being generated.

Listing COBOL Link-Edit Sample for TOUPDPLS, TOUPDTPS, and MIRRDPLC

//LKED     EXEC PGM=IEWL,    * ** LINKAGE EDITOR **
//              PARM=AMODE=31,RENT,
//              REGION=512K
//SYSPRINT  DD SYSOUT=*
//SYSLIN         DD DSN=&&LOADSET,DISP=(OLD,DELETE)
//               DD *
//          INCLUDE SYSLIB(DFHECI)
//          ORDER DFHECI
//                 NAME xxxxxxxx(R)
/*
//SYSLIB     DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
//           DD DSN=CICSxxx.SDFHCOB,DISP=SHR
//           DD DSN=SYS1.SCEELKED,DISP=SHR
//           DD DSN=SYS1.SIGYCOMP,DISP=SHR
//SYSLMOD    DD DSN=application.loadlib,DISP=(SHR,PASS)
//SYSUT1     DD UNIT=VIOD,SPACE=(1024,(50,20))
//

Listing COBOL Link-Edit Sample for MIRRDTPC

//LKED       EXEC PGM=IEWL,     * ** LINKAGE EDITOR **
//                PARM=AMODE=31,RENT,
//                REGION=512K
//SYSPRINT  DD SYSOUT=*
//SYSLIN        DD DSN=&&LOADSET,DISP=(OLD,DELETE)
//              DD *
//     INCLUDE SYSLIB(DFHECI)
//     INCLUDE SYSLIB(DFHCPLC)
//     INCLUDE SYSLIB(DFHCPLRR)
//     ORDER DFHECI
//            NAME xxxxxxxx(R)
/*
//SYSLIB       DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
//             DD DSN=CICSxxx.SDFHCOB,DISP=SHR
//             DD DSN=SYS1.SCEELKED,DISP=SHR
//             DD DSN=SYS1.SIGYCOMP,DISP=SHR
//SYSLMOD      DD DSN=application.loadlib(xxxxxxxx),DISP=(SHR,PASS)
//SYSUT1       DD UNIT=VIOD,SPACE=(1024,(50,20))
//

Listing C Link-Edit Sample

//LKED       EXEC PGM=HEWL,REGION=4M,
//           PARM='AMODE=31,RENT,
//           COND=((7,LT,C),(7,LT,PLKED),(7,LT,TRN))
//SYSLIB     DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
//           DD DSN=SYS1.SCEELKED,DISP=SHR
//SYSLIN     DD DSN=&&LOADSET,DISP=(OLD,DELETE)
//           DD *INCLUDE SYSLIB(DFHELII)
//        INCLUDE SYSLIB(DFHCPLC)
//        INCLUDE SYSLIB(DFHCPLRR)NAME xxxxxxxx(R)
/*
//SYSLMOD    DD DSN=application.loadlib(xxxxxxxx),DISP=SHR
//SYSUT1     DD UNIT=VIOD,SPACE=(1024,(50,20))
//SYSPRINT   DD SYSOUT=*