Top Banner
19-Apr-07 © 2002 - Mike Murach & Associ ates, 2007 - HCC, IB M 1 Stephen Linkin Houston Community College OS Tools For The OS Tools For The Application Programmer Application Programmer
13

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

Dec 15, 2015

Download

Documents

Camron Keaton
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Stephen Linkin Houston Community College 19-Apr-07 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1 OS Tools For The Application Programmer.

19-Apr-07

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1

Stephen LinkinHouston Community College

OS Tools For The OS Tools For The Application ProgrammerApplication Programmer

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

2

ObjectivesObjectives

Knowledge objectivesKnowledge objectives Describe the steps of a compile-link-and-go procedure, and list Describe the steps of a compile-link-and-go procedure, and list

the I/O of each step.the I/O of each step. Understand differences source code, object modules, and load Understand differences source code, object modules, and load

modulesmodules Describe functional differences between the link editor and the Describe functional differences between the link editor and the

loader, and understand when to use a loader, and understand when to use a compile-load-and-go procedure.compile-load-and-go procedure.

Describe the extra step required in preparing Describe the extra step required in preparing CICS programs for execution.CICS programs for execution.

Name the four compile procedures IBM has Name the four compile procedures IBM has for programming languages.for programming languages.

List commonly used options for COBOL List commonly used options for COBOL compilers, and explain how to specify compilers, and explain how to specify them .them .

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

3

ObjectivesObjectives

Given reference material, be able to code the JCL Given reference material, be able to code the JCL necessary to invoke the COBOL program necessary to invoke the COBOL program development catalog procedures, includingdevelopment catalog procedures, includingany DD statements necessary to allocate data any DD statements necessary to allocate data sets:sets:a)a) The Compile-only ProcedureThe Compile-only Procedure

b)b) The Compile-and-link ProcedureThe Compile-and-link Procedure

c)c) The Compile-link-and-go ProcedureThe Compile-link-and-go Procedure

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

4

The System Flowcharts The System Flowcharts

COBOL COBOL Compile-link-and-go Compile-link-and-go Procedure Procedure

COBOL COBOL Compile-load-and-go Compile-load-and-go ProcedureProcedure

CICS CICS Translate-compile-and-link Translate-compile-and-link ProcedureProcedure

Source program

COBOL compiler

Object module

Linkage editor

Load module

Applicationprogram

Compiler output

Linkage editor output

Application output

Source programCopy libraries

Source programObject libraries

Source programData sets

Source program

COBOL compiler

Object module

Loader

Compiler output

Loader output

Application output

Source programCopy libraries

Source programObject libraries

Source programData sets

Source program

CICS translator

Translated program

COBOL compiler

Object module

Linkage editor

Compiler output

Linkage editoroutput

Source programCopy libraries

Source programObject libraries

Load module

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

5

IBM Procedures IBM Procedures

Six Programming LanguagesSix Programming Languages

CompileCompile Compile Compile Compile,Compile, CompileCompileLanguageLanguage onlyonly & link& link link & golink & go & go& go************************************************************************************************************************************************************************************COBOLCOBOL IGYWIGYWCC IGYWIGYWCLCL IGYWIGYWCLGCLG IGYWIGYWCGCG

VS VS COBOL IICOBOL II COB2UCOB2UCC COB2UCOB2UCLCL COB2UCOB2UCLGCLG COB2UCOB2UCGCGHigh Level High Level AssemblerAssembler ASMAASMACC ASMAASMACLCL ASMAASMACLGCLG ASMAASMACGCGPL/I PL/I IBMZIBMZCC IBMZIBMZCPLCPL IBMZIBMZCPLGCPLG IBMZIBMZCPGCPGVS Fortran 2VS Fortran 2 VSF2VSF2CC VSF2VSF2CLCL VSF2VSF2CLGCLG VSF2VSF2CGCGC C EDCEDCCC EDCEDCCLCL (n/a)(n/a) EDCEDCCBGCBGC++C++ CBCCBCCC CBCCBCCLCL CBCCBCCLGCLG CBCCBCCBGCBG

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

6

Building a PROCBuilding a PROC

Step names for the COBOL proceduresStep names for the COBOL procedures

DD statements used with cataloged proceduresDD statements used with cataloged procedures

StepStep VS COBOL IIVS COBOL II COBOL for OS/390COBOL for OS/390CompileCompile COB2COB2 COBOLCOBOLLinkLink LKEDLKED LKEDLKEDGoGo GOGO GOGO

StepStep ddnameddname DescriptionDescriptionCOB2/COBOLCOB2/COBOL SYSINSYSIN Source program input for the COBOL compiler.Source program input for the COBOL compiler.

SYSLIBSYSLIB The copy library or libraries.The copy library or libraries.SYSLINSYSLIN Object module output.Object module output.

LKEDLKED SYSLIBSYSLIB The subprogram library or libraries.The subprogram library or libraries.SYSLINSYSLIN Object module input.Object module input.SYSINSYSIN Additional object module input.Additional object module input.SYSLMODSYSLMOD Load module output.Load module output.

GOGO SYSOUTSYSOUT Output from DISPLAY statements.Output from DISPLAY statements.SYSINSYSIN Input for ACCEPT statements.Input for ACCEPT statements.SYSDBOUTSYSDBOUT Symbolic debugging output.Symbolic debugging output.SYSUDUMPSYSUDUMP Abnormal termination (or storage dump) output.Abnormal termination (or storage dump) output.SYSABENDSYSABEND

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

7

Translator Options for CICSTranslator Options for CICS

OptionOption FunctionFunctionQUOTEQUOTE Use the ANSI standard quotation mark (").Use the ANSI standard quotation mark (").APOSTAPOST Use the apostrophe (').Use the apostrophe (').EDFEDF The Execution Diagnostic Facility is to apply to the program.The Execution Diagnostic Facility is to apply to the program.EXCIEXCI The translator is to process EXCI commands.The translator is to process EXCI commands.FLAGFLAG Print the severity of error messages produced by thePrint the severity of error messages produced by the

translator.translator.LENGTHLENGTH Generate a default length if the LENGTH option is omitted Generate a default length if the LENGTH option is omitted

from a CICS command.from a CICS command.OOCOBOLOOCOBOL Instructs the translator to accept object-oriented COBOL Instructs the translator to accept object-oriented COBOL

syntax.syntax.COBOL3COBOL3 Specifies that the translator is to translate programs Specifies that the translator is to translate programs

compiled by COBOL for OS/390.compiled by COBOL for OS/390.

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

8

Compiler Options for –Compiler Options for –VS COBOL II and COBOL OS/390VS COBOL II and COBOL OS/390

CategoryCategory OptionOption FunctionFunctionObject moduleObject module OBJECTOBJECT Write object module output to Write object module output to

SYSLIN.SYSLIN.DECKDECK Write object module output to Write object module output to

SYSPUNCH.SYSPUNCH.DelimiterDelimiter QUOTEQUOTE Use the ANSI standard quotation Use the ANSI standard quotation

mark (").mark (").APOSTAPOST Use the apostrophe (').Use the apostrophe (').

Source librarySource library LIBLIB Allow Copy statements.Allow Copy statements.Compiler listingCompiler listing SOURCESOURCE Print source listing.Print source listing.

OFFSETOFFSET Print offset of each Procedure Print offset of each Procedure Division verb.Division verb.

LISTLIST Print assembler listing of object Print assembler listing of object module.module.

MAPMAP Print offset of each Data Division Print offset of each Data Division field.field.

XREFXREF Print sorted cross reference of data Print sorted cross reference of data and procedure names.and procedure names.

TestingTesting TESTTEST Allow interactive debugging.Allow interactive debugging.FDUMPFDUMP Provide formatted dump at abend.Provide formatted dump at abend.

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

9

Procedure SamplesProcedure Samples

An IBM compile-only proc for COBOLAn IBM compile-only proc for COBOL JCL to invoke this procedureJCL to invoke this procedure//IGYWC PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200 //IGYWC PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200

//* COMPILE A COBOL PROGRAM //* COMPILE A COBOL PROGRAM //* CALLER MUST SUPPLY //COBOL.SYSIN DD ...//* CALLER MUST SUPPLY //COBOL.SYSIN DD ...//* //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1))

//MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //STEP1 EXEC PROC=IGYWC,PARM.COBOL='APOST,OBJECT' //STEP1 EXEC PROC=IGYWC,PARM.COBOL='APOST,OBJECT' //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //COBOL.SYSLIN DD DSN=MM01.PAYROLL.OBJLIB(PAY4000),DISP=SHR//COBOL.SYSLIN DD DSN=MM01.PAYROLL.OBJLIB(PAY4000),DISP=SHR

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

10

Procedure Samples (2)Procedure Samples (2)

IBM compile-and-link procedure for COBOLIBM compile-and-link procedure for COBOL JCL to invoke this procedureJCL to invoke this procedure

//IGYWCL PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200, //IGYWCL PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200, // LIBPRFX='SYS1.CEE', // LIBPRFX='SYS1.CEE', // PGMLIB='&&GOSET',GOPGM=GO // PGMLIB='&&GOSET',GOPGM=GO //* COMPILE AND LINK EDIT A COBOL PROGRAM //* COMPILE AND LINK EDIT A COBOL PROGRAM //* CALLER MUST SUPPLY //COBOL.SYSIN DD ... //* CALLER MUST SUPPLY //COBOL.SYSIN DD ... //* //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 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 //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, // DISP=SHR // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN // DD DDNAME=SYSIN //SYSLMOD DD DSNAME=&PGMLIB(&GOPGM), //SYSLMOD DD DSNAME=&PGMLIB(&GOPGM), // SPACE=(TRK,(10,10,1)), // SPACE=(TRK,(10,10,1)), // UNIT=SYSDA,DISP=(MOD,PASS) // UNIT=SYSDA,DISP=(MOD,PASS) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10)) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10))

//MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //STEP1 EXEC PROC=IGYWCL,PARM.COBOL='APOST,OBJECT' //STEP1 EXEC PROC=IGYWCL,PARM.COBOL='APOST,OBJECT' //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //*-------------------------------------------------------------*//*-------------------------------------------------------------*//LKED.SYSLMOD DD DSN=MM01.PAYROLL.LOADLIB(PAY4000),DISP=SHR //LKED.SYSLMOD DD DSN=MM01.PAYROLL.LOADLIB(PAY4000),DISP=SHR //LKED.SYSLIB DD //LKED.SYSLIB DD // DD DSN=MM01.PAYROLL.OBJLIB,DISP=SHR // DD DSN=MM01.PAYROLL.OBJLIB,DISP=SHR

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

11

Procedure Samples (3)Procedure Samples (3)

Compile-link-and-go procedure for COBOLCompile-link-and-go procedure for COBOL JCL invoking the compile-link-and-go procedureJCL invoking the compile-link-and-go procedure

//IGYWCLG PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200, //IGYWCLG PROC LNGPRFX='SYS1.IGY',SYSLBLK=3200, // LIBPRFX='SYS1.CEE',GOPGM=GO // LIBPRFX='SYS1.CEE',GOPGM=GO //* COMPILE, LINK EDIT AND RUN A COBOL PROGRAM //* COMPILE, LINK EDIT AND RUN A COBOL PROGRAM //* CALLER MUST SUPPLY //COBOL.SYSIN DD ... //* CALLER MUST SUPPLY //COBOL.SYSIN DD ... //* //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 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 //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, // DISP=SHR // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN // DD DDNAME=SYSIN //SYSLMOD DD DSNAME=&&GOSET(&GOPGM),SPACE=(TRK,(10,10,1)), //SYSLMOD DD DSNAME=&&GOSET(&GOPGM),SPACE=(TRK,(10,10,1)), // UNIT=SYSDA,DISP=(MOD,PASS) // UNIT=SYSDA,DISP=(MOD,PASS) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10)) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10)) //GO EXEC PGM=*.LKED.SYSLMOD,COND=((8,LT,COBOL),(4,LT,LKED)), //GO EXEC PGM=*.LKED.SYSLMOD,COND=((8,LT,COBOL),(4,LT,LKED)), // REGION=2048K // REGION=2048K //STEPLIB DD DSNAME=&LIBPRFX..SCEERUN, //STEPLIB DD DSNAME=&LIBPRFX..SCEERUN, // DISP=SHR // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //CEEDUMP DD SYSOUT=* //CEEDUMP DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSUDUMP DD SYSOUT=*

//MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //MM01CL JOB (36512),'R MENENDEZ',NOTIFY=MM01 //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //JOBPROC JCLLIB ORDER=SYS1.IGY.SIGYPROC //STEP1 EXEC PROC=IGYWCLG,PARM.COBOL='APOST,OBJECT' //STEP1 EXEC PROC=IGYWCLG,PARM.COBOL='APOST,OBJECT' //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSIN DD DSN=MM01.PAYROLL.SOURCE(PAY4000),DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //COBOL.SYSLIB DD DSN=MM01.PAYROLL.COPYLIB,DISP=SHR //*-------------------------------------------------------------*//*-------------------------------------------------------------*//LKED.SYSLMOD DD DSN=MM01.PAYROLL.LOADLIB(PAY4000),DISP=SHR //LKED.SYSLMOD DD DSN=MM01.PAYROLL.LOADLIB(PAY4000),DISP=SHR //LKED.SYSLIB DD //LKED.SYSLIB DD // DD DSN=MM01.PAYROLL.OBJLIB,DISP=SHR // DD DSN=MM01.PAYROLL.OBJLIB,DISP=SHR //*-------------------------------------------------------------*//*-------------------------------------------------------------*//GO.SYSOUT DD SYSOUT=A//GO.SYSOUT DD SYSOUT=A//GO.PAYTRAN DD DSN=MM01.PAYROLL.TRANS,DISP=SHR//GO.PAYTRAN DD DSN=MM01.PAYROLL.TRANS,DISP=SHR//GO.PAYRPT DD SYSOUT=A//GO.PAYRPT DD SYSOUT=A

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

12

Procedure Samples (4)Procedure Samples (4)

IBM translate-compile-and-link for CICS/COBOL IBM translate-compile-and-link for CICS/COBOL JCL invoking the translate-compile-and-link proc JCL invoking the translate-compile-and-link proc

for CICS/COBOL for CICS/COBOL

//DFHYITVL PROC SUFFIX=1$, /* Suffix for translator module //DFHYITVL PROC SUFFIX=1$, /* Suffix for translator module // INDEX='CICSTS13.CICS', /* Qualifier(s) CICS libraries // INDEX='CICSTS13.CICS', /* Qualifier(s) CICS libraries // PROGLIB='CICSTS13.CICS.SDFHLOAD', /* Name of o/p library // PROGLIB='CICSTS13.CICS.SDFHLOAD', /* Name of o/p library // DSCTLIB='CICSTS13.CICS.SDFHCOB', /* Private macro/dsect // DSCTLIB='CICSTS13.CICS.SDFHCOB', /* Private macro/dsect // AD370HLQ='SYS1', /* Qualifier(s) AD/Cycle compiler // AD370HLQ='SYS1', /* Qualifier(s) AD/Cycle compiler // LE370HLQ='SYS1', /* Qualifier(s) LE/370 libraries // LE370HLQ='SYS1', /* Qualifier(s) LE/370 libraries // OUTC=A, /* Class for print output // OUTC=A, /* Class for print output // REG=4M, /* Region size for all steps // REG=4M, /* Region size for all steps // LNKPARM='LIST,XREF', /* Link edit parameters // LNKPARM='LIST,XREF', /* Link edit parameters // STUB='DFHEILID', /* Lked INC. fr DFHELII // STUB='DFHEILID', /* Lked INC. fr DFHELII // LIB='SDFHC370', /* Library // LIB='SDFHC370', /* Library // WORK=SYSDA /* Unit for work datasets // WORK=SYSDA /* Unit for work datasets //TRN EXEC PGM=DFHECP&SUFFIX,PARM='COBOL3',REGION=&REG //TRN EXEC PGM=DFHECP&SUFFIX,PARM='COBOL3',REGION=&REG //STEPLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR //STEPLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR //SYSPRINT DD SYSOUT=&OUTC //SYSPRINT DD SYSOUT=&OUTC //SYSPUNCH DD DSN=&&SYSCIN,DISP=(,PASS), //SYSPUNCH DD DSN=&&SYSCIN,DISP=(,PASS), // UNIT=&WORK,DCB=BLKSIZE=400,// UNIT=&WORK,DCB=BLKSIZE=400,// SPACE=(400,(400,100)) // SPACE=(400,(400,100))

(CLICK TO CONTINUE)(CLICK TO CONTINUE)

//COB EXEC PGM=IGYCRCTL,REGION=&REG, //COB EXEC PGM=IGYCRCTL,REGION=&REG, // PARM='NODYNAM,LIB,OBJECT,RENT,RES,APOST,MAP,XREF' // PARM='NODYNAM,LIB,OBJECT,RENT,RES,APOST,MAP,XREF' //STEPLIB DD DSN=&AD370HLQ..SIGYCOMP,DISP=SHR //STEPLIB DD DSN=&AD370HLQ..SIGYCOMP,DISP=SHR //SYSLIB DD DSN=&DSCTLIB,DISP=SHR //SYSLIB DD DSN=&DSCTLIB,DISP=SHR // DD DSN=&INDEX..SDFHCOB,DISP=SHR // DD DSN=&INDEX..SDFHCOB,DISP=SHR // DD DSN=&INDEX..SDFHMAC,DISP=SHR // DD DSN=&INDEX..SDFHMAC,DISP=SHR // DD DSN=&INDEX..SDFHSAMP,DISP=SHR // DD DSN=&INDEX..SDFHSAMP,DISP=SHR //SYSPRINT DD SYSOUT=&OUTC //SYSPRINT DD SYSOUT=&OUTC //SYSIN DD DSN=&&SYSCIN,DISP=(OLD,DELETE) //SYSIN DD DSN=&&SYSCIN,DISP=(OLD,DELETE) //SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS), //SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS), // UNIT=&WORK,SPACE=(80,(250,100)) // UNIT=&WORK,SPACE=(80,(250,100)) ....//LKED EXEC PGM=IEWL,REGION=&REG, //LKED EXEC PGM=IEWL,REGION=&REG, // PARM='&LNKPARM',COND=(5,LT,COB) // PARM='&LNKPARM',COND=(5,LT,COB) //SYSLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR //SYSLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR // DD DSN=&LE370HLQ..SCEELKED,DISP=SHR // DD DSN=&LE370HLQ..SCEELKED,DISP=SHR ....//SYSLIN DD DSN=&&COPYLINK,DISP=(OLD,DELETE) //SYSLIN DD DSN=&&COPYLINK,DISP=(OLD,DELETE) // DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN// DD DDNAME=SYSIN

//MM01CMPL JOB (36512),'R.MENENDEZ',NOTIFY=MM01//MM01CMPL JOB (36512),'R.MENENDEZ',NOTIFY=MM01//CICSCMP EXEC DFHYITVL, //CICSCMP EXEC DFHYITVL, // PROGLIB='MM01.CICS.LOADLIB' // PROGLIB='MM01.CICS.LOADLIB' //TRN.SYSIN DD DSN=MM01.CICS.SOURCE(CUSTMNT1),DISP=SHR //TRN.SYSIN DD DSN=MM01.CICS.SOURCE(CUSTMNT1),DISP=SHR //COB.SYSLIB DD //COB.SYSLIB DD // DD DSN=MM01.CICS.COPYLIB,DISP=SHR // DD DSN=MM01.CICS.COPYLIB,DISP=SHR //LKED.SYSLIB DD//LKED.SYSLIB DD// DD DSN=MM01.CICS.OBJLIB.DISP=SHR // DD DSN=MM01.CICS.OBJLIB.DISP=SHR //LKED.SYSIN DD * //LKED.SYSIN DD * NAME CUSTMNT1(R) NAME CUSTMNT1(R) /*/*

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

© 2002 - Mike Murach & Associates, 2007 - HCC, IBM

13

End PresentationEnd Presentation