//COBOLCXX  JOBCARD INFORMATION
//*-------------------------------------------------------------------
//*                COPYRIGHT (C) 1995, SAS INSTITUTE INC.
//*                  UNPUBLISHED - ALL RIGHTS RESERVED
//*                     S A S / C   S A M P L E
//*
//*        NAME: COBOLCXX
//*    LANGUAGE: JCL
//*     PURPOSE: THIS EXAMPLE DEMONSTRATES CALLING C++ FUNCTIONS
//*              FROM COBOL, WHICH THEN CALL OTHER C++ FUNCTIONS.
//*              IT CONSISTS OF SAMPLE LIBRARY MEMBERS
//*              COBCXXC, COBCXXCO, AND COBOLCXX.
//*              THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES.
//*  MISC NOTES: THE FOLLOWING LSCL102 MESSAGE CAN BE IGNORED:
//*              CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(IGZEBST)
//*---------------------------------------------------------------
//*****************************************************************
//*  NOTE: Verify the statements indicated by the "<== CHECK"
//*   have been customized for the local environment.
//*****************************************************************
//**********************************
//**  COMPILE THE COBOL PROGRAM   **
//**********************************
//*
//CCOB        EXEC COB2UC,     <== CHECK: PROC FOR COMPILING COBOL2
//            PARM.COB2='APOST RESIDENT'
//COB2.SYSLIN DD DSN=your.object.library(COBCXXCO),DISP=OLD <== CHECK
//COB2.SYSIN  DD DSN=prefix.SAMPLE.ILC(COBCXXCO),DISP=SHR <== CHECK
//*
//**********************************
//**  COMPILE THE C++ PROGRAM     **
//**********************************
//CCXX  EXEC LCXXC,PARM.X='INDEP,SN(COBCXXC)'   <== CHECK: C++ PROC
//*                                     <== MUST COMPILE WITH INDEP
//X.SYSLIN   DD DSN=your.object.lbirary(COBCXXC),DISP=OLD <== CHECK
//X.SYSTRIN  DD DSN=prefix.SAMPLE.ILC(COBCXXC),DISP=SHR   <== CHECK
//*
//****************************************
//**  LINK COBOL AND C++ PROGRAMS       **
//****************************************
//*
//ILCLINK EXEC ILCLINK,             <== CHECK: ILC LINK PROC
//        PARM.LKED='NOTERM ECHO'
//LKED.SYSLMOD DD DSN=your.load.library,DISP=OLD           <== CHECK
//LKED.COBJ    DD DSN=your.object.library,DISP=SHR         <== CHECK
//LKED.COBOBJ  DD DSN=your.object.library,DISP=SHR         <== CHECK
//LKED.CLIBS   DD DSN=prefix.BASEOBJ,DISP=SHR              <== CHECK
//             DD DSN=prefix.STDOBJ,DISP=SHR               <== CHECK
//LKED.SYSARLIB DD DSN=prefix.A,DISP=SHR                   <== CHECK
//*
//LKED.COBLKD  DD DSN=local.cobol.COB2LIB,DISP=SHR         <== CHECK
//*
//* CHANGE "COBOL2" TO "COBOL" IN THE FIRST AND LANGUAGE
//*         STATEMENTS BELOW IF YOU ARE NOT USING COBOL2
//LKED.ILCIN DD *
   FIRST COBMAINC(COBOL2)
   LANGUAGE COBOL2,C
   PROCESS CLINK
   AUTOCALL CLIBS
   INCLUDE COBJ(COBCXXC)
   PROCESS LKED LIST RENT MAP
   AUTOCALL COBLKD
   INCLUDE COBOBJ(COBCXXCO)
   ENTRY COBMAINC
   NAME COBCXX(R)
/*
//*
//**********************************
//**  RUN PROGRAM                 **
//**********************************
//*
//GO EXEC PGM=COBCXX
//STEPLIB DD DSN=your.load.library,DISP=SHR               <== CHECK
//        DD DSN=local.cobol.COB2LIB,DISP=SHR             <== CHECK
//        DD DSN=prefix.LINKLIB,DISP=SHR                  <== CHECK
//SYSPRINT DD SYSOUT=*
//SYSTERM DD SYSOUT=*
//SYSOUT  DD SYSOUT=*
//*
//