Easytrieve Compiler Options Overview

Compiler options shape how Easytrieve reads your source, how verbose the listing is, how strictly it enforces qualification and 11.6 rules, and what maps appear when you debug a layout bug at two in the morning. Installation teams load defaults into the options table—EZOPTBL—using Configuration Manager or ETOPLOAD. Application developers override selected knobs with PARM as the first statement in the program. Beginners confuse compiler options with JCL parms and with execution-only settings like FLOW trace. This overview maps categories from Broadcom Compiler Options documentation, explains PARM versus site table precedence, lists listing and syntax controls that affect error messages, and points to child pages for optimization, debugging, listings, cross-reference, and diagnostics depth.

Progress0 of 0 lessons

Two Layers: Site Table and PARM

At install, Broadcom defines compiler and execution defaults in the options table. Each compiled program inherits those values unless PARM specifies overrides. PARM must be the first source statement when used. Operations owns table changes; developers own program PARM for exceptions. Document both in runbooks when troubleshooting different behavior between test and production LPARs.

Configuration layers
LayerScopeChanged by
Options table (EZOPTBL)All programs on LPAR unless overriddenSystems programming
PARM statementSingle program compileApplication developer
Listing control LIST/SKIPListing layout onlyDeveloper in source body
JCL PARM= on EXECCompile step parameters if usedOperations per proc

PARM Major Parameter Groups

text
1
2
3
4
5
PARM ABEXIT(NO) + DEBUG(PMAP, DMAP, FLDCHK, STATE, XREF(LONG)) + FLOWSIZ(20) + LIST(FILE, PARM) + SORT(MSG(ALL))

ABEXIT controls abend dump behavior—SNAP for development, NO for production per best practices. DEBUG selects maps and checks during compile. LIST(FILE,PARM) prints file definitions and PARM summary in listing. SORT(MSG(ALL)) increases sort message detail during test runs. Each subparameter has NO-prefix negation forms documented on PARM statement reference.

Compiler Option Categories

Options table categories (Broadcom 11.6)
CategoryExamplesEffect
Source scan columnsSCANCOLEWhich columns compiler reads per line
Syntax check symbolsWARNSYM, ERORSYMLocator symbols in messages
Listing controlDMAP, PMAP, CLIST, XREF, LISTUC, LISTPRMMaps and listing format
Syntax controlFLDCHK, STRICTQU, NEWFUNCStrictness and field validation
Macro librariesMACDDN, MAC#LIB, MACMODWhere macros resolve
MessagesWARNCC, RUNSYMReturn codes and message IDs

Listing Control Statements

Beyond PARM DEBUG, source statements LIST ON, LIST OFF, LIST MACROS, LIST NOMACROS, NEWPAGE, SKIP n, PUSH, and POP format the physical listing. LIST OFF suppresses following source lines from listing—useful for large generated tables not worth printing. PUSH saves settings before macro expansion; POP restores after—keeps macro debug readable without changing permanent listing preferences.

Syntax and Migration Options

STRICTQU controls unqualified field references: N silent qualify, W warn which file was used, E error EZTC0644E. NEWFUNC enables 11.6 function mode semantics including new reserved words. FLDCHK validates unavailable field references to reduce runtime program checks. Together they define how painful migration from 6.4 will be—many sites enable NEWFUNC in test LPAR first.

Child Pages on This Site

  • Optimization options — CPU, storage release, division rounding, block size defaults.
  • Debugging options — DEBUG subparameters, ABEXIT, FLOW, STATE, SORTMSG.
  • Listing options — DMAP PMAP CLIST XREF LISTUC LISTPRM.
  • Cross-reference options — XREF LONG versus SHORT symbol tables.
  • Diagnostic options — WARNCC WARNSYM ERORSYM STRICTQU message behavior.

Development Versus Production Profile

Broadcom recommends link-edit production execution and compile-and-go for quick tests only. Development profile often includes LIST ON MACROS, DEBUG(PMAP DMAP STATE XREF(LONG)), SORT(MSG(ALL)), and ABEXIT appropriate for dumps. Production profile strips DEBUG maps, sets ABEXIT NO, avoids FLOW trace, and uses site defaults for LISTFIL only when statistics needed. Mismatch between profiles explains works in test fails in prod when options differ—not logic change.

Common Compiler Options Mistakes

  • Coding PARM after FILE statement—must be first.
  • Leaving DEBUG DMAP in production nightly jobs—CPU cost.
  • Assuming JCL overrides PARM without reading proc.
  • Ignoring NEWFUNC in test while production enables function mode.
  • LIST OFF hiding errors in macro sections during debug.

Explain It Like I'm Five

Compiler options are the rules for how the robot reads your homework. The school (options table) sets default rules for everyone. You can put a note at the top of your paper (PARM) asking for extra help—show my math steps (DEBUG maps) or check my spelling harder (STRICTQU). For the real test (production), use the normal rules so the robot works faster and does not print every pencil stroke.

Exercises

  1. Write a development PARM line with DEBUG and LIST options.
  2. List three categories from the options table.
  3. Explain PARM versus EZOPTBL precedence.
  4. Describe when LIST OFF is appropriate.
  5. Name two syntax options that affect migration from 6.4.

Quiz

Test Your Knowledge

1. PARM statement position:

  • First statement in program if coded
  • After last JOB
  • In JCL only
  • After REPORT

2. PARM overrides:

  • Site defaults from options table for that compile
  • JCL REGION only
  • COBOL COPY
  • VSAM cluster

3. Site-wide permanent options are maintained in:

  • Options table (EZOPTBL) via ETOPLOAD/Configuration Manager
  • SYS1.PARMLIB only
  • Tape label
  • CICS region

4. LIST ON MACROS default helps beginners by:

  • Showing macro expansion in compile listing
  • Deleting macros
  • Running faster
  • Disabling errors

5. NEWFUNC option relates to:

  • 11.6 function mode language rules
  • Network FTP
  • Screen colors only
  • JCL CLASS
Published
Read time14 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom Easytrieve 11.6 Compiler Options, PARM Statement, Controlling CompilationSources: Broadcom Easytrieve 11.6 Compiler Options, PARM Statement, Controlling Compilation, Using Best PracticesApplies to: Easytrieve compiler and PARM options