//CXX2PLI JOBCARD INFORMATION
//*-----------------------------------------------------------------
//*                COPYRIGHT (C) 1995, SAS INSTITUTE INC.
//*                  UNPUBLISHED - ALL RIGHTS RESERVED
//*                    S A S / C   S A M P L E
//*
//*       NAME: CXX2PLI
//*   LANGUAGE: JCL
//*    PURPOSE: THIS EXAMPLE DEMONSTRATES A C++ MAIN CALLING A
//*             PLI ROUTINE, WHICH TAKES A PARAMETER LIST.
//*             IT CONSISTS OF SAMPLE LIBRARY MEMBERS
//*             CXX2PLIC, CXX2PLIP, AND CXX2PLI
//*             THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES.
//*  MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED:
//*  LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRA)
//*  LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRB)
//*  LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRC)
//*  LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPRCA)
//*  LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(PLISTART)
//*  LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(WRITER)
//*-----------------------------------------------------------------
//*****************************************************************
//*  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(CXX2PLIP),DISP=OLD     <== CHECK
//SYSIN  DD DSN=prefix.SAMPLE.ILC(CXX2PLIP),DISP=SHR       <== CHECK
//*
//**********************************************
//*
//* C++ COMPILE
//*
//CCOMP EXEC LCXXC,PARM.X='SN(CXXMAIN),NORENT'   <===  CHECK: PROC
//X.SYSLIN  DD DSN=your.object.library(CXX2PLIC),DISP=OLD  <== CHECK
//X.SYSTRIN DD DSN=prefix.SAMPLE.ILC(CXX2PLIC),DISP=SHR    <== CHECK
//*
//**********************************************
//*
//* ILC LINKSTEPS
//*
//ILCLINK EXEC ILCLINK,PARM.LKED='NOTERM'       <===  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.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 MAIN(C)
 LANGUAGE C,PLI
 PROCESS CLINK PREM
    AUTOCALL LC370
    INCLUDE MYLIBC(CXX2PLIC)
 PROCESS LKED XREF,LIST,AMODE=24,RMODE=24
    AUTOCALL PLILIB
    INCLUDE MYLIBP(CXX2PLIP)
 NAME CXX2PLI(R)
//*
//**********************************************
//*
//* RUN THE PROGRAM
//*
//GO EXEC PGM=CXX2PLI
//STEPLIB DD 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=*
//SYSOUT   DD SYSOUT=*
//*
//
//*