IX.8 The Output Files of Rejected Records (DDNAME=ERRFILx)

Each record in the Output Files of Rejected Records typically contains a Geosupport Return Code (GRC), a Reason Code and a copy of the user's input data record. The user may optionally request (via the WORKAREA1 control entry) that Work Area 1 should also be included in the output record. Work Area 1 contains the Geosupport Error Message(s) which may help the user to correct the input data. ERRFILE and ERRFIL2 are created when Work Area 1 is not requested. When Work Area 1 is requested, ERRFIL4 and ERRFIL5 are created instead of ERRFILE and ERRFIL2.

See more detail below on all the Output Files of Rejected Records, viz. ERRFILE, ERRFIL2, ERRFIL3, ERRFIL4 and ERRFIL5.

IX.8.1 ERRFILE

ERRFILE is mandatory when WORKAREA1=NO (which is the GBAT default). This output file contains a record for each ‘rejected’ input data record. The value of the REJECTWARNINGS option that is in effect determines which input data records are treated as rejects, as explained in Chapter IX.7.

Each ERRFILE record consists of four bytes, followed by an exact copy of the input data record. The four bytes consist of the two-byte GRC, followed by a one-byte filler containing a ‘-‘(dash character) for display readability, followed by the one-byte Reason Code. The LRECL of ERRFILE must always be four (4) greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFILE correctly in the JCL.

IX.8.2 ERRFIL2 (for use by Function 1B only)

ERRFIL2 is mandatory with RECTYPE=1B together with WORKAREA1=NO. It contains a record for each ‘rejected’ input data record. The value of the REJECTWARNINGS option that is in effect determines which input data records are treated as rejects, as explained in Chapter IX.7.

The contents of each ERRFIL2 record is as follows: The first 4 bytes contain the 2-byte GRC, followed by a dash, followed by the Reason Code for the Block Face level (Function 1E Extended) information. This is followed by 6 bytes of filler. Byte 11 contains the 2-byte GRC, followed by a dash, followed by the Reason Code for the Property level (Function 1A Extended) information. This is followed by 6 bytes of filler. The input record begins in byte 21. The LRECL of ERRFIL2 must always be 20 greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFIL2 correctly in the JCL.

The remainder of this section describes ERRFILE / ERRFIL2 processing.
It also applies to ERRFIL4 / ERRFIL5 processing correspondingly.

The GBAT output ERRFIL2 will contain all Function 1B records that were rejected for any reason. It will contain records that were rejected for:

  • The Block level but not the Property level call

  • The Property level but not for the Block level call

  • Both the Block and Property level calls (These rejects will also be in the ERRFILE)

If the input record has been rejected for both Block and Property level information, the output error record will be found both in the ERRFILE output error file, as well as the ERRFIL2 error file. The ERRFILE output record will have the GRC of the results of the Block level call (i.e. Function 1E), and corresponds to the GRC and Reason Code in Work Area 1. ERRFIL2 will have the same output error record and will contain both the GRC and Reason code and the newly defined GRC2 and its corresponding Reason Code. (There will be no Work Area 2 returned by GBAT when the record is rejected for both Block an Property level information.)

Note: If you are not using Function 1B, you do not have to add ERRFIL2 to your GBAT JCL. The file is not opened. No changes have to be made. However, if you are using GBAT for a Function 1B call, GBAT will abend if you do not add a DD card for ERRFIL2 to your JCL.

IX.8.3 ERRFIL3 (for use by Function 2 with RELATEDNODES=YES)

ERRFIL3 is mandatory with RECTYPE=2 and RELATEDNODES=YES. It contains a record for each input data record that is rejected with GRC 03 and Reason Code B (‘many-node case’).

When the requested streets intersect more than twice (GRC 03), if the user has set RELATEDNODES to YES s/he will get a special error file, ERRFIL3, with a logical record length of 3352 + length of the user’s input. The ERRFIL3 record will include for each of the many nodes, the Node ID and the streets (as B7SCs) at the nodes. Therefore, to process streets that intersect more than twice, the GBAT user need only add the RELATEDNODES=YES option to get the information needed. S/He does not have to run a Function 2W GBAT run.

The contents of each ERRFIL3 record is as follows: The first 4 bytes contain the 2-byte GRC (‘03’), followed by a dash, followed by the 1-byte Reason Code (‘B’). This is followed by 6 bytes of filler. A copy of the input record begins in byte 11. The input record is followed by the list of nodes and the B7SCs at the nodes. The LRECL of ERRFIL3 must always be 3352 greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFIL3 correctly in the JCL.

GBAT - ERRFIL3 Record Layout
Length Positions Contents
4 1-4 ’03-B’ (which is the GRC-Reason Code)
6 5-10 Blanks
Length of I/P record 11-nn User’s input record
2 After input record True Replication Counter (maximum of 20) (matches bytes 259-260 of Function 2W’s Work Area 2)
140 After input record + 2 List of up to 20 Node ID (7 bytes each) (matches bytes 261-400 of Function 2W’s Work Area 2)
3200 After input record + 142 List of B7SCs for Nodes. (matches bytes 401-3600 of Function 2W’s Work Area 2) ([See Appendix 13](../../../appendices/appendix13/) - layout of Function 2W’s Work Area 2)
Total length: 3352 + Length of user’s input record

The count of the records in the new ERRFIL3 file will match the statistics for:

 03 – STREETS INTERSECT MORE THAN TWICE – USE NODE AS INPUT.

Note that the rejected input records will also still appear in the regular reject file (ERRFILE) in the standard ERRFILE format.

Important JCL Note: ERRFIL3 must be defined in the user’s JCL for RELATEDNODES to take effect. If DDname ERRFIL3 is undefined in the user’s JCL, the file will default to DD DUMMY which will not give an appropriate length. The execution will fail with a programmed abnormal termination and a Condition Code of 15. See the following error message which will appear in the output.

Condition Code: 15
GBAT Error Message:
ERROR: THE RECORD LENGTH OF ERRFIL3 MUST EQUAL THE RECORD LENGTH OF THE INPUT FILE PLUS 3352.
RECORD LENGTH OF THE INPUT FILE =       xxx    RECORD LENGTH OF ERRFIL3 =   yyy 

Note: If you are not using RELATEDNODES, you do not have to add ERRFIL3 to your GBAT JCL. The file is not opened. No changes have to be made.

IX.8.4 ERRFIL4 (for use with WORKAREA1=YES)

ERRFIL4 is mandatory when WORKAREA1=YES. This output file contains a record for each ‘rejected’ input data record. The value of the REJECTWARNINGS option that is in effect determines which input data records are treated as rejects, as explained in Chapter IX.7.

The ERRFIL4 record is the same as the ERRFILE record, except that it also includes a copy of Work Area 1. Each ERRFIL4 record consists of four bytes, followed by an exact copy of the input data record, followed by a copy of Work Area 1. The four bytes consist of the two-byte GRC, followed by a one-byte filler containing a ‘-‘(dash character) for display readability, followed by the one-byte Reason Code. The Work Area 1 is 1,200 bytes long. The LRECL of ERRFIL4 must always be 1,204 greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFIL4 correctly in the JCL.

IX.8.5 ERRFIL5 (for use by Function 1B only - with WORKAREA1=YES)

ERRFIL5 is mandatory when RECTYPE=1B together with WORKAREA1=YES. It contains a record for each ‘rejected’ input data record. The value of the REJECTWARNINGS option that is in effect determines which input data records are treated as rejects, as explained in Chapter IX.7.

The ERRFIL5 record is the same as the ERRFIL2 record, except that it also includes a copy of Work Area 1. The contents of each ERRFIL5 record is as follows: The first 4 bytes contain the 2-byte GRC, followed by a dash, followed by the Reason Code for the Block Face level (Function 1E Extended) information. This is followed by 6 bytes of filler. Byte 11 contains the 2-byte GRC, followed by a dash, followed by the Reason Code for the Property level (Function 1A Extended) information. This is followed by 6 bytes of filler. The input record begins in byte 21. The 1,200-byte Work Area 1 follows the input record. The LRECL of ERRFIL5 must always be 1,220 greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFIL5 correctly in the JCL.

ERRFIL5 processing is identical to ERRFIL2 processing (except for the Work Area 1 which appears in the ERRFIL5 record). See the description in IX.8.2 above for further information.