Previous Topic: Excluding Subroutines

Next Topic: Required Linkage Editor Options

Example

A composite module with the CICS program definition name BIGMOD consists of several separately compiled programs and library modules. Its main program is named MAINMOD and is written in COBOL.

BIGMOD also has three Assembler subroutines named SUBMODA, SUBMODB, and SUBMODC that you want to test separately. None of the subroutines has its own CICS program definition entry.

After assembling SUBMODA, SUBMODB, and SUBMODC, you loaded their symbolic information by executing postprocessor IN25SYMA. You selected monitor names of ASMMODA, ASMMODB, and ASMMODC for the subroutines.

Next, you compiled MAINMOD and loaded its symbolic information by executing postprocessor IN25COB2. You specified BIGMOD as the monitor name, matching the CICS program definition as required.

The linkage editor combines the main program and its three subroutines, creating the composite load module named BIGMOD. The link-edit map output for BIGMOD shows a main entry address of 160, that BIGMOD has been replaced in the load library, and that it contains the following modules:

Control Section	Origin	Length	Description
DFHECI		00	160	Command level COBOL stub
MAINMOD		160	78A8	Main program-COBOL
ILBOATB		7A08	11A	COBOL library module
ILBOCOM0	7B28	73	COBOL library module
SUBMODA	7CA0	1200	Subprogram-Assembler
SUBMODB	8EA0	100	Subprogram-Assembler
SUBMODC	9EA1	93	Subprogram-Assembler  

Sample JCL for the link-edit step and IN25LINK is shown as follows:

//*
//* Link Edit Step
//*
//LKED     EXEC PGM=IEWL,......
//SYSLIB   DD.....
//SYSLMOD  DD.....
//SYSUT1   DD.....
//SYSLIN   DD.....
//SYSPRINT DD DSN=&&INPUT,DISP=(,PASS),
//   UNIT=SYSDA,SPACE=(TRK,(2,5)),
//   DCB=(DSORG=PS,LRECL=121,BLKSIZE=2420,RECFM=FB)
//*
//* IN25LINK Step
//*
//POSTLINK EXEC PGM=IN25LINK,REGION=512K
//STEPLIB  DD DSN=CAI.CAVHLOAD,DISP=SHR
//INPUT    DD DSN=&&INPUT,DISP=(OLD,DELETE)
//MESSAGE  DD SYSOUT=*
//OUTPUT   DD SYSOUT=*,
//   DCB=(RECFM=FBA,LRECL=121,BLKSIZE=2420)
//PROTSYM  DD DSN=INTRTST.PROTSYM,DISP=SHR
//CARDS    DD *
BIGMOD             CICS program definition name of composite module
MAINMOD,BIGMOD     link-name and monitor-name of main program
SUBMODA,ASMMODA    link-name and monitor-name of subprogram
SUBMODB,ASMMODB    link-name and monitor-name of subprogram
SUBMODC,ASMMODC    link-name and monitor-name of subprogram
/*