New reserved words are the surprise compile failures that derail Easytrieve migrations after options tables and deprecated FILE clauses are already fixed. Broadcom 11.6 function mode reserves identifiers that decades of legacy programs used as innocent field names—SET for a configuration flag, EXECUTE for a run-mode code, SYSUSERID for an audit column copied from a security glossary, HIGH-VALUES and LOW-VALUES for business bounds borrowed from COBOL figurative language. BREAK-LEVEL and DRAW collide when report depth or graphics flags used literal English words. The compiler cannot treat SET as both data and grammar; migration means renaming fields, updating macros, recompiling, and parallel-testing output—not arguing that the old name was logical. This page focuses on the 11.6 migration reserved word set, scan-and-rename playbooks, compatibility versus function mode strategy, and links to per-word tutorials for deeper examples.
Function mode enables newer language features and stricter reserved word enforcement documented for 11.6. Compatibility mode may allow some legacy identifiers temporarily while teams execute rename projects. Migration strategy: inventory collisions, rename in macros first, compile in compatibility mode if needed for interim schedules, then cut over to function mode with clean listings before mandating new development standards. Staying on compatibility mode forever postpones features and may not be supported indefinitely—plan explicit function mode target dates with change control.
The table below lists commonly cited migration tokens from Broadcom New Reserved Words guidance. Your installation letter is authoritative; maintenance PTS can adjust Symbols appendices.
| Word | Typical legacy field use | Suggested rename | Site tutorial |
|---|---|---|---|
| SET | Generic set/config indicator | WS-SET-IND, CFG-FLAG | /reserved-words/set |
| EXECUTE | Run mode or batch flag column | WS-RUN-MODE, PROC-MODE | /reserved-words/execute |
| SYSUSERID | Audit user id field | WS-AUDIT-USER, RPT-USER-ID | /reserved-words/sysuserid |
| BREAK-LEVEL | Report break depth numeric | WS-BREAK-DEPTH, RPT-LEVEL-NO | /reserved-words/break-level |
| DRAW | Chart or draw flag | WS-DRAW-FLAG, CHART-IND | /reserved-words/draw |
| HIGH-VALUES | Maximum business value field | WS-MAX-VAL, LIMIT-HIGH | /reserved-words/high-values |
| LOW-VALUES | Minimum business value field | WS-MIN-VAL, LIMIT-LOW | /reserved-words/low-values |
Follow tutorial links under /tutorials/easytrieve for statement semantics—understanding why EXECUTE reserved helps programmers explain renames to business owners reviewing audit column labels.
SET-related grammar configures runtime and report behavior in modern Easytrieve. A field literally named SET forces the parser to disambiguate assignment configuration from data movement—reserved status removes ambiguity at the cost of renaming legacy indicators copied from generic data dictionaries.
EXECUTE invokes activities and online procedures. Programs that stored execution mode in a field named EXECUTE collide directly with statement vocabulary—common in shops that mirrored JCL terminology in file layouts without anticipating language evolution.
SYSUSERID exposes the authenticated user symbol for audit trails and report headers. Legacy layouts sometimes duplicated the name as a business column populated from batch parameters; the system symbol now owns the spelling.
Report control enhancements reserve BREAK-LEVEL for hierarchy depth semantics and DRAW for graphics-related report features. Report writers who named working fields after English descriptions suffer collisions—prefix conventions prevent recurrence.
Figurative constant names familiar from COBOL tempted programmers to use them as field names for limits or sentinels. Reserving them aligns Easytrieve constant semantics with clearer figurative usage in expressions versus DEFINE blocks.
123456789* Before migration — field name collision DEFINE PAYROLL EXECUTE 1 A SET 1 A * After migration — prefixed names DEFINE PAYROLL WS-RUN-MODE 1 A WS-SET-IND 1 A
Reserved word conflicts produce recognizable SYSPRINT messages referencing the identifier and reserved status. Sort compile-all output by message text frequency—one macro fix may clear hundreds of identical errors. Archive listings with before/after renames for audit when financial reports are involved.
Reserved words are not always deprecated syntax—some are new capabilities. Deprecated constructs are obsolete features; reserved words are active grammar occupying names you once used for data. Migration projects track both lists separately but fix them in the same compile sweeps where possible.
New reserved words are when the teacher says "from now on SET is a command word, not a student name." If your friend was named Set, they need a nickname in class so the teacher knows when you mean the command. Rename the fields, update the class roster (macros), and practice the new names before the final test (function mode cutover).
1. 11.6 function mode migration most often breaks programs when:
2. Before cutover you should scan DEFINE lines for:
3. A practical rename pattern for a field named SET is:
4. Compatibility mode during migration allows:
5. Fixing reserved word conflicts in shared macros:
Broadcom New Reserved Words documentation for 11.6 function mode lists tokens including SET, EXECUTE, SYSUSERID, BREAK-LEVEL, DRAW, HIGH-VALUES, LOW-VALUES, and additional symbols. Verify the exact list on your installed maintenance PDF—site tutorials mirror common entries.
Reserved sets expand when new language features need unambiguous keywords. EXECUTE as a column label was harmless until EXECUTE became the activity invocation statement in function mode grammar.
Export DEFINE lines and macro symbols, grep against the New Reserved Words list, prioritize high-fan-out macros, and compile pilot samples. Enterprise dictionary tools help when available.
Rename in source for long-term maintainability. Workarounds if any are temporary; standards should require prefixes on new fields to reduce future collisions.
The reserved words index links to pages for SET, EXECUTE, SYSUSERID, BREAK-LEVEL, DRAW, HIGH-VALUES, LOW-VALUES, and others with examples and migration notes.