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:
EXEC PGM=IEL0AA
with: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 * ........................ /* //*