Skip to content

Answer key: compare RIDFLD and record-layout offsets/widths (unverified attributes the Java generator consumes) #3649

Description

@squid-protocol

The consumer audit for #3617 (PR #3648) found two attributes the Java generator depends on that no answer key compares:

  • RIDFLD: the key operand of EXEC CICS READ / STARTBR / …, from cics_resource_data.attributes. cics_resource_keys compares L<line> VERB KIND NAME q=… CLAUSE=RECORD, not RIDFLD. The generator uses it to key a CICS-only VSAM store.
  • Record field offsets and widths: GalaxyIR.record_layout, computed from PIC / USAGE / OCCURS. The record fields key compares item names only. The generator uses the positions to map IDCAMS keys onto entity fields, and Java conversion: CICS transactions + COMMAREA / channel contracts -> REST endpoints and request / response DTOs #3615 uses them for COMMAREA DTOs.

Both were spot-checked on #3648. The computed positions equal the IDCAMS KEYS(len off) on 10 of CardDemo's 11 clusters, the 25/11 AIX, and CBSA's 4/16 and 0/12. That is independent agreement, but it is not a keyed check.

Ask:

  1. Add RIDFLD=<operand> to the CICS resources comparison unit.
  2. Add a record layouts comparison: record: field @offset+width. The key computes offsets with its own reader, which must be independent of record_layout; see the independent-oracle pitfalls. Census it on the keyed corpora.

Relates to #3602 (copybook layouts unkeyed). Part of #3625.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions