Repository navigation
CICS macro tables (DFHFCT/PCT/PPT/DCT/TST) into the resource map; CSD+macro merge names conflicts (Part of #5120) - #5153
Conversation
… provenance; merged CSD+macro map names conflicts (Part of #5120) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…s (Part of #5120) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…E=FILE + retained DATASET spelling, SDSCI RECFORM full value set, PPT MAPSET/PARTITIONSET, DCT INTRA TRANSID/TRIGLEV (Part of #5120) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
|
PR #5153 @ bb8b75c: 1 failed check(s) == Small audits (failure) -- real |
…s writes dynamically (Part of #5120) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
|
No description provided. |
Part of #5120.
What
The assembled CICS macro tables -- DFHFCT, DFHPCT, DFHPPT, DFHDCT, DFHTST -- are read as resource definitions in the same row shape the CSD path produces, and merged with CSD decks into one resource map.
core/cics_macro_tables.py(hlasm dialect ->csd_resources). Syntax read from IBM (cited in the module header with page numbers): CICS TS for OS/390 R3 CICS Resource Definition Guide SC33-1684-30 ch.13 (macro reference) and ch.16 (macro -> RDO attribute table); CICS for MVS/ESA Migration Guide V4R1 GC33-1162-04 ch.3; IBM APAR II05097.TYPE=FILE,FILE=and the retainedTYPE=DATASET,DATASET=("exactly the same", RDG p.391/402),TYPE=REMOTE; DSNAME, RECFORM first element (U/V/F), KEYLEN, LRECL -> record_size.TYPE=ENTRY-> TRANSACTION; PPTTYPE=ENTRY-> PROGRAM, MAPSET or PARTITIONSET by the operand that names it.TRANSID=(transid column) andTRIGLEV=(default 1 with TRANSID, max 32767, asTRIGGERLEVEL(n)inattributes). EXTRA takes ddname from DSCNAME and RECFORM/RECSIZE from its SDSCI; all twelve RECFORM words map to the CSD TDQUEUE spelling (FIXED/VARIABLE) with BLOCKFORMAT BLOCKED/UNBLOCKED and PRINTCONTROL ASA/MACHINE kept inattributes(RDG p.534 note 7). SDSCI has no DSNAME operand, so none is lifted.attributes;TYPE=ENTRY= RECOVERY.PARTITIONSET=/PARTSET=spelling, SDSCIRECFORM=UNDEFINED(kept as text, no format claimed), VSAM-era FCT entries read with the BDAM operands. REFUSED: FCTRECSIZE(not an FCT operand),DATAID=(),TYPE=SHARED, INITIAL/FINAL/GROUP, unlisted TYPE / RECFORM words, DESTID over 4 chars is truncated only for EXTRA as the manual says.csd_resource_datagainssource(CSD|MACRO) andmacro_table;line_numberis the macro statement's line. Healed into old DBs; a pre-scanner: parse CICS resource macro tables (DFHFCT / DFHPCT / DFHPPT / DFHDCT / DFHTST) into the resource map #5120 baseline restores as CSD. CSD rows gain no keys.GalaxyIR.resource_map()/resource_conflicts(): per (type, name) merge with every definition's provenance; a field merges only if all stating definitions agree (no silent winner); attribute disagreements andonly_inare named. Macro FILEs join dataset lineage viacics_file_datasets.Class
Resource-definition sources (CSD, macro tables). Covered: FCT, PCT, PPT (program, mapset, partition set), DCT (incl. ATI trigger), TST.
Tests
tests/core_engine/test_cics_macro_tables.py(each table/TYPE, continuation, comments, lower case, malformed, CPU bound),tests/tools_recorders/test_csd_resource_data.py(round trip, delta, old-schema),tests/cobol_mainframe/test_cics_resource_map.py(real scans oftests/fixtures/cics_macro_estate/{tables_only,tables_and_csd}: merge, conflicts, only_in, dataset join).Gates
pr_gates --fast6/6;--ratchets7 pass / 0 fail / 0 skipped (rerun after the IBM-syntax revision). Golden masters not re-run: no local language-crucible checkout; CSD rows are unchanged and the only new rows come from hlasm files that contain DFH table macros (CI's crucible-audit will show any mover).Sibling gaps
DFHSIT/SRT/JCT/TCT/MCT; the CICS/VS and CICS/ESA 3.x Resource Definition (Macro) manuals themselves (to firm up the ASSUMED PCT/PPT operands); macro tables assembled inside JCL; runtime CEDA/CEMT state.
tests/tools/era_tags.pyuntouched (PR #5150).Cross-repo: none.
🤖 Generated with Claude Code