Easytrieve SYSUSERID Reserved Word

SYSUSERID joins the SYS family of Easytrieve symbols—names that suggest system-provided information like SYSDATE for run date and SYSTIME for run time. In release 11.x the token became an active reserved word, which breaks legacy programs that used SYSUSERID as a field name for audit operator id, security logging, or SQL interface placeholders. Whether your release documents SYSUSERID as a read-only system field you can reference in TITLE and LINE or only as a reserved identifier, you must not DECLARE your own field with that spelling after migration. This page covers definition, migration impact, safe renames, audit trail alternatives, contrast with PARM USERID for databases, and how SYSUSERID fits beside other 11.6 New Reserved Words such as SET and EXECUTE.

Progress0 of 0 lessons

Definition and Purpose

SYSUSERID is listed in Broadcom Symbols and Reserved Words with reserved (R) status. The name implies system user identification—the security identity associated with the Easytrieve job or online session, such as a TSO userid on z/OS batch or interactive runs. Purpose in the language catalog is to reserve vocabulary for product-defined access to that identity without colliding with user data names. The 11.6 System-Defined Fields getting-started index prominently documents SYSDATE, SYSTIME, RETURN-CODE, and report fields; SYSUSERID may be documented on your release in security or system topics—confirm locally before coding DISPLAY SYSUSERID in production.

Version Introduced

Broadcom knowledge article 55109 and New Reserved Words migration list SYSUSERID among keywords that became active in Easytrieve Report Generator 11.x. Prior releases may have classified it as a future reserved word without enforcing collision. Function mode compile enforces the restriction.

SYSUSERID at a glance
AspectDetail
Reserved identifierCannot DEFINE or FILE field SYSUSERID
Migration list11.6 New Reserved Words
Naming familySYS* prefix like SYSDATE, SYSPRINT
Verify before referenceCheck Language Reference for read-only system use on your release

Can SYSUSERID Be Used as a Variable Name?

No. Rename any legacy DEFINE SYSUSERID, FILE field SYSUSERID, or copybook element with that exact spelling. Common replacements: WS-AUDIT-USERID, RPT-RUN-USER, FL-OPERATOR-ID, SEC-USER-TOKEN. Length and format should match your security standard—often eight characters on z/OS userids but sites may use longer surrogate keys in application fields.

SYSUSERID Versus PARM SQL USERID

Easytrieve SQL and database guides discuss USERID on PARM statements for database sign-on credentials—Oracle, DB2, Ingres examples show USERID with password parameters. That USERID is a PARM subparameter name for SQL connection, not permission to DEFINE a field SYSUSERID in working storage. Similarly JCL or printer definitions may specify USERID for output routing to a recipient. Keep three concepts separate: SQL PARM USERID, JCL output USERID, and language token SYSUSERID.

User identity mechanisms
MechanismRoleCan name field SYSUSERID?
PARM USERID (SQL)Database auth on compile or run
JCL USER= on JOB cardAccounting identity
SCREEN captureOperator enters id
SYSUSERID tokenReserved language symbol

Audit Trail Patterns Without Colliding Names

Reports that must show who ran a job often combine SYSDATE and a user field. When SYSUSERID cannot be your field name, populate a working storage field before PRINT: move from PARM passed in JCL, from screen AFTER-SCREEN validation, or from a CALL to a site security routine. TITLE lines can reference the working field; literals can still say User without using reserved tokens as names.

text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DEFINE WS-RUN-USER W 8 A DEFINE PARM-USER W 8 A PARM PARM-USER JOB INPUT TRANS MOVE PARM-USER TO WS-RUN-USER PRINT AUDIT-RPT STOP REPORT AUDIT-RPT LINESIZE 80 TITLE 01 'TRANSACTION AUDIT' TITLE 02 'RUN USER:' WS-RUN-USER ' DATE:' SYSDATE LINE TRANS-ID AMOUNT

JCL supplies PARM-USER from a symbolic or explicit operator id. SYSDATE is a documented system field; WS-RUN-USER is your renamed audit carrier. If your release documents SYSUSERID as a readable system value, you might reference it directly in TITLE instead of PARM—test in your sandbox first.

Online and CICS Considerations

SCREEN activities may capture operator id into a non-reserved field during AFTER-SCREEN, then MOVE to audit file fields on UPDATE. CICS environments may require conversational rules and explicit terminal user mapping. Do not assume batch PARM patterns work online without adaptation. Security teams may require standardized exit modules rather than application-specific userid fields.

Migration Scan and Rename

  1. Search DEFINE SYSUSERID and qualified FILE:SYSUSERID references.
  2. Check SQL copybooks and data dictionaries for column SYSUSERID.
  3. Update report TITLE and LINE items to use renamed audit fields.
  4. Reconcile with RACF or Top Secret audit requirements after rename.
  5. Document whether your 11.6 build supports reading SYSUSERID as system value.

Relation to Other New Reserved Words

SYSUSERID ships on the same migration list as EXECUTE, SET, BREAK-LEVEL, and LOGICAL-RECORD. Multi-word migration projects should use one grep pass for the full list rather than fixing SYSUSERID in isolation. Reserved words syntax page groups categories for planning.

Common SYSUSERID Mistakes

  • DEFINE SYSUSERID for audit id on 11.6.
  • Confusing SQL PARM USERID with language SYSUSERID.
  • Hard-coding userid in TITLE instead of parameterized audit field.
  • Renaming field but leaving old copybook in link without recompile.
  • Assuming SYSUSERID length matches database user without testing.

Explain It Like I'm Five

SYSUSERID is a special name tag the Easytrieve robot might use for who is running the program. You cannot put that exact name on your own name tag box because the robot reserved it. You can still write your name on a different sticker—like WS-MY-NAME—and show that on your report. Ask your grown-up at work whether the robot will tell you the name automatically on your computer version or whether you must pass the name in from outside.

Exercises

  1. Rename DEFINE SYSUSERID to WS-AUDIT-USER and update one TITLE line.
  2. Write a PARM-based JOB skeleton that prints user and SYSDATE on a report title.
  3. List three userid concepts that are not the SYSUSERID reserved identifier.
  4. Add SYSUSERID to a migration grep checklist with five other 11.6 words.
  5. Document one test to verify whether SYSUSERID is readable on your release.

Quiz

Test Your Knowledge

1. SYSUSERID on the 11.6 New Reserved Words list means:

  • Legacy DEFINE SYSUSERID fails compile until renamed
  • Every program must DISPLAY SYSUSERID
  • SYSUSERID replaces SYSDATE
  • SYSUSERID is JCL only

2. SYSUSERID appears in Symbols and Reserved Words as:

  • Reserved keyword in the SYS* family near SYSDATE and SYSTIME
  • Optional comment
  • FILE statement operand
  • Sort key type

3. A safe pattern for audit user id when SYSUSERID is unavailable:

  • PARM or working storage populated from JCL or security exit
  • DEFINE SYSUSERID anyway
  • Use JOB name as user id
  • Hard-code TSO in TITLE only

4. SYSUSERID became active in:

  • Easytrieve Report Generator 11.x
  • Release 6.4 only
  • Never
  • COBOL interop only

5. Printer SYSOUT USERID subparameter is:

  • Separate from SYSUSERID reserved word—JCL routing userid
  • Same as referencing SYSUSERID in JOB
  • Illegal on 11.6
  • A DEFINE alias
Published
Read time12 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom Easytrieve 11.6 Symbols and Reserved Words, New Reserved Words, KB 55109Sources: Broadcom Easytrieve 11.6 New Reserved Words, Symbols and Reserved Words, System-Defined Fields, KB 55109Applies to: Easytrieve SYSUSERID reserved word and migration