Using the Visual Age compiler
With the z/OS® operating
system, the Visual Age PL/I compiler replaces all the previous PL/I
compilers. Therefore, if you use this compiler, you need to customize
the samples in PL/I as follows:
- Replace the PL/I compiler invocation statement:
with:EXEC PGM=IEL0AA
EXEC PGM=IBMZPLI
- Link into a PDS/E data set for SYSLMOD or include a pre-link edit step in the JCL.
As an example, here is the JCL for the EQQPIFJV sample using the
Visual Age PL/I compiler:
//EQQPIFJV JOB MSGCLASS=N, ............
//PLI1 EXEC PGM=IBMZPLI,REGION=1024K,
// PARM='OBJECT,OPTIONS'
//STEPLIB DD DSN=IBMZ.V2R2M1.SIBMZCMP,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLIN DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,PASS),
// DSN=&&OBJ1
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(3,3))
//SYSIN DD *
/*
//*
//PLI2 EXEC PGM=IBMZPLI,REGION=1024K,
// COND=(4,LT,PLI1),PARM='OBJECT,OPTIONS'
//SYSPRINT DD SYSOUT=*
//STEPLIB DD DSN=IBMZ.V2R2M1.SIBMZCMP,DISP=SHR
//SYSLIN DD UNIT=SYSDA,SPACE=(CYL,(2,1)),
// DISP=(,PASS),DSN=&&OBJ2
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(3,3))
//SYSIN DD *
........................
/*
//*
//******************************************************
//* PRE-LINK-EDIT STEP *
//******************************************************
//PLKED EXEC PGM=EDCPRLK,COND=(8,LT,PLI1),
// REGION=2048K
//SYSDEFSD DD DSN=&&DEF1,LRECL=80,BLKSIZE=3200,
// DISP=(,PASS)
//STEPLIB DD DSN=CEE.SCEERUN,DISP=SHR
//SYSMSGS DD DSN=CEE.SCEEMSGP(EDCPMSGE),DISP=SHR
//SYSLIB DD DUMMY
//SYSMOD DD DSN=&&PLNK,DISP=(,PASS),
// UNIT=SYSALLDA,SPACE=(CYL,(1,1)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSIN DD DSN=&&OBJ1,DISP=(OLD,DELETE)
// DD DSN=&&OBJ2,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//******************************************************
//* SCEELKED ADDED TO SYSLIB ON LINK STEP *
//******************************************************
//LKED EXEC PGM=IEWL,PARM='XREF',
// COND=(4,LT,PLI2),REGION=4M
//SYSPRINT DD SYSOUT=*
//SYSLIB DD DISP=SHR,DSN=CEE.SCEELKED
// DD DISP=SHR,DSN=USER.OPC23.LINKLI
//SYSLMOD DD DISP=SHR,DSN=SVIOLA.SEQQLMD0
//OPCLIB DD DISP=SHR,DSN=USER.OPC23.LINKLI
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(3,3))
//SEQOBJ1 DD DISP=(OLD,DELETE),DSN=&&PLNK
//SYSLIN DD *
INCLUDE SEQOBJ1
INCLUDE OPCLIB(EQQYCOM)
SETCODE AC(1)
ENTRY CEESTART
NAME EQQPIFT(R)
/*
//*
//EQQPIFT EXEC PGM=EQQPIFT,PARM='NOSTAE,NOSPIE',
// COND=(4,LT,LKED), REGION=4096K
//STEPLIB DD DISP=SHR,DSN=SVIOLA.SEQQLMD0
// DD DISP=SHR,DSN=USER.OPC23.LINKLIB
//EQQMLIB DD DSN=EQQ.V2R3M0.SEQQMSG0,DISP=SHR
//EQQYPARM DD DISP=SHR,DSN=XXXX.YYYY.ZZZZ(YPARM)
//EQQMLOG DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//EQQDUMP DD SYSOUT=*
//EQQDMSG DD SYSOUT=*
//CARDIN DD *
........................
/*
//*