Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stephen Linkin Houston Community College 19-Apr-07 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1 OS Tools For The Application Programmer.

Similar presentations


Presentation on theme: "Stephen Linkin Houston Community College 19-Apr-07 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1 OS Tools For The Application Programmer."— Presentation transcript:

1

2 Stephen Linkin Houston Community College 19-Apr-07 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1 OS Tools For The Application Programmer

3 2 Objectives Knowledge objectives Describe the steps of a compile-link-and-go procedure, and list the I/O of each step. Understand differences source code, object modules, and load modules Describe functional differences between the link editor and the loader, and understand when to use a compile-load-and-go procedure. Describe the extra step required in preparing CICS programs for execution. Name the four compile procedures IBM has for programming languages. List commonly used options for COBOL compilers, and explain how to specify them.

4 3 Objectives Given reference material, be able to code the JCL necessary to invoke the COBOL program development catalog procedures, including any DD statements necessary to allocate data sets: a) T he Compile-only Procedure b) T he Compile-and-link Procedure c) T he Compile-link-and-go Procedure

5 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM4 The System Flowcharts COBOL Compile-link-and-go Procedure COBOL Compile-load-and-go Procedure CICS Translate-compile-and-link Procedure

6 5 IBM Procedures Six Programming Languages CompileCompile Compile,Compile Languageonly& linklink & go& go ****************************************************************************************** COBOLIGYWCIGYWCLIGYWCLGIGYWCG VS COBOL IICOB2UCCOB2UCLCOB2UCLGCOB2UCG High Level AssemblerASMACASMACLASMACLGASMACG PL/I IBMZCIBMZCPLIBMZCPLGIBMZCPG VS Fortran 2VSF2CVSF2CLVSF2CLGVSF2CG C EDCCEDCCL(n/a)EDCCBG C++ CBCCCBCCLCBCCLGCBCCBG

7 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM6 Building a PROC Step names for the COBOL procedures DD statements used with cataloged procedures StepVS COBOL IICOBOL for OS/390 CompileCOB2COBOL LinkLKEDLKED GoGOGO StepddnameDescription COB2/COBOLSYSINSource program input for the COBOL compiler. SYSLIBThe copy library or libraries. SYSLINObject module output. LKEDSYSLIBThe subprogram library or libraries. SYSLINObject module input. SYSINAdditional object module input. SYSLMODLoad module output. GOSYSOUTOutput from DISPLAY statements. SYSINInput for ACCEPT statements. SYSDBOUTSymbolic debugging output. SYSUDUMPAbnormal termination (or storage dump) output. SYSABEND

8 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM7 Translator Options for CICS OptionFunction QUOTEUse the ANSI standard quotation mark ("). APOSTUse the apostrophe ('). EDFThe Execution Diagnostic Facility is to apply to the program. EXCIThe translator is to process EXCI commands. FLAGPrint the severity of error messages produced by the translator. LENGTHGenerate a default length if the LENGTH option is omitted from a CICS command. OOCOBOLInstructs the translator to accept object-oriented COBOL syntax. COBOL3Specifies that the translator is to translate programs compiled by COBOL for OS/390.

9 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM8 Compiler Options for – VS COBOL II and COBOL OS/390 CategoryOptionFunction Object moduleOBJECTWrite object module output to SYSLIN. DECKWrite object module output to SYSPUNCH. DelimiterQUOTEUse the ANSI standard quotation mark ("). APOSTUse the apostrophe ('). Source libraryLIBAllow Copy statements. Compiler listingSOURCEPrint source listing. OFFSETPrint offset of each Procedure Division verb. LISTPrint assembler listing of object module. MAPPrint offset of each Data Division field. XREFPrint sorted cross reference of data and procedure names. TestingTESTAllow interactive debugging. FDUMPProvide formatted dump at abend.

10 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM9 Procedure Samples An IBM compile-only proc for COBOL JCL to invoke this procedure //IGYWC PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200 //* COMPILE A COBOL PROGRAM //* CALLER MUST SUPPLY //COBOL.SYSIN DD... //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //STEP1 EXEC PROC=IGYWC,PARM.COBOL='APOST,OBJECT' //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //COBOL.SYSLIN DD DSN=MM01.PAYROLL.OBJLIB(PAY4000),DISP=SHR

11 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM10 Procedure Samples (2) IBM compile-and-link procedure for COBOL JCL to invoke this procedure //IGYWCL PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200, // LIBPRFX='SYS1.CEE', // PGMLIB='&&GOSET',GOPGM=GO //* COMPILE AND LINK EDIT A COBOL PROGRAM //* CALLER MUST SUPPLY //COBOL.SYSIN DD... //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DSNAME=&PGMLIB(&GOPGM), // SPACE=(TRK,(10,10,1)), // UNIT=SYSDA,DISP=(MOD,PASS) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10)) //MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //STEP1 EXEC PROC=IGYWCL,PARM.COBOL='APOST,OBJECT' //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //*-------------------------------------------------------------* //LKED.SYSLMOD DD DSN=MM01.PAYROLL.LOADLIB(PAY4000),DISP=SHR //LKED.SYSLIB DD // DD DSN=MM01.PAYROLL.OBJLIB,DISP=SHR

12 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM11 Procedure Samples (3) Compile-link-and-go procedure for COBOL JCL invoking the compile-link-and-go procedure //IGYWCLG PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200, // LIBPRFX='SYS1.CEE',GOPGM=GO //* COMPILE, LINK EDIT AND RUN A COBOL PROGRAM //* CALLER MUST SUPPLY //COBOL.SYSIN DD... //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DSNAME=&&GOSET(&GOPGM),SPACE=(TRK,(10,10,1)), // UNIT=SYSDA,DISP=(MOD,PASS) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10)) //GO EXEC PGM=*.LKED.SYSLMOD,COND=((8,LT,COBOL),(4,LT,LKED)), // REGION=2048K //STEPLIB DD DSNAME=&LIBPRFX..SCEERUN, // DISP=SHR //SYSPRINT DD SYSOUT=* //CEEDUMP DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //STEP1 EXEC PROC=IGYWCLG,PARM.COBOL='APOST,OBJECT' //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //*-------------------------------------------------------------* //LKED.SYSLMOD DD DSN=MM01.PAYROLL.LOADLIB(PAY4000),DISP=SHR //LKED.SYSLIB DD // DD DSN=MM01.PAYROLL.OBJLIB,DISP=SHR //*-------------------------------------------------------------* //GO.SYSOUT DD SYSOUT=A //GO.PAYTRAN DD DSN=MM01.PAYROLL.TRANS,DISP=SHR //GO.PAYRPT DD SYSOUT=A

13 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM12 Procedure Samples (4) IBM translate-compile-and-link for CICS/COBOL JCL invoking the translate-compile-and-link proc for CICS/COBOL //DFHYITVL PROC SUFFIX=1$, /* Suffix for translator module // INDEX='CICSTS13.CICS', /* Qualifier(s) CICS libraries // PROGLIB='CICSTS13.CICS.SDFHLOAD', /* Name of o/p library // DSCTLIB='CICSTS13.CICS.SDFHCOB', /* Private macro/dsect // AD370HLQ='SYS1', /* Qualifier(s) AD/Cycle compiler // LE370HLQ='SYS1', /* Qualifier(s) LE/370 libraries // OUTC=A, /* Class for print output // REG=4M, /* Region size for all steps // LNKPARM='LIST,XREF', /* Link edit parameters // STUB='DFHEILID', /* Lked INC. fr DFHELII // LIB='SDFHC370', /* Library // WORK=SYSDA /* Unit for work datasets //TRN EXEC PGM=DFHECP&SUFFIX,PARM='COBOL3',REGION=&REG //STEPLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR //SYSPRINT DD SYSOUT=&OUTC //SYSPUNCH DD DSN=&&SYSCIN,DISP=(,PASS), // UNIT=&WORK,DCB=BLKSIZE=400, // SPACE=(400,(400,100)) (CLICK TO CONTINUE) (CLICK TO CONTINUE) //COB EXEC PGM=IGYCRCTL,REGION=&REG, // PARM='NODYNAM,LIB,OBJECT,RENT,RES,APOST,MAP,XREF' //STEPLIB DD DSN=&AD370HLQ..SIGYCOMP,DISP=SHR //SYSLIB DD DSN=&DSCTLIB,DISP=SHR // DD DSN=&INDEX..SDFHCOB,DISP=SHR // DD DSN=&INDEX..SDFHMAC,DISP=SHR // DD DSN=&INDEX..SDFHSAMP,DISP=SHR //SYSPRINT DD SYSOUT=&OUTC //SYSIN DD DSN=&&SYSCIN,DISP=(OLD,DELETE) //SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS), // UNIT=&WORK,SPACE=(80,(250,100)).. //LKED EXEC PGM=IEWL,REGION=&REG, // PARM='&LNKPARM',COND=(5,LT,COB) //SYSLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR // DD DSN=&LE370HLQ..SCEELKED,DISP=SHR.. //SYSLIN DD DSN=&&COPYLINK,DISP=(OLD,DELETE) // DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //MM01CMPL JOB (36512),'R.MENENDEZ',NOTIFY=MM01 //CICSCMP EXEC DFHYITVL, // PROGLIB='MM01.CICS.LOADLIB' //TRN.SYSIN DD DSN=MM01.CICS.SOURCE(CUSTMNT1),DISP=SHR //COB.SYSLIB DD // DD DSN=MM01.CICS.COPYLIB,DISP=SHR //LKED.SYSLIB DD // DD DSN=MM01.CICS.OBJLIB.DISP=SHR //LKED.SYSIN DD * NAME CUSTMNT1(R) /*

14 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM13 End Presentation


Download ppt "Stephen Linkin Houston Community College 19-Apr-07 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1 OS Tools For The Application Programmer."

Similar presentations


Ads by Google