Easytrieve Job Name — JCL Context and Audit Patterns

Beginners expect a reserved field named JOBNAME alongside SYSDATE and SYSTIME. Broadcom Easytrieve Report Generator 11.6 does not document JOBNAME in the System-Defined Fields chapter. Job identity still matters for audit trails, error correlation in SDSF, and multi-step proc debugging—so this page teaches how mainframe job names relate to Easytrieve programs and which patterns shops use when headers must show PAYROLL01 or EOMCLOSE. The JCL JOB card name is assigned when the operator or scheduler submits the job stream. JES tracks that name through execution. Easytrieve runs inside one step of that job; the step name and proc step differ from the job name. Inside source, JOB NAME on an activity labels the Easytrieve JOB block for EXECUTE—not the JCL identifier. Understanding that distinction prevents copying legacy Plus examples that reference environment functions without verifying your compiler. You will learn JCL &JOBNAME passing, PARM and VARYING fields, control-card patterns, DISPLAY diagnostics, TITLE stamping, and when to escalate to systems programming for symbolic parameter standards.

Progress0 of 0 lessons

No JOBNAME System Field in 11.6

Official 11.6 documentation lists general-purpose system fields: SYSDATE, SYSDATE-LONG, SYSTIME, RETURN-CODE, and CICS/IMS-specific UIB fields. File fields include RECORD-COUNT and FILE-STATUS. Report fields include PAGE-NUMBER and LINE-COUNT. Job name from JCL is absent from that catalog. Tutorial curricula include job name under system variables because teams treat operational metadata like date and time even when implementation uses JCL integration. Log uncertain Plus function spellings in your migration workbook and verify against Application Reference before production.

JCL JOB Name Versus Easytrieve JOB Activity NAME

Two different "job name" concepts
ConceptWhere definedPurpose
JCL job nameJOB card //PAYROLL01 JOB ...JES identity, SDSF, scheduling
Easytrieve JOB NAMEJOB INPUT ... NAME PAY-UPDATEActivity label inside program
Step nameEXEC step //STEP1 EXEC ...Identifies step within JCL job
Program namePGM= on EXECLoad module executed (e.g. EZTPA00)

Confusing JCL PAYROLL01 with Easytrieve NAME PAY-UPDATE causes wrong EXECUTE targets and misleading documentation. Operations searching SDSF for PAYROLL01 will not find Easytrieve internal activity names unless you printed them.

Passing JCL Job Name With &JOBNAME

z/OS JCL symbolic &JOBNAME resolves to the job name at JES processing time. Standard pattern: pass it on PARM to the Easytrieve step, define a VARYING alphabetic field, read it in PROGRAM or START procedure, copy to JOB-NAME-HDR for reports. Length may exceed eight when special characters appear—size working storage generously.

text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//PAYRPT JOB (ACCT),'PAYROLL REPORT',CLASS=A //STEP1 EXEC PGM=EZTPA00,PARM='JOB=&JOBNAME' /* SYSIN DD * DEFINE JCL-PARM S 80 A VARYING DEFINE JOB-NAME-HDR W 16 A INIT. PROC JOB-NAME-HDR = JCL-PARM * Or parse PARM—verify shop PARM layout END-PROC REPORT PAY-RPT TITLE 01 'JOB:' COL 1 JOB-NAME-HDR COL 20 SYSDATE JOB INPUT PAYFILE START INIT LINE EMP-NAME AMOUNT

Control Card and SYSIN Patterns

Schedulers sometimes write job metadata to a sequential control file generated in a prior step—record contains job name, run id, and environment code. Easytrieve GETs the first record in INIT and moves JOB-ID field to header variables. Decouples report program from PARM length limits. Favored when the same source runs under multiple job names with different control parameters.

DISPLAY for Operations Debugging

At job start DISPLAY the captured job name with SYSDATE and SYSTIME so SYSPRINT in SDSF correlates listing with JES panel. When RETURN-CODE is set in FINISH, repeat DISPLAY so abend dumps tie to submission context. One or two lines suffice—avoid megabyte SYSPRINT from per-record DISPLAY of job name.

Easytrieve Plus and Legacy Environment Functions

CA Easytrieve Plus documentation describes system builtins returning job and step identifiers— often with sigil prefixes such as $JCL in training material. Report Generator 11.6 migration may require replacing those calls with JCL PARM patterns or verified equivalents. Compile and runtime test every converted header on the target release. Do not assume function names from internet snippets match your maclib.

Audit and Compliance Headers

Financial audit samples show triplet: job name, user id, run date-time. Combine captured JCL job name with SYSUSERID where available and SYSDATE/SYSTIME on TITLE or first detail after FIRST-DETAIL. Retention policies may require writing job name to output file trailer records for downstream reconciliation—not only printed headers.

Common Job Name Mistakes

  • Assuming JOBNAME is reserved like SYSDATE without checking 11.6 docs.
  • Using Easytrieve JOB NAME expecting JCL SDSF name.
  • PARM field too short—truncated job name on header.
  • Hard-coding job name in source—breaks reuse across test and prod job names.
  • Skipping verification after migrating Plus $JCL calls.
  • Confusing step name with job name in error messages.

Explain It Like I'm Five

The big folder label on the teacher's desk is the JCL job name—everyone in the office uses that label to find your work. Easytrieve also lets you write a small name on one worksheet inside the folder for your own notes—that is the JOB activity name. They are not automatically the same words. If you want the big folder label on your report, ask JCL to slip a note with &JOBNAME into the program when the job starts.

Exercises

  1. Write JCL passing &JOBNAME on PARM to a VARYING field.
  2. Explain difference between JCL job name and JOB NAME on Easytrieve JOB.
  3. Design TITLE line showing job name, SYSDATE, and SYSUSERID placeholders.
  4. List three ways to obtain job identity without a 11.6 JOBNAME system field.
  5. Document a migration step replacing a Plus job function with PARM.

Quiz

Test Your Knowledge

1. Broadcom 11.6 lists JOBNAME as a system-defined field like SYSDATE:

  • No—job name is not in the general system fields list
  • Yes—always eight bytes
  • Yes—updated each record
  • Only in SCREEN mode

2. JOB NAME on a JOB statement in Easytrieve identifies:

  • The Easytrieve JOB activity name for EXECUTE—not the JCL JOB card name
  • The RACF user id
  • The DD statement name
  • The compile listing date

3. A common way to pass JCL job name into Easytrieve is:

  • JCL SET or PARM with &JOBNAME substituted before execution
  • DEFINE JOBNAME in Library
  • SYSDATE JOBNAME overlay
  • REPORT LINE JOBNAME

4. SDSF and JES show job name from:

  • The JCL JOB statement—not from Easytrieve SYSDATE
  • Easytrieve TITLE only
  • FILE RECORD-COUNT
  • SYSTIME

5. Easytrieve Plus shops may use environment functions for job metadata—verify:

  • Application Reference on your release for exact spellings like $JCL
  • COBOL COPY books only
  • SQLCA fields
  • PAGE-NUMBER
Published
Read time15 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom 11.6 System-Defined Fields—no JOBNAME; JOB statement NAME parameterSources: Broadcom Easytrieve 11.6 System-Defined Fields, JOB Statement, z/OS JCL &JOBNAMEApplies to: Easytrieve job name context and JCL integration