RE-LINK-EDITING LOAD MODULES WITH NORES PROGRAMS - IBM Mainframe

When you recompile a VS COBOL II NORES program that is part of a multi-program load module with a release level of the compiler that is higher than the release level in effect when the load module was created, the COBOL library routines in the load module must be replaced with library routines at a release level that is equal to or higher than the release level of the compiler. Failure to do so can cause unpredictable results.

If you recreate the load module entirely from object code, the library routines are obtained from the SYSLIB libraries. And, as long as these libraries are at the appropriate release level, no problems will exist. However, if you re-link-edit the load module to replace only the recompiled program, then you must force the linkage editor to obtain the library routines from the SYSLIB libraries. You can do this in either of two ways:

  • Delete the library routines currently in the load module by specifying a REPLACE xxxxxxx linkage editor control statement for each library routine CSECT contained in the load module. Placing these statements before the INCLUDE statement for the load module causes these library routine CSECTs to be removed. This results in the library routines" being obtained from the SYSLIB libraries.
  • Specify an INCLUDE SYSLIB(xxxxxxx) linkage editor control statement for each library routine CSECT contained in the load module. Placing these statements before the INCLUDE statement for the load module causes these library routines to be obtained from the SYSLIB libraries, thereby overriding the library routine CSECTs contained in the load module.

You can find the names of the library routines to be deleted or overridden in a link-edit map of the load module. All library routines with names prefixed with IGZ and ILBO must be deleted or overridden.


All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics