//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=*
//*

//*