Chapter Contents

Previous

Next
Preprocessing, Compiling, and Linking

Linking for VSE

CICS application programs that are intended to be run under CICS and VSE may be developed on CMS or OS/390 systems. Generally, the technique is to preprocess, compile, and link your application under CMS or OS/390 before shipping the resulting object module to a VSE system for final link-editing with the CICS Execution Interface stub routines. Your applications are preprocessed and compiled in the normal manner under CMS or OS/390.

Note:    The VSE linkage editor does not support pseudoregisters. Therefore, the COOL PREM option should be used to remove pseudoregisters from the object code. This change does not affect program execution or re-entrancy in any way.  [cautionend]


Linking CICS/VSE Applications under CMS

The CICS/VSE resident library is contained in the LC370VSE TXTLIB and LC370BAS TXTLIB libraries. The simplest method of linking applications for CICS and VSE is to specify the CICSVSE option to COOL. Here is an example:

COOL ftoc (CICSVSE)

You can also use any of the alternate COOL processing techniques described earlier in Using CMS EXECs to Link. For example

GLOBAL TXTLIB LC370VSE LC370BAS
COOL ftoc

GLOBAL TXTLIB yourlib
COOL ftoc (CICSVSE)

GLOBALV SELECT LC370 SETL TXTLIBS yourlib
COOL ftoc (CICSVSE)

Note:    Pseudoregister removal is the default option on CMS.  [cautionend]

The resulting object file, COOL370 TEXT, must be transmitted to the destination VSE system for final link-editing. You can ignore any LSCL102 warning messages that reference the CICS Execution Interface stub routines.


Linking CICS/VSE Applications under OS/390

Under OS/390, the CICS and VSE resident library is contained in SASC.VSEOBJ and SASC.BASEOBJ. You can use the cataloged procedure LCCCL to create an object file for subsequent link-editing on a VSE system. You must code the ENV=VSE keyword in the JCL you use to invoke the procedure, and you must specify the COOL option PREM to remove pseudoregisters from the resulting object file. An example invocation of the cataloged procedure follows:

//    EXEC LCCCL,ENV=VSE,PARM='PREM'
//SYSLIN   DD DISP=SHR,DSN=your.object.library(outmem)
//SYSIN    DD DISP=SHR,DSN=your.object.library(inputobj)

The SYSLIN DD statement points to the data set that contains the resulting object file. The SYSIN DD statement points to any input object files. You may ignore any COOL LSCL102 warning messages that reference the CICS Execution Interface stub routines.


Creating the VSE Phase

After you have linked your application on your development system, the resulting object file must be transmitted to the destination VSE system for final link-editing with the CICS Execution Interface stubs to create an executable phase. Sample VSE Linking JCL shows how this can be done.


Sample VSE Linking JCL
// JOB // LIBDEF *,... PHASE load_module_name,* INCLUDE DFHEAI INCLUDE DFHEAIO INCLUDE . . /* object code produced by COOL */ . /* // EXEC LNKEDT /*


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.