//PASCCXPM JOBCARD INFORMATION //* //*------------------------------------------------------------------ //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* NAME: PASCCXPM //* LANGUAGE: JCL //* PURPOSE: THIS EXAMPLE DEMONSTRATES A PASCAL PROGRAM CALLING //* A C++ FUNCTION, PASSING A PARAMETER LIST. //* IT CONSISTS OF SAMPLE LIBRARY MEMBERS //* PASCCXPC, PASCCXPP, AND PASCCXPM. //* THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES. //* MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED: //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXRETC) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXHALT) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXSEGE) //*----------------------------------------------------------------- //***************************************************************** //* NOTE: Verify the statements indicated by the "<== CHECK" //* have been customized for the local environment. //***************************************************************** //* //* *COMPILE THE PASCAL PROGRAM* //PASCCOMP EXEC PAS12C <=== CHECK: PROC //PASC.SYSLIN DD DSN=your.object.library(PASCCXPP),DISP=OLD <== CHECK //PASC.SYSIN DD DSN=prefix.SAMPLE.ILC(PASCCXPP),DISP=SHR <== CHECK //* //* *COMPILE THE C++ PROGRAM* //SASCC EXEC LCXXC,PARM.X='SN(CPROG),INDEP' <== CHECK: C++ COMPILE PROC //* <== MUST COMPILE WITH INDEP //X.SYSLIN DD DSN=your.object.library(PASCCXPC),DISP=OLD <== CHECK //X.SYSTRIN DD DSN=prefix.SAMPLE.ILC(PASCCXPC),DISP=SHR <== CHECK //* //*****LINK WITH ILCLINK****************** //LINK EXEC PROC=ILCLINK,PARM.LKED='ECHO' <=== CHECK: PROC //LKED.SYSLMOD DD DSN=your.load.library,DISP=OLD <== 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.PASLIB DD DSN=local.pascal.SAMPRUN3,DISP=SHR <== CHECK // DD DSN=local.pascal.SAMPRUN1,DISP=SHR <== CHECK // DD DSN=local.pascal.SAMPMSG1,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=* //LKED.ILCIN DD * FIRST *(VSPASCAL) LANGUAGE VSPASCAL,C PROCESS CLINK AUTOCALL LC370 INCLUDE MYLIBC(PASCCXPC) PROCESS LKED (XREF LIST CALL AUTOCALL PASLIB INCLUDE MYLIBP(PASCCXPP) INCLUDE PASLIB(AMPZMVSB) MODE AMODE(31),RMODE(24) NAME PASCCXPM(R) //* //RUNIT EXEC PGM=PASCCXPM //STEPLIB DD DSN=your.load.library,DISP=SHR <== CHECK // DD DSN=prefix.LINKLIB,DISP=SHR <== CHECK // DD DSN=local.pascal.SAMPRUN4,DISP=SHR <== CHECK // DD DSN=local.pascal.SAMPRUN2,DISP=SHR <== CHECK // DD DSN=local.pascal.SAMPMSG1,DISP=SHR <== CHECK //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSOUT DD SYSOUT=* //OUTPUT DD SYSOUT=* //* //*