//PLI2CXPM JOBPARM FETCH //*------------------------------------------------------------------ //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* NAME: PLI2CXPM //* LANGUAGE: JCL //* PURPOSE: THIS EXAMPLE DEMONSTRATES A PLI PROGRAM CALLING //* A C++ FUNCTION, WHICH TAKES A PARAMETER LIST. //* IT CONSISTS OF SAMPLE LIBRARY MEMBERS //* PLI2CXPC, PLI2CXPP, AND PLI2CXPM. //* THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES. //* MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED: //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRA) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRB) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRC) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(PLIMAIN) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPRCA) //*----------------------------------------------------------------- //***************************************************************** //* NOTE: Verify the statements indicated by the "<== CHECK" //* have been customized for the local environment. //***************************************************************** //* //* PL/I COMPILE //* //PLICOMP EXEC PLI5C <=== CHECK: PROC //SYSLIN DD DSN=your.object.library(PLI2CXPP),DISP=OLD <=== CHECK //SYSIN DD DSN=prefix.SAMPLE.ILC(PLI2CXPP),DISP=SHR <=== CHECK //* //********************************************** //* //* C++ COMPILE //* //CCOMP EXEC LCXXC,PARM.X='SN(CXXPROG),INDEP' <=== CHECK: PROC //* <== MUST COMPILE WITH INDEP //X.SYSLIN DD DSN=your.object.library(PLI2CXPC),DISP=OLD <=== CHECK //X.SYSTRIN DD DSN=prefix.SAMPLE.ILC(PLI2CXPC),DISP=SHR <=== CHECK //* //********************************************** //* //* ILC LINKSTEPS //* //ILCLINK EXEC ILCLINK,PARM.LKED='NOTERM' <=== CHECK: PROC //LKED.SYSLMOD DD DSN=your.load.library,DISP=SHR <=== CHECK //LKED.SYSARLIB DD DSN=prefix.A,DISP=SHR <=== CHECK //LKED.LC370 DD DSN=prefix,BASEOBJ,DISP=SHR <=== CHECK // DD DSN=prefix.STDOBJ,DISP=SHR <=== CHECK //LKED.PLILIB DD DSN=local.pli.PLIBASE,DISP=SHR <=== CHECK //LKED.MYLIBC DD DSN=your.object.library,DISP=SHR <=== CHECK //LKED.MYLIBP DD DSN=your.object.library,DISP=SHR <=== CHECK //LKED.ILCTERM DD SYSOUT=* //ILCIN DD * FIRST *(PLI) LANGUAGE C,PLI PROCESS CLINK PREM AUTOCALL LC370 INCLUDE MYLIBC(PLI2CXPC) PROCESS LKED XREF,LIST,AMODE=24,RMODE=24 AUTOCALL PLILIB INCLUDE MYLIBP(PLI2CXPP) NAME PLI2CXPM(R) //* //********************************************** //* //* RUN THE PROGRAM //* //GO EXEC PGM=PLI2CXPM //STEPLIB DD DSN=DSN=your.load.library,DISP=SHR <=== CHECK // DD DSN=prefix.LINKLIB,DISP=SHR <=== CHECK // DD DSN=local.pli.PLILINK,DISP=SHR <=== CHECK //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //