Chapter Contents |
Previous |
Next |
Preprocessing, Compiling, and Linking |
You must execute three separate EXECs to create a C++ CICS application under CMS:
LCCCP | invokes the CICS translator. |
LCXXC | invokes the C++ translator and compiler. |
COOL | invokes the SAS/C prelinker. |
Output from COOL must be ported to the target operating system for final link-editing.
The LCCCP EXEC |
The
LCCCP EXEC requires an input file with a filetype of CPP. An output file
will be created with the same filename as the input file and a filetype of
C unless the
OUT
option is used to specify an alternate fileid. The following example
uses the
OUT
option to specify a fileid with the filetype (CXX) expected by
the LCXX EXEC.
LCCCP SAMPLE OUT(SAMPLE CXX A
The LCXX EXEC |
Note:
The
RENT
compiler option must always be specified for CICS applications.
LCXX SAMPLE (RENT
At this point, you can do one of the following:
To prelink the output file on CMS, enter the following command:
COOL SAMPLE (CXX CICS
An output file named COOL370 TEXT A is created and ready
for porting to the target operating system. You must use the
CXX
and
CICS
options to add the
required libraries to COOL's autocall list.
If the target operating system is OS/390, you can invoke
the LCCCXXL cataloged procedure with the
NOCOOL
option.
Note:
You must always link-edit the application with the
RENT
option.
Here's an example that invokes the
LCCCXXL cataloged
procedure:
//LINK EXEC LCCCXXL,PARM.LKED='NOCOOL,RENT' //LKED.SYSLMOD DD DSN=your.cics.load(member),DISP=SHR //* //* Note that input must be provided via the SYSLIN DD statement //* instead of the SYSIN DD statement when using the NOCOOL option. //LKED.SYSLIN DD DSN=your.object.library(member),DISP=SHR
Alternatively, you can directly invoke the linkage editor program, IEWL:
//LINK EXEC PGM=IEWL,PARM='RENT' //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSLMOD DD DSN=your.cics.load(member),DISP=SHR //SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,DCB=BLKSIZE=1024, // SPACE=(1024,(200,50)) //DFHLIB DD DSN=your.cicsrel.SDFHLOAD,DISP=SHR Command-level stubs //OBJIN DD DSN=your.object.library(member),DISP=SHR //SYSLIN DD * LIBRARY DFHLIB(DFHEAI,DFHEAI0) ORDER DFHEAI ENTRY MAIN INCLUDE OBJIN(member) NAME SAMPLE(R) /* //
If you choose to port the application to OS/390 for prelinking (using COOL) and link-editing, use the LCCCXXL cataloged procedure, as described in Creating C++ CICS Applications under OS/390 Batch.
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.