Upon recovery following a system failure:
Recovery data is automatically read back into memory and resumes processing at the command immediately following the last CriticalPoint logic statement.
The Glb.Recover built-in segment attribute is set to 1.
Extract files open at the last CriticalPoint logic statement are opened and positioned.
For files being written at the last CriticalPoint logic statement, report recovery restarts writing the report from the record written at the last critical point.
For files being read at the last CriticalPoint logic statement, report recovery restarts reading at the beginning of the file. To specify a different behavior, save the current record number, the Record built-in extract file attribute, in the data block and restore the value of the Record built-in extract file attribute if the report is restarted.
The Glb.FormDepth, Glb.LineCount, and Glb.PageCount built-in segment attributes are reset to their previous values at the last CriticalPoint logic statement. For all other built-in segment attributes:
If the report restarts from a CriticalPoint logic statement after the first output to the print file, built-in segment attributes are set to their values at the first output.
If the report restarts from a CriticalPoint logic statement before the first output to the print file, built-in segment attributes are restored to their default values.
Recovery data
When a CriticalPoint logic command is executed, recovery data is saved in every persistent attribute of a report. If recovery is initiated after a report has terminated unexpectedly, these saved values are restored.
The extract file activities related to the CriticalPoint logic command are listed in the following table.
File Status | Temporary File | Permanent File | Existing File |
---|---|---|---|
Not open for output | No action | No action | No action |
Open for output | Closed/Reopened | Closed/Reopened | Closed/Reopened |