Easytrieve JCL Execution

JCL is the contract between your Easytrieve program and z/OS: which program runs (PGM=), which libraries supply modules (STEPLIB), where source and listings go (SYSIN, SYSPRINT), and which files map to business data. Broadcom documents JCL patterns for compile-only, compile-and-go, and compile-link-execute. This tutorial explains each DD and PARM so beginners can read—and write—real shop procs confidently.

Progress0 of 0 lessons

PGM=EZTPA00 — The Entry Point

EZTPA00 is the Easytrieve 11.6 program name for compile, compile-and-go, and link requests. The PARM statement at the start of SYSIN (or embedded in source stream) tells EZTPA00 whether to syntax-check, compile only, link a module, or compile and execute immediately. Older JCL uses PGM=EZT (compile-and-go) or PGM=EZTCOM (compile-only)—migrate to EZTPA00 for new work.

Essential DD Statements

JCL DD names for Easytrieve steps
DDPurposeNotes
STEPLIBProduct and app load librariesMust include CBAALOAD; concatenate order matters with DB2/IMS
SYSINPARM + source or execute-only parmsPDS member or inline
SYSPRINTListing and messagesSYSOUT=* or dataset; MOD to append
EZOPTBLOptions table fileOptional if EZTINI default exists
EZTVFMVirtual file work spaceSPACE on SYSDA or similar
SYSLINObject output for linkRequired for PARM COMPILE / LINK flows
SYSLMODLoad module library targetLink-edit output destination
File DDsMatch FILE namesINFILE, MASTER, etc. per program

Pattern 1: Compile-Only

Produces object code in SYSLIN for a separate link step. Use when promoting builds through DEV→TEST→PROD load libraries without executing in the compile step.

jcl
1
2
3
4
5
6
7
8
//COMP EXEC PGM=EZTPA00,REGION=4M //STEPLIB DD DISP=SHR,DSN=your.easytrieve.r116.CBAALOAD //EZOPTBL DD DISP=SHR,DSN=your.easytrieve.r116.EZOPTBL //EZTVFM DD UNIT=SYSDA,SPACE=(CYL,(3,1)) //PANDD DD DISP=SHR,DSN=your.ezt.macros //SYSPRINT DD SYSOUT=* //SYSLIN DD DISP=(,PASS),DSN=&&PCODE //SYSIN DD DSN=DEV.EZT.SOURCE(MTHRPT),DISP=SHR

Source member must begin with appropriate PARM (for example PARM COMPILE or PARM LINK as documented for your compile mode). SYSLIN passes to IEWL in the next step. &&PCODE is temporary dataset deleted at job end unless passed with PASS.

Pattern 2: Compile-and-Go

jcl
1
2
3
4
5
6
7
8
//GO EXEC PGM=EZTPA00,REGION=4M //STEPLIB DD DISP=SHR,DSN=your.easytrieve.r116.CBAALOAD //EZOPTBL DD DISP=SHR,DSN=your.easytrieve.r116.EZOPTBL //EZTVFM DD UNIT=SYSDA,SPACE=(4096,(100,100)) //SYSPRINT DD SYSOUT=* //TRANSIN DD DISP=SHR,DSN=PROD.DAILY.TRANS //RPTOUT DD SYSOUT=* //SYSIN DD DSN=DEV.EZT.SOURCE(DAYRPT),DISP=SHR

No SYSLIN—program runs immediately after successful compile. File DD names TRANSIN and RPTOUT must match FILE statements inside source. REGION=4M increases address space for large programs.

Pattern 3: Compile, Link, Execute Later

jcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//COMPLK EXEC PGM=EZTPA00,REGION=4M //STEPLIB DD DISP=SHR,DSN=your.easytrieve.r116.CBAALOAD //EZTVFM DD UNIT=SYSDA,SPACE=(4096,(100,100)) //SYSPRINT DD SYSOUT=* //SYSLIN DD UNIT=SYSDA,SPACE=(400,(100,50)),DISP=(,PASS),DSN=&&SYSLIN //SYSIN DD * PARM LINK(MTHRPT) FILE INFILE ... /* //LKED EXEC PGM=IEWL //SYSPRINT DD SYSOUT=* //SYSLIN DD DSN=*.COMPLK.SYSLIN,DISP=(OLD,DELETE) //SYSLIB DD DISP=SHR,DSN=your.easytrieve.r116.CBAALOAD //SYSLMOD DD DISP=SHR,DSN=PROD.EZT.LOAD //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,5))

PARM LINK(MTHRPT) names the load module. IEWL binder reads SYSLIN object and writes MTHRPT into SYSLMOD library. Later job: //RUN EXEC PGM=MTHRPT with file DDs only.

PARM Statement Overview

PARM lines at the top of SYSIN control compiler mode. Common values (exact set in Language Reference):

  • SYNTAX — syntax check without full object generation.
  • COMPILE — compile to SYSLIN for separate link.
  • LINK(module) — compile and produce named load module through link step.
  • COMPAT — compatibility mode behaviors for 6.4 migration.

Multiple PARM options may combine per documentation; site procs often hide complexity in standard members.

SYSPRINT with DISP=MOD

When compile and execute are separate steps but you want one listing dataset:

jcl
1
2
//SYSPRINT DD DSN=DEV.EZT.LISTING(MTHJOB1),DISP=(MOD,KEEP), // SPACE=(TRK,(1)),UNIT=SYSDA

MOD positions to end of existing member content so runtime messages follow compile listing.

DB2 and IMS JCL Considerations

Mixed database jobs add STEPLIB entries for IMS RESLIB, DB2 SDSNLOAD, application load libraries, and sometimes Pansql libraries for SQL FILE. Broadcom examples show EZIMSDB style steps with DFSRRC00 for IMS and Easytrieve source in SYSIN. Follow exact library order from Broadcom when DB2 and IMS coexist—wrong order causes S806 module not found.

Common JCL Errors

JCL mistakes beginners make
SymptomCommon cause
S806 EZTPA00STEPLIB missing CBAALOAD or wrong DD order
Options table errorMissing EZOPTBL and no EZTINI
File not foundDD name does not match FILE statement
RC=12 compileSource syntax error—see SYSPRINT line numbers
S013Dataset disposition or space problem on EZTVFM or output DD

Explain It Like I'm Five

JCL is the instruction note you tape to the box sent to the factory robot. It says which robot program to run (EZTPA00), which toolbox drawer to open (STEPLIB), where the recipe is (SYSIN), and which paper tray to use for the answer (SYSPRINT). If the note is wrong, the robot stops and writes why on the paper.

Exercises

  1. Write compile-only JCL for member TEST01 referencing your shop libraries.
  2. Add a link step with SYSLMOD to a test load library.
  3. Convert compile-and-go JCL to execute-only for prebuilt load module.
  4. Explain when SYSLIN is required vs omitted.
  5. Identify deprecated PGM names and their EZTPA00 replacement.

Quiz

Test Your Knowledge

1. Broadcom recommends new JCL use PGM=

  • EZTPA00
  • EZT only
  • IEFBR14 only
  • IDCAMS

2. PARM COMPILE in SYSIN requests:

  • Compile-only producing object for link step
  • Online CICS
  • Db2 bind
  • IPL

3. SYSLIN DD is required when:

  • PARM COMPILE for compile-only flow
  • Every display command
  • ISPF edit
  • Never

4. Link-edit step typically uses PGM=

  • IEWL (binder)
  • EZTPA00 again
  • DFSORT
  • IKJEFT01 always

5. DISP=MOD on SYSPRINT allows:

  • Append listing to existing dataset
  • Delete dataset
  • Uncatalog only
  • Mount tape
Published
Read time12 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom Program Compilation and Link-Editing Using JCL 11.6Sources: Broadcom TechDocs JCL examples, IBM JCL reference, IEWL binder documentationApplies to: Easytrieve 11.6 z/OS JCL