JCL example

The following example JCL shows you how to build the example code. You need to provide appropriate libraries in place of those shown in the example JCL, such as MTLUSR.XPLINK.LOAD and MTLUSR.METAL.OBJ.

Figure 1. CICS® LNKXPI JCL example
//MTLUSR00 JOB (999,POK),'METAL',CLASS=A,MSGCLASS=H,NOTIFY=&SYSUID
//* 
//* BINDER USING THE METAL XPI SAMPLE PROGRAM 
//* //LKED     EXEC  PGM=IEWL,REGION=256K, 
//    PARM='LIST,LET,XREF,MAP,AC(0),RENT,REUS,AMODE(31)' 
//SYSPRINT DD  SYSOUT=* 
//SYSUT1   DD  SPACE=(CYL,(10,10)),UNIT=SYSDA 
//SYSLMOD  DD  DSN=MTLUSR.XPLINK.LOAD,DISP=SHR 
//SYSLIB   DD  DSN=CICSTS41.CICS.SDFHLOAD,DISP=SHR 
//         DD  DISP=SHR,DSN=MTLUSR.METAL.OBJ 
//         DD  DISP=SHR,DSN=MTLUSR.METALC.SCCNOBJ 
//USROBJ   DD  DSN=MTLUSR.METAL.OBJ,DISP=SHR 
//SYSLIN    DD *  
INCLUDE USROBJ(MTLBTXPI)  
INCLUDE USROBJ(MTL2XPI)  
ENTRY MTLBTXPI  
NAME  MTLBTXPI(R) 
/*
Figure 2. CICS ASMXPI JCL example
//MTLUSR0  JOB (999,POK),'CICSASM',CLASS=A,MSGCLASS=H,NOTIFY=&SYSUID
//XPIASM   PROC DSN=,MEM= 
//***************************************************************** 
//* run ASM 
//***************************************************************** 
//STEPASM EXEC PGM=ASMA90,PARM=OBJECT,REGION=0M 
//SYSUT1  DD   UNIT=SYSDA,SPACE=(CYL,(1,1)) 
//SYSPRINT DD  SYSOUT=* 
//SYSIN    DD DSN=&DSN(&MEM),DISP=SHR 
//SYSLIN  DD  DISP=SHR,DSN=MTLUSR.METAL.OBJ(&MEM) 
//SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB 
//           DD DISP=SHR,DSN=CICSTS41.CICS.SDFHMAC 
//           DD DISP=SHR,DSN=CEE.SCEEMAC 
// PEND 
//**************************************************************** 
//* START OF COMPILES: 
//**************************************************************** 
//COMP     EXEC XPIASM,DSN='DEV.METALC.SAMPCODE',MEM='MTLBTXPI'
Figure 3. CICS CCXPI JCL example
//MTLUSRPC JOB (999,POK),'CCOMP',NOTIFY=&SYSUID, 
//   CLASS=A,MSGCLASS=H 
//*---------------------------------------------------------------- 
//* CICS Metal JCL 
//* 
//******************************************************************* 
//* Compile the code 
//******************************************************************* 
//CCAM     PROC IDSN=,ADSN=,ODSN=,MEM= 
//CC       EXEC PGM=CCNDRVR,REGION=0M, 
// PARM=('OPTFILE(DD:OPTIONS)') 
//STEPLIB  DD DISP=SHR,DSN=MTLCICS.METALC.SCCNCMP 
//         DD DSN=CICSTS41.CICS.SDFHLOAD,DISP=SHR 
//         DD DISP=SHR,DSN=CEE.SCEERUN 
//         DD DISP=SHR,DSN=CEE.SCEERUN2 
//OPTIONS  DD DISP=SHR,DSN=MTLCICS.METALC.SAMPJCL(OPTXPI) 
//SYSLIB   DD PATH='/usr/include/metal',PATHOPTS=ORDONLY 
//         DD DSN=CICSTS41.CICS.SDFHC370,DISP=SHR 
//         DD DSN=CICSTS41.CICS.SDFHMAC,DISP=SHR 
//         DD DSN=MTLCICS.METALC.SAMPMAC,DISP=SHR 
//**************************************************** 
//SYSUT1   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200) 
//SYSUT4   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200) 
//SYSUT5   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800) 
//SYSUT6   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800) 
//SYSUT7   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800) 
//SYSUT8   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800) 
//SYSUT9   DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=VB,LRECL=137,BLKSIZE=882) 
//SYSUT10  DD  SYSOUT=* 
//SYSUT14  DD  UNIT=SYSDA,SPACE=(32000,(30,30)), 
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800) 
//SYSUT15  DD  SYSOUT=* 
//**************************************************** 
//SYSPRINT DD SYSOUT=* 
//SYSOUT   DD SYSOUT=* 
//SYSCPRT  DD SYSOUT=* 
//*SYSLIN   DD DSN=&&SYSLIN,DISP=(NEW,PASS),SPACE=(TRK,(10,100)), 
//*         UNIT=SYSDA,BLKSIZE=3200,LRECL=80,RECFM=FB,DSORG=PS 
//SYSLIN   DD DISP=SHR,DSN=&ADSN(&MEM) 
//SYSIN    DD DISP=SHR,DSN=&IDSN(&MEM) 
//******************************************************************* 
//* Assemble the code 
//******************************************************************* 
//ASM     EXEC PGM=ASMA90,REGION=0M,PARM='GOFF' 
//SYSLIB   DD  DSN=SYS1.MACLIB,DISP=SHR 
//         DD DISP=SHR,DSN=CICSTS41.CICS.SDFHMAC 
//         DD DISP=SHR,DSN=CEE.SCEEMAC 
//         DD DSN=MTLCICS.METALC.SAMPMAC,DISP=SHR 
//SYSUT1   DD  UNIT=(SYSDA,SEP=SYSLIB),SPACE=(CYL,(10,5)),DSN=&SYSUT1
//SYSPRINT DD  SYSOUT=* 
//SYSLIN   DD  DISP=SHR,DSN=&ODSN(&MEM) 
//SYSIN    DD  DISP=SHR,DSN=&ADSN(&MEM) 
// PEND 
//* 
//COMP     EXEC CCAM,IDSN='MTLCICS.METALC.SAMPCODE', 
//         ADSN='MTLUSR.METAL.GENASM', 
//         ODSN='MTLUSR.METAL.OBJ',MEM=MTL2XPI 
//*
Figure 4. CICS OPTXPI JCL example
METAL GENASM
OPT(0) PHASEID LANGLVL(EXTENDED)
SO LIST CSECT
float(ieee)
DEF(MVS,CM_MVS,_TCP31_PROTOS)
nose se(/usr/include/metal, DD:SYSLIB)
SSCOM
AGG
RENT