Verification state: verified on Linux on AWS CardDemo's data: the export file's five record types, selection criteria checked against an independent decode, a keyed compare of the account data, the ASCII and EBCDIC account files compared, a copybook reformatted, and test data read back by GnuCOBOL 3.1.2 with every NUMERIC test passed. Writes to z/OS are tested only against z/OSMF stand-ins, and the verification kit has no steps for them.
These commands work on local files, z/OS data sets and VSAM clusters opened in the Record Viewer. Every write to z/OS is refused for data sets matching neuralInverse.mainframe.readOnlyDatasets, and otherwise confirmed naming the system.
Templates
A template is a file templates/<NAME>.template.json in the project. It holds:
- the copybook, encoding and record format;
- the data sets and files it opens by default;
- record types told apart by criteria, each shown through its own REDEFINES;
- hidden fields and fields shown in hexadecimal;
- key fields;
- test data patterns.
| Command | What it does |
|---|---|
| Save Layout as Template... | Saves the open layout, with its record types, hidden and hexadecimal fields, as a template |
| Open With Template... | Opens a file or data set through a template |
| Show Record Type... | Shows the records of one record type through its layout |
| Hide or Show Fields... | Chooses the fields shown |
| Show Fields in Hexadecimal... | Chooses the fields shown as bytes |
Select records
Filter Records... takes selection criteria over decoded fields: comparisons, BETWEEN, IN, CONTAINS, level-88 condition names, AND, OR and NOT. Large files are read as a stream for printing and selection. Clear Record Filter shows all records again.
Compare records
Compare With... in the Record Viewer compares two files record by record:
- by the KSDS key, by key fields, or by position;
- across different layouts and encodings, for example an ASCII and an EBCDIC copy.
The result opens in a Record Compare tab with changed fields highlighted and announced to screen readers. Compare reads both files whole.
Copy with reformatting
Copy With Reformatting... copies records from one layout to another by field name. Numbers are carried by value, so a zoned field can become packed. Nothing is written if any value does not fit the target field.
Print records
Print Records... writes the records, formatted by their layout, to a file or a data set.
Create test data
Create Test Data... writes records with valid packed and zoned values, ascending keys and seeded values, following the template's test data patterns. The data written was read back by GnuCOBOL 3.1.2 with every NUMERIC test passed.