Find records described in two languages that disagree
ProprietaryCompare every assembler DSECT and every SAS INPUT statement with the COBOL record describing the same bytes, field by field, and mark the members compared. A shop that calls assembler from COBOL keeps a DSECT beside the copybook with a banner on both saying they have to match, and a shop that reports on a tape in SAS writes the copybook's offsets again as column numbers; nothing checks either, and a field added to one side and not the other points every field after it at the wrong data. The two joins differ: a DSECT names the copybook in the comment written above it, which is the only place the pairing is written down, and a SAS INPUT names a DD, so the COBOL record is the one an FD lays over the file that DD is assigned to. A record described the same on both sides still gets its rows, so an unchecked layout can be told from a checked one.
io. moderne. mainframe. layout. FindRecordLayoutDriftmod run . --recipe= io. moderne. mainframe. layout. FindRecordLayoutDriftInstall it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.