If GLI was running when your application terminated abnormally, then GLI is restarted when the application recovers. In this recovery situation, the first output passed back to your driver program from GLI has the following form:
RECOVE number
The number value returned is an eight-digit number indicating the number of records in the input file that were successfully processed by GLI. Make provision in your driver program to skip this exact number of input records if the recovery status message (RECOVE) is received.
GLI produces a work file named system/FORMSGLI, which is used by GLI Recovery and is purged by GLI at normal End-of-Job. If you want to bypass GLI Recovery, remove this file.
If the system/FORMSGLI file is not present on a recovery GLI run, then the output passed back to your user GLI program from GLI has the following form:
RECOVE number REQHEADERS
This means that the header records must be sent to the GLI program again. To run recovery, all records must be sent in again. The header records are processed by the GLI program and the data records are rejected if they have been entered before. This is based on a counter of records received from the GLI user program.
To abort recovery and treat this as a new run with new data, the user GLI program must send the following back as its first input:
NORECO;
Note: GLI does not detect values of Glb.Spaces or GLB.ZEROS declared for an Ordinate.