Easytrieve Constants by Release

Easytrieve constants look timeless because ZERO and SPACE behaved the same on CA mainframes decades ago. Release upgrades still matter. Broadcom Easytrieve Report Generator 11.6 documents field-class conditions, figurative MOVE sources, file-presence EOF, record-relational DUPLICATE, SQL NULL indicators, and report keywords such as BREAK and HIGHEST-BREAK. Older CA-Easytrieve Plus manuals and IBM MU documentation add names like FIRST-DETAIL, POST-BREAK, and BEFORE-DETAIL that may not appear identically in every modern reserved-word table. Migration teams must compare release notes, recompile macros, and run regression reports. This page maps constant families across product eras, highlights stable versus evolving keywords, and gives practical verification steps for beginners maintaining mixed-era shops.

Progress0 of 0 lessons

Product Line Overview

Easytrieve product eras relevant to constants
EraTypical referenceConstant notes
CA-Easytrieve PlusCA Application and Language Reference PDFsCore figurative constants; extensive report PROC vocabulary
CA Easytrieve Report GeneratorCA/Broadcom transition manualsSQL NULL and expanded reserved words
Broadcom 11.6techdocs.broadcom.com 11.6 Language ReferenceAuthoritative for new development; XML report options
IBM MU EasytrieveIBM MU 4.x keyword listsFIRST-DETAIL, POST-BREAK, BEFORE-DETAIL naming

Stable Figurative Constants

These constants appear across CA and Broadcom documentation with consistent byte-level meaning on z/OS EBCDIC single-byte fields. Verify DBCS and MIXED rules on multilingual files because Broadcom 11.6 documents per-byte tests differently for DBCS subjects.

  • ZERO, ZEROS, ZEROES — numeric zero per field type in class tests; MOVE ZERO clears numeric fields.
  • SPACE, SPACES — blank character in every byte for class tests; MOVE SPACES fills alphabetic areas.
  • HIGH-VALUES — X'FF' per byte in single-byte and MIXED subjects.
  • LOW-VALUES — X'00' per byte in single-byte and MIXED subjects.

Shops migrating from very old source rarely need to change these spellings. Problems appear when programmers hard-code hexadecimal literals instead of figurative constants and then port between ASCII test environments and EBCDIC production.

SQL NULL Constants by Release

NULL as a field-class condition and MOVE NULL target is a database-era addition tied to SQL INCLUDE NULLABLE, manual 2 B 0 indicators, and nullable assignment rules in Broadcom 11.6. Legacy batch-only payroll programs without SQL may never reference NULL. When converting DB2 extracts to Easytrieve SQL jobs, add NULL tests before arithmetic. Moving spaces to nullable fields sets NOT NULL per Broadcom MOVE rules—a behavior that surprises teams expecting SQL semantics from other languages.

text
1
2
3
4
5
6
7
8
9
* Broadcom 11.6 SQL nullable pattern SQL INCLUDE EMP-TABLE NULLABLE JOB INPUT SQL NAME(READ-EMP) IF EMPPHONE NULL DISPLAY 'PHONE UNKNOWN' ELSE DISPLAY EMPPHONE END-IF

File and Record Constants

EOF as file-presence condition is documented across CA and Broadcom conditional expression chapters. DUPLICATE, FIRST-DUP, and LAST-DUP record-relational conditions require sorted or synchronized input and stable keys—behavior unchanged in concept though JOB syntax examples grew clearer in 11.6 synchronized file processing guides. FILE-STATUS numeric field semantics remain essential beside EOF tests.

Report Constants and Keywords by Release

Report-related names and where to verify them
NameBroadcom 11.6Legacy / IBM notes
DTLCTL FIRSTREPORT parameter documentedCompile-time default in options table
BREAK / HIGHEST-BREAKField-class conditions for CONTROL fieldsLEVEL numeric alternative
FIRST-DETAILVerify compiler support; not in main reserved tableIBM BEFORE-DETAIL conditional
POST-BREAKVerify compiler supportIBM break-only first detail
BEFORE-LINE / BEFORE-BREAKDocumented report proceduresCA report PROC standard

New Reserved Words Affecting Constants

Broadcom migration notes list reserved words that became keywords in newer releases. Examples cited in shop migration material include BREAK-LEVEL, ELEMENT-RECORD, EXECUTE, GRAPH, HIGH-VALUES, LOGICAL-RECORD, LOW-VALUES, SET, SUMMARY-INDEX, and SYSUSERID. If legacy programs used those strings as field names, compilation fails after upgrade until names are renamed. This is not a constant semantic change but a naming collision that blocks deployment of constant tutorials in old source.

Version Verification Workflow

  1. Identify compiler version on the target LPAR from shop standards or PARM output.
  2. Open matching Broadcom or CA Language Reference PDF for that version.
  3. Build a micro-program testing each figurative constant used in production macros.
  4. Run batch job and compare SYSPRINT listings with expected byte patterns.
  5. Document unsupported legacy keywords found during compile in a migration log.
  6. Update field names that collide with new reserved words before mass recompile.
text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
* Constant smoke test — adapt field types to your shop DEFINE TEST-A W 4 A DEFINE TEST-N W 4 N MOVE SPACES TO TEST-A MOVE ZERO TO TEST-N MOVE HIGH-VALUES TO TEST-A IF TEST-A HIGH-VALUES DISPLAY 'HIGH-VALUES OK' END-IF MOVE LOW-VALUES TO TEST-A IF TEST-A LOW-VALUES DISPLAY 'LOW-VALUES OK' END-IF

Compile-Time vs Runtime Constants

Some report behaviors are compile-time defaults overridable at REPORT statement. DTLCTL in the install options table sets default detail control printing; REPORT DTLCTL FIRST overrides per report. This split existed in CA products and remains in 11.6 Report Options documentation. Runtime constants like EOF and DUPLICATE depend on data and file state during execution—same program binary can hit EOF on one run and not another.

Platform Notes

Broadcom documents mainframe z/OS as primary but includes non-mainframe FILE statement notes in some chapters. Figurative constant byte values assume host encoding. Cross-platform ports must validate SPACE and HIGH-VALUES behavior on the actual platform rather than assuming EBCDIC X'40' and X'FF' on every environment.

Migration Checklist for Constants

  • Search source for figurative constants and legacy spellings ZEROES versus ZEROS.
  • Search for field names matching new reserved words HIGH-VALUES, LOW-VALUES, SET.
  • Validate SQL NULL usage after SQL INCLUDE schema changes.
  • Re-test DUPLICATE logic after SORT key changes in migration.
  • Confirm report procedure names BEFORE-DETAIL versus BEFORE-LINE.
  • Compare DTLCTL install default with each REPORT override.

Common Release-Migration Mistakes

  1. Assuming IBM FIRST-DETAIL examples compile unchanged on Broadcom 11.6.
  2. Renaming fields to reserved words unknowingly during copybook merges.
  3. Testing only compile, not runtime NULL arithmetic rules.
  4. Using ASCII hex assumptions on EBCDIC production files.
  5. Ignoring Release Notes when constants behave differently in XML reports.

Explain It Like I'm Five

Constants are magic words the Easytrieve teacher knows. Most magic words stayed the same for years—blank, zero, all-ones, all-off bits. New textbooks added more magic words for databases and fancier reports. When your school gets new textbooks, you check whether your old homework still uses the same magic words and whether any of your labels accidentally became forbidden words.

Exercises

  1. List five constants stable across CA and Broadcom documentation.
  2. Write a smoke-test program for SPACE ZERO HIGH-VALUES LOW-VALUES.
  3. Identify three report keywords requiring release verification.
  4. Document a migration step for a field named SET colliding with reserved SET.
  5. Explain compile-time DTLCTL versus runtime EOF.

Quiz

Test Your Knowledge

1. HIGH-VALUES and LOW-VALUES in Broadcom 11.6 are:

  • Documented figurative constants in field-class and MOVE statements
  • Removed from the language
  • JCL-only parameters
  • Only for COBOL copybooks

2. NULL support in modern Easytrieve primarily relates to:

  • SQL nullable fields and indicators
  • EOF processing
  • JCL COND
  • MACRO expansion

3. When migrating macros from CA-Easytrieve Plus, you should:

  • Compare reserved-word lists and recompile test programs
  • Assume identical syntax without testing
  • Delete all figurative constants
  • Avoid REPORT statements

4. FIRST-DETAIL appears prominently in:

  • IBM legacy report-exit documentation
  • JCL DD statements only
  • FILE VIRTUAL only
  • COBOL LINKAGE

5. DTLCTL FIRST default behavior prints control fields:

  • On first detail per page and after control breaks
  • On every detail line always
  • Never on detail lines
  • Only on FINAL totals
Published
Read time15 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom 11.6 Symbols Release Notes; CA-Easytrieve Plus migration materialSources: Broadcom Easytrieve 11.6 Symbols and Reserved Words, Release Notes, IBM Easytrieve keywordsApplies to: Easytrieve constants across product releases