VISION:Results 6.0 Support for IBM Enterprise PL/I for z/OS

Document ID : KB000056974
Last Modified Date : 14/02/2018
Show Technical Document Details

To enable the support of Enterprise PL/I for z/OS applications, updates are required to the current VISION:Results procedures for calling PL/I for z/OS applications.

The compiler for Enterprise PL/I for z/OS programs is IBMZPLI.

Please see your Enterprise PL/I for z/OS Programming Guide for information on compile options. 

Your compile step should include SCEERUN (Language Environment run-time library) and the statements below:

//PLI EXEC PGM=IBMZPLI

//STEPLIB        DD DSN=YOURPRFX.SIBMZCMP,DISP=SHR

//               DD DSN=YOURPRFX.SCEERUN,DISP=SHR

AMODE(31) and RMODE(ANY) are the default settings for Enterprise PL/I applications.

The addressing mode in the VISION:Results 6.0 assembler routine PLIEXIT will need to be updated.

PLIEXIT can be found in the copy library created during the installation of VISION:Results. The following line should be added after the PLIEXIT  START 0 statement: PLIEXIT  AMODE 31. Program PLIEXIT will need to be reassembled to include the added AMODE 31 statement. The object module should be placed in an object library to be used later in the link-edit step that will bind your PL/I object and PLIEXIT object to create the callable module.

For information on Enterprise PL/I applications running in AMODE(24), please see topic AMODE(24) restrictions in your Enterprise PL/I for z/OS Compiler and Run-Time Migration Guide.

EXAMPLE:

As shown in the VISION:Results Reference Guide, the assemble step for the PLIEXIT program is as illustrated below:

//HLASM EXEC PGM=ASMA90,REGION=0M,TIME=(,40), X

// PARM=(OBJECT,NODECK,'LINECOUNT(48)','USING(MAP,WARN(3))', X

// TERM,'XREF(FULL)')

//SYSPRINT DD SYSOUT=*

//SYSPUNCH DD DUMMY

//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1))

//SYSUT2   DD UNIT=SYSDA,SPACE=(CYL,(2,1))

//SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(2,1))

//SYSLIN   DD DSN=OBJECT.LIB(PLIEXIT),DISP=SHR

//SYSTERM  DD SYSOUT=*

//SYSIN    DD DSN='YOUR.RESULTS.SOURCE.LIB(PLIEXIT)',DISP=SHR

The new compile for the Enterprise PL/I for z/OS PL/I program and the link-edit step should be similar to that below. The compile option DOC specified on the PARM statement instructs the compiler to list all the compile options used for the compile. The SOURCE parameter specifies that the source of the PL/I program is to be listed. Options DOC and SOURCE are not required to successfully compile the PL/I program, they were included as an example.

//COMP EXEC PGM=IBMZPLI,REGION=0M,

// PARM=’OPTIONS(DOC),SOURCE’

//STEPLIB  DD DSN=YOURPRFX.SIBMZCMP,DISP=SHR

//         DD DSN=YOURPRFX.SCEERUN,DISP=SHR

//SYSPRINT DD SYSOUT=*

//SYSIN    DD DSN=SOURCE.LIB(PLILKUP),DISP=SHR

//SYSLIN   DD DSN=&&SYSLIN,DISP=(MOD,PASS),UNIT=SYSDA,

// SPACE=(CYL,(2,1,0))

//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1),,CONTIG),

// DCB=BLKSIZE=1024

//LKED EXEC PGM=IEWL,REGION=2M,PARM='LET,LIST,MAP,RENT',COND=(0,NE)

//SYSLMOD  DD DSN=LOADLIB,DISP=SHR

//SYSLIB   DD DSN=YOURPRFX.SCEELKED,DISP=SHR

//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1))

//SYSPRINT DD SYSOUT=*

//OBJLIB   DD DSN=OBJECT.LIB,DISP=SHR

//PLIMOD   DD DSN=&&SYSLIN,DISP=(OLD,DELETE)

//SYSLIN   DD *

INCLUDE OBJLIB(PLIEXIT)

INCLUDE PLIMOD

NAME PLILKUP

/*

Below is an excerpt of program PLIEXIT that shows the required update.

Notice the AMODE 31 statement; this is the only required change for program PLIEXIT.

***********************************************************************        

***                                                                 ***        

***      PROGRAM: PLIEXIT                                           ***        

***      DATE WRITTEN: AUGUST, 1995                                 ***        

***      AUTHOR: COMPUTER ASSOCIATES                                ***        

***                                                                 ***        

***      FUNCTION: THIS PROGRAM IS CALLED FROM A VISION:RESULTS     ***        

***                PROGRAM WHICH IN TURN CALLS A PL/I MAIN PROGRAM. ***        

***                                                                 ***         

***                ITS PURPOSE IS TO ELIMINATE THE NEED OF THE      ***        

***                VISION:RESULTS PROGRAMMER TO SET UP ALL OF THE   ***        

***                PARAMETERS NEEDED BY PL/I.                       ***        

***                                                                 ***        

***********************************************************************        

PLIEXIT  START 0

PLIEXIT  AMODE 31                                                              

         B     12(R15)                                                         

         DC    CL8'PLIEXIT '      PROG ID                                      

         STM   R14,R12,12(R13)    SAVE CALLING PROGS REGISTERS                 

         LR    R11,R15            OUR BASE                                     

 

         USING PLIEXIT,R11