Customer Support
Home > Customer Support > z/OS > Procedures > General 

General Procedures at NWRDC

(If you have any questions about the content of this page, please contact request@nwrdc.fsu.edu for clarification)

Batch COBOL Compile Procedures 

Procedure 

Description

COBMUC

COBOL/MVS compile from sequential dataset

COBMUCG

COBOL/MVS compile and go from sequential dataset

COBMUCL

COBOL/MVS compile LE/MVS link from sequential dataset

COBMUCLG

COBOL/MVS compile LE/MVS link & go from sequential dataset

COBMULG

LE/MVS link & go from sequential object module

DB2COBM

DB2 pre-compile, COBOL/MVS compile , LE/MVS link and DB2 bind from sequential dataset

PCOBMC

COBOL/MVS compile from PanValet dataset

PCOBMCG

COBOL/MVS compile and go from PanValet dataset

PCOBMCL

COBOL/MVS compile LE/MVS link from PanValet dataset

PCOBMCLG

COBOL/MVS compile LE/MVS link & go from PanValet dataset

 Click here to see some examples


Batch Procedures for DB2             

Procedure 

Description

DSNUPROC

Generalized Utility execution

QMF

QMF batch procedure execution

 Please review the instructions documented in each procedure.

 


High Level Assembler at the NWRDC

ASMACL

Compile and Load

ASMAC

Compile Only

ASMACG

Compile and Go

ASMACLG

Compile, Load and Go

 Click here to see an example.


SORT Procedures

Procedure Description
SORTDL disk sort, large (12.6 M characters)
SORTDM disk sort, medium (4.2M characters)
SORTDS disk sort, small (.42M characters)

Each sort proc invocation must be accompanied by the following three DDcards

  • SYSIN for the sort control cards
  • SORTIN for the input data
  • SORTOUT for the sort output

 

FOCUS  Procedures
 

Procedure

Description

FOCUS

Direct FOCUS batch execution, including DB2 interface.

FOCUSTSO

FOCUS execution via background (batch) TSO, including DB2 interface and dynamic file allocation via FOCEXEC TSO commands.

FOCOMPDB        

Direct FOCUS execution for the purpose of compiling and binding static DB2 plan based MODIFY FOCEXECs.

 


Easytrieve Procedures:

Procedure  Description

EASYEXEC

Execute Linked CA-Easytrieve Program

EASYLDB2

Compile and Link with DB2 Static module

EASYLINK

Compile and Link

EASYPLNK

Panvalet, Compile and Link

EASYPLUS

Compile and Go

 


Data Correlation and Documentation System (DCD III)

Procedure 

Description

DCDACL

allows the user to  analyze a COBOL program.

DCDJCL

allows the user to analyze JCL procedure.

Click here to see some examples


 

SAS Procedure

Procedure 

Description

SAS

Invokes the SAS system

Click here for an example.


 PANVALET Procedures

PANMOV

Consists of three steps; the first does a PanValet dump, the second creates and initializes a new PanValet library and the third restores the new library from the dump in the first step

PAN1

Executes PAN#1

  Click here to see some examples.


 


Sample JCL to Invoke Compile and Run COBOL Procedures

================================================================

Suggested COBOL and LINK EDIT Parameters

Typical, general purpose example:

// PARM.COB='LIB,OBJECT,APOST,MAP,XREF,OFFSET',
// PARM.LKED='LIST,XREF'

If you want to compile and link your COBOL programs so that the maximum amount of memory is available to them, use the following COBOL and LINKAGE EDITOR parameters:

// PARM.COB='LIB,OBJECT,APOST,MAP,XREF,OFFSET,DATA(31),RMODE(ANY)',
// PARM.LKED='AMODE(31),RMODE(ANY),LIST,XREF'

  • In a complex load module (several programs link edited together), all programs should be compiled with like parameters.
  • The second set of parameters should not be used if any old VS-COBOL or 24 bit assembler programs are involved in the link edit.

================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE
//*
//COBMUC EXEC COBMUC,
// PARM.COB='YOURCOMPILEPARMS'
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//COB.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR

 

================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE AND LINK
//*
//COBMUCL EXEC COBMUCL,
// PARM.COB='YOURCOMPILEPARMS'
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//COB.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR
//LKED.SYSLMOD DD DSN=YOUR.LOADLIB(PROGRAM),DISP=SHR

 

================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE AND GO
//*
//COBMUCG EXEC COBMUCG,
// PARM.COB='YOURCOMPILEPARMS',
// PARM.GO='/YOURRUNPARMS'
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//COB.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR
//GO.FILE1 DD SYSOUT=A
//GO.FILE2 DD DSN=YOUR.RUN.FILE2,DISP=SHR
//GO.FILE3 DD DSN=YOUR.RUN.FILE3,DISP=SHR
//GO.ETC DD DSN=YOUR.RUN.FILETC,DISP=SHR


 

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE, LINK AND GO
//*
//COBMUCLG EXEC COBMUCLG,
// PARM.COB='YOURCOMPILEPARMS',
// PARM.GO='YOURRUNPARMS'
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//COB.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR
//GO.FILE1 DD SYSOUT=A
//GO.FILE2 DD DSN=YOUR.RUN.FILE2,DISP=SHR
//GO.FILE3 DD DSN=YOUR.RUN.FILE3,DISP=SHR
//GO.ETC DD DSN=YOUR.RUN.FILETC,DISP=SHR

=================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS LINK AND GO
//*
//COBMULG EXEC COBMULG,
// PARM.GO='YOURRUNPARMS'
//LKED.SYSLIN DD DSN=YOUR.OBJECT.LIB(PROGRAM),DISP=SHR
//GO.FILE1 DD SYSOUT=A
//GO.FILE2 DD DSN=YOUR.RUN.FILE2,DISP=SHR
//GO.FILE3 DD DSN=YOUR.RUN.FILE3,DISP=SHR
//GO.ETC DD DSN=YOUR.RUN.FILETC,DISP=SHR

 

=================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE, LINK AND GO USING DB2
//*
//DB2COBM EXEC DB2COBM,
// SRCLIB1='YOUR.DCLGEN.LIB', LIBRARY WITH TABLE DECLARATIONS
// COPYLIB='YOUR.COPYLIB', LIBRARY WITH COBOL COPYBOOKS
// DBRMLIB='YOUR.DBRM.LIB', YOUR DBRM LIBRARY
// LINKLIB='YOUR.LOADLIB', YOUR LOAD LIBRARY
// MEMBER=PROGRAM, MEMBER NAME (DBRM AND LOAD)
// LITERAL='YOURCOMPILEPARMS' COMPILE OPTIONS
//*
//DB2.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR
//BIND.SYSTSIN DD *
 DSN SYSTEM(DB2T OR DSN)
 BIND PLAN(YOURPLAN) -
 MEMBER(PROGRAM) -
 ACTION(REP) RETAIN ISOLATION(CS)
 END
//

 

=================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE
//* WITH PANVALET INPUT
//*
//PCOBMC EXEC PCOBMC,USER=YOURPANPREFIX,
// PARM.COB='YOURCOMPILEPARMS'
//PAN1.SYSIN DD *
++WRITE WORK,PROGRAM
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR

 

=================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE AND GO
//* WITH PANVALET INPUT
//*
//PCOBMCG EXEC PCOBMCG,USER=YOURPANPREFIX,
// PARM.COB='YOURCOMPILEPARMS',
// PARM.GO='/YOURRUNPARMS'
//PAN1.SYSIN DD *
++WRITE WORK,PROGRAM
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//GO.FILE1 DD SYSOUT=A
//GO.FILE2 DD DSN=YOUR.RUN.FILE2,DISP=SHR
//GO.FILE3 DD DSN=YOUR.RUN.FILE3,DISP=SHR
//GO.ETC DD DSN=YOUR.RUN.FILETC,DISP=SHR

 

=================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE AND LINK
//* WITH PANVALET INPUT
//*
//PCOBMCL EXEC PCOBMCL,USER=YOURPANPREFIX,
// PARM.COB='YOURCOMPILEPARMS'
//PAN1.SYSIN DD *
++WRITE WORK,PROGRAM
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//LKED.SYSLMOD DD DSN=YOUR.LOADLIB(PROGRAM),DISP=SHR

 

=================================================================

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE, LINK AND GO
//* WITH PANVALET INPUT
//*
//PCOBMCLG EXEC PCOBMCLG,USER=YOURPANPREFIX,
// PARM.COB='YOURCOMPILEPARMS',
// PARM.GO='YOURRUNPARMS'
//PAN1.SYSIN DD *
++WRITE WORK,PROGRAM
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
//COB.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR
//GO.FILE1 DD SYSOUT=A
//GO.FILE2 DD DSN=YOUR.RUN.FILE2,DISP=SHR
//GO.FILE3 DD DSN=YOUR.RUN.FILE3,DISP=SHR
//GO.ETC DD DSN=YOUR.RUN.FILETC,DISP=SHR


 

Compile JCL Changes to Use LE Feedback Code

The only change needed for batch use of the feedback codes copybook is to include the copylib library in the SYSLIB concatenation of the compile step. The following is an example:

//YOURJOB JOB YOURJOBCARD
//*
//* COBOL FOR MVS COMPILE AND LINK WITH LE FEEDBACK
//*
//COBMUCL EXEC COBMUCL,
// PARM.COB='YOURCOMPILEPARMS'
//COB.SYSLIB DD DSN=YOUR.COPYLIB,DISP=SHR
// DD DSN=SYS1.LEMVS.SCEESAMP,DISP=SHR
//COB.SYSIN DD DSN=YOUR.SOURCE.LIB(PROGRAM),DISP=SHR
//LKED.SYSLMOD DD DSN=YOUR.LOADLIB(PROGRAM

 


Sample  Assembler JCL:

//YOURJOB JOB YOURJOBCARD
//*
//* HIGH LEVEL ASSEMBLER COMPILE AND LINK
//*
//STEP1 EXEC HLASMCL
//C.SYSUT1 DD UNIT=(SYSDA,SEP=SYSLIB),
//    SPACE=(CYL,(20,20)),DSN=&SYSUT1
//C.SYSIN DD DSN=iii.SOURCE.LIB(member1),DISP=SHR
//L.SYSLMOD DD DSN=iii.LOAD.LIB(member1),DISP=SHR

 

 


PANVALET JCL Examples

This example writes the output to the data set pointed to by DDNAME OUTPDS.

//YOURJOB JOB YOURJOBCARD
/*JOBPARM L=50
//STEP1 EXEC PAN1,USER=iii
//OUTPDS DD DSN=iii.OUTPUT,DISP=SHR
//SYSIN DD *
++OPTION OUTPUT,OUTPDS
++WRITE WORK,PREFIX=NL
/*

This prints a member listing from the PANDD1 PanValet library.

//YOURJOB JOB YOURJOBCARD
//STEP01 EXEC PGM=PAN#2
//PANDD1 DD DSN=iii.PAN.VALET,DISP=SHR
//PANDD2 DD DUMMY
//PANDD3 DD DUMMY
//SYSPRINT DD SYSOUT=A
//SYSPUNCH DD DUMMY
//SYSIN DD *
++PRINT
/*


 


Examples of DCDIII

In the following example, a member of a PDS is passed into DCD; DCD supplies to the user a source listing and layout documentation.

//YOURJOB JOB YOURJOBCARD
//ST1 EXEC DCDACL
//COPYLIB DD DD DSN=xxx.xxxxxxx,DISP=SHR (copybooks)
//COBOLIN DD DD DSN=xxx.xxxxxxx(cobol source),DISP=SHR

In a second example, DCDJCL produces the PROC analysis reports:

//YOURJOB JOB YOURJOBCARD
//DCDIII EXEC DCDJCL
//MBR.CTLCDMBR DD *
  INDD=USERDD=PREFIX=SP     analyze members beg.with ‘SP’
//MBR.USERDD DD DSN=USER.PROCEDURE.LIBRARY,DISP=SHR

 


Procedures SAS provide batch access to the system. Sample execution JCL follows:

//YOURJOB JOB YOURJOBCARD
//*
//STEPNAME EXEC SAS,'PARMS AND OPTIONS'
//SYSIN    DD *
your SAS code goes here
/*

 

 

 

 

 

 

 

 

Copyright © 2006
NWRDC
All Right Reserved