//CXPASCPM JOBCARD INFORMATION //* //*------------------------------------------------------------------ //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* NAME: CXPASCPM //* LANGUAGE: JCL //* PURPOSE: THIS EXAMPLE DEMONSTRATES A PASCAL PROGRAM CALLING //* A C++ FUNCTION, PASSING A PARAMETER LIST. //* IT CONSISTS OF SAMPLE LIBRARY MEMBERS //* CXPASCPC, CXPASCPP, AND CXPASCPM. //* THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES. //* MISC NOTES: THE FOLLOWING LSCL1028 MESSAGES CAN BE IGNORED: //* THE FILE "SYSLIB(AMPXRETC)" COULD NOT BE OPENED FOR AUTOCALL. //* THE FILE "SYSLIB(AMPXHALT)" COULD NOT BE OPENED FOR AUTOCALL. //* THE FILE "SYSLIB(AMPXSEGE)" COULD NOT BE OPENED FOR AUTOCALL. //* THE FILE "SYSLIB(AMPXSTRT)" COULD NOT BE OPENED FOR AUTOCALL. //* THE FILE "SYSLIB(AMPXPARM)" COULD NOT BE OPENED FOR AUTOCALL. //* THE FILE "SYSLIB(PASCPROC)" COULD NOT BE OPENED FOR AUTOCALL. //*----------------------------------------------------------------- //***************************************************************** //* 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(CXPASCPP),DISP=OLD <== CHECK //PASC.SYSIN DD DSN=prefix.SAMPLE.ILC(CXPASCPP),DISP=SHR <== CHECK //* //* *COMPILE THE C PROGRAM* //SASCC EXEC LCXXC,PARM.X='SN(CMAIN)' <== CHECK: PROC FOR COMPILING C++ //X.SYSLIN DD DSN=your.object.library(CXPASCPC),DISP=OLD <== CHECK //X.SYSTRIN DD DSN=prefix.SAMPLE.ILC(CXPASCPC),DISP=SHR <== CHECK //* //*****LINK WITH ILCLINK****************** //LINK EXEC PROC=ILCLINK,PARM.LKED='ECHO' <=== 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.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 MAIN(C) LANGUAGE VSPASCAL,C PROCESS CLINK AUTOCALL LC370 INCLUDE MYLIBC(CXPASCPC) PROCESS LKED (XREF LIST CALL AUTOCALL PASLIB INCLUDE MYLIBP(CXPASCPP) INCLUDE PASLIB(AMPZMVSB) NAME CXPASCPM(R) //* //RUNIT EXEC PGM=CXPASCPM //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=* //* //*