//COBOL2C JOBCARD INFORMATION //* //*------------------------------------------------------------------ //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* NAME: COBOL2C //* LANGUAGE: JCL //* PURPOSE: THIS EXAMPLE DEMONSTRATES CALLING C FUNCTIONS //* FROM COBOL, WHICH THEN CALL OTHER C FUNCTIONS. //* IT CONSISTS OF SAMPLE LIBRARY MEMBERS //* COB2CC1, COB2CC2, COB2CCO, AND COBOL2C. //* 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(COB2CCO),DISP=OLD <== CHECK //COB2.SYSIN DD DSN=sasc.SAMPLE.ILC(COB2CCO),DISP=SHR <== CHECK //* //********************************** //** COMPILE THE C PROGRAM ** //********************************** //* //COMPILE EXEC LC370C, <== CHECK: PROC FOR COMPILING C //* <== MUST COMPILE WITH INDEP // PARM.C='INDEP SNAME(CPROG) EXTNAME' //C.SYSLIN DD DSN=your.object.library(COB2CC1),DISP=OLD <== CHECK //C.SYSIN DD DSN=sasc.SAMPLE.ILC(COB2CC1),DISP=SHR <== CHECK //* //**************************************** //** COMPILE THE EXTENDED NAME FUNCTION * //**************************************** //* //COMPILE EXEC LC370C, <== CHECK: PROC FOR COMPILING C ', // PARM.C='SNAME(EXTFUNC) EXTNAME' ', //C.SYSLIN DD DSN=your.object.library(COB2CC2),DISP=OLD <== CHECK //C.SYSIN DD DSN=sasc.SAMPLE.ILC(COB2CC2),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 //* CHANGE THIS TO THE NON-COBOL2 LIBRARY IF NOT COBOL2 //LKED.COBLKD DD DSN=local.cobol.COB2LIB,DISP=SHR <== CHECK //* //* CHANGE "COBOL2" TO "COBOL" FOR NON-COBOL2 IN THE //* FIRST AND LANGUAGE STATEMENT BELOW //LKED.ILCIN DD * FIRST COBMAIN(COBOL2) LANGUAGE COBOL2,C PROCESS CLINK AUTOCALL CLIBS INCLUDE COBJ(COB2CC1) INCLUDE COBJ(COB2CC2) PROCESS LKED LIST,MAP,XREF AUTOCALL COBLKD INCLUDE COBOBJ(COB2CCO) ENTRY COBMAIN NAME COBOL2C(R) /* //* //********************************** //** RUN PROGRAM ** //********************************** //* //GO EXEC PGM=COBOL2C //STEPLIB DD DSN=your.load.library,DISP=SHR <== CHECK // DD DSN=prefix.LINKLIB,DISP=SHR <== CHECK //* //* CHANGE THIS TO THE NON-COBOL2 LIBRARY IF NOT COBOL2 // DD DSN=local.cobol.COB2LIB,DISP=SHR <== CHECK //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSOUT DD SYSOUT=* //* //