Previous Topic: Executing IN25LINK as a Standalone Program

Next Topic: IN25SYMD

Adding IN25LINK to Your Link-Edit Procedure

To automatically update the symbolic information in your PROTSYM file whenever a program is link-edited, you can add a postprocessor step directly to the JCL procedure that you use to link-edit your programs.

Follow these steps to update your existing link-edit procedure:

  1. Be sure that your link-edit step specifies all of the required link-edit options.
  2. If the SYSPRINT output from your link-edit step is written to SYSOUT, change the DD statement so that a temporary disk file is created for your listing.
  3. Add a new IN25PARM step following your link-edit step to generate the parameter statement for the postprocessor.
  4. Add a new IN25LINK step to postprocess the listing from the link-edit step. The INPUT DD on this step refers to the same file as the SYSPRINT DD from the link-edit step.
  5. Add a new IEBGENER step to print the linkage editor listing only if errors were detected during the link.

The following example shows modifications to a link-edit procedure:

//LINK      EXEC PGM=IEWL,REGION=2M,                          
//  PARM='LIST,LET,XREF,MAP'                             <= 1  

     (Your existing DD statements for the link edit)

//SYSPRINT DD DSN=&&LST,DISP=(NEW,PASS),                 <= 2
//            UNIT=SYSDA,SPACE=(CYL,(1,2))    
//*
//*   GENERATE THE PARAMETER STATEMENT FOR IN25LINK
//*
//CARDS   EXEC PGM=IN25PARM,REGION=1M,COND=(4,LT),       <= 3              
//   PARM='&MEMBER'                             
//STEPLIB  DD DSN=CAI.CAVHLOAD,DISP=SHR                                     
//CARDS    DD DSN=&&CARDS,DISP=(NEW,PASS),                             
//            UNIT=SYSDA,SPACE=(TRK,(1,1))                               
//*
//*    POST-PROCESS THE LINK EDIT OUTPUT
//*
//SYM      EXEC PGM=IN25LINK,REGION=4M,COND=(4,LT)       <= 4              
//STEPLIB  DD DSN=CAI.CAVHLOAD,DISP=SHR                                     
//PROTSYM  DD DSN=USER.PROTSYM,DISP=SHR                                    
//OUTPUT   DD SYSOUT=*,DCB=(RECFM=FBM,LRECL=121,BLKSIZE=2420)
//INPUT    DD DSN=&&LST,DISP=(OLD,PASS)                      (See Note 1)
//CARDS    DD DSN=&&CARDS,DISP=(OLD,DELETE)                  (See Note 2)
//MESSAGE  DD SYSOUT=*                                                 
//*
//PRINT    EXEC PGM=IEBGENER,COND=(5,GT,LINK)            <= 5
//SYSUT1   DD DSN=&&LST,DISP=(OLD,DELETE)                              
//SYSUT2   DD SYSOUT=*                                                 
//SYSPRINT DD DUMMY                                                    
//SYSIN    DD DUMMY                                                    

Notes:

  1. If the SYSPRINT DD on your link-edit step refers to a permanent data set, the INPUT DD for IN25LINK must point to the same data set.
  2. If you prefer to pass your parameter statement as an override in the invoking JCL, delete the CARDS step, delete this DD statement, and add SYM.CARDS DD to your invoking JCL member.

Note: Using this method, IN25PARM only generates the first parameter card identifying the name of the composite module. No subsequent cards are generated. This serves only to identify the name of the composite module, which is stored in the PROTSYM file. When you attempt to monitor the composite module with CA InterTest for CICS, you may be prompted for additional composite information.