//COBOLJCL JOBCARD INFORMATION //*--------------------------------------------------------------- //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* //* NAME: COBOLJCL //* LANGUAGE: JCL //* PURPOSE: This job will compile a COBOL routine, a C function, //* and a C main. it then links them together, and //* executes it. It uses the prefix.ILC members COB1A, //* COB1B, and COB1C. //* MISC NOTES: THIS IS A NON-ILC EXAMPLE. Verify the proc //* names and dataset names where indicated by the //* " <=== VERIFY ". //*------------------------------------------------------------------- //* //*------------------------------------------------------------------- //* Compile COBOL function, and save object //*------------------------------------------------------------------- //* //CCOBOL EXEC COB2UC,PARM='NODYNAM' <=== VERIFY //COB2.SYSLIN DD DSN=your.object.library(COB1B),DISP=OLD <=== VERIFY //COB2.SYSIN DD DSN=prefix.SAMPLE.ILC(COB1B),DISP=SHR <=== VERIFY //* //*------------------------------------------------------------------- //* Compile C function, and save object //*------------------------------------------------------------------- //* //CCFUNC EXEC LC370C,PARM.C='INDEP' <=== VERIFY //* <=== MUST COMPILE WITH INDEP OPTION //C.SYSLIN DD DSN=your.object.library(COB1C),DISP=OLD <=== VERIFY //C.SYSIN DD DSN=prefix.SAMPLE.ILC(COB1C),DISP=SHR <=== VERIFY //* //*------------------------------------------------------------------- //* Compile C main, then link the complete program. //* NOTES: //* (1) The COBOL library is in load module form, we must use the //* C load-moduel-format library, instead of the default object- //* module-format-library. The librarys COB1A, COB1B, and COB1C //* are in object form. We will use explicit INCLUDES to //* include them. //* (2) The entry point must also be changed to point to the C //* entry (since in this case c is the main) //*------------------------------------------------------------------- //* //CCMAIN EXEC LC370CL,PARM.C='INDEP', <=== VERIFY //* <=== MUST COMPILE WITH INDEP OPTION // PARM.LKED='AMODE(24),RMODE(24)' //C.SYSLIN DD DSN=your.object.library(COB1A),DISP=OLD <=== VERIFY //C.SYSIN DD DSN=prefix.SAMPLE.ILC(COB1A),DISP=SHR <=== VERIFY //* //*LINK EXEC LC370L,PARM.LKED='AMODE(24),RMODE(24)' <=== VERIFY //LKED.SYSLIB DD DSN=prefix.BASELIB,DISP=SHR <=== VERIFY // DD DSN=prefix.STDLIB,DISP=SHR <=== VERIFY // DD DSN=local.cobol2.COB2LIB,DISP=SHR <=== VERIFY //LKED.SYSLMOD DD DSN=your.load.library(CCOBOL),DISP=OLD <=== VERIFY //LKED.USERLIB DD DSN=your.object.library,DISP=SHR <=== VERIFY //LKED.SYSIN DD * INCLUDE USERLIB(COB1A) INCLUDE USERLIB(COB1B) INCLUDE USERLIB(COB1C) ENTRY @MAIN /* //********************************************************************* //* RUN THE LOAD library. * //********************************************************************* //RUNIT EXEC PGM=CCOBOL //STEPLIB DD DSN=your.load.library,DISP=SHR <=== VERIFY // DD DSN=prefix.LINKLIB,DISP=SHR <=== VERIFY // DD DSN=local.cobol2.COB2LIB,DISP=SHR <=== VERIFY //SYSPRINT DD SYSOUT=A //SYSTERM DD SYSOUT=A //SYSOUT DD SYSOUT=A //