18.08.2013 Views

LINC Programming Reference Manual - Public Support Login - Unisys

LINC Programming Reference Manual - Public Support Login - Unisys

LINC Programming Reference Manual - Public Support Login - Unisys

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CRITICAL.POINT (CP)<br />

CRITICAL.POINT (CP)<br />

The CRITICAL.POINT; command is used in Reports to enable easy and rapid recovery<br />

following a system failure.<br />

Restrictions on CRITICAL.POINT; commands<br />

For an MCP based <strong>LINC</strong> System, CRITICAL.POINT; commands are not allowed with<br />

Reports being output to Video.<br />

There is a maximum limit of 99 Critical Points in one Report.<br />

The CRITICAL.POINT; command can be inserted anywhere in main Report logic, except<br />

within DETERMINE or LOOK.UP loops. It may be necessary to include logic to exit such<br />

loops before performing a Critical Point.<br />

What Happens at a Critical Point<br />

During normal operation, the following processes occur at a Critical Point:<br />

$ Recovery data is moved from memory to the <strong>LINC</strong> database.<br />

$ In Direct Reports printed under the <strong>LINC</strong> Report Output Control System (ROC), all<br />

print files are released, and completed parts of Direct Reports are printed. For a UNIX<br />

<strong>LINC</strong> System, if output is being directed to a file, this means that a new output file is<br />

created for each release. For LDA, all print files are released and all disk files (such as<br />

extract files) are closed. The release of print files can be inhibited by including the<br />

NO.RELEASE; command option.<br />

$ Profile information is reset. This means that after the Critical.Point, data must be<br />

retrieved from the <strong>LINC</strong> Database before FLAG; commands can be used successfully.<br />

Automatic Entries will function correctly without additional retrieval.<br />

Ensure that reference data items are brought into memory by DETERMINE; or<br />

LOOK.UP; commands before executing the CRITICAL.POINT; command.<br />

$ For UNIX and MCP based <strong>LINC</strong> Systems, an end-of-transaction is forced. (For an MCP<br />

based <strong>LINC</strong> System, in a <strong>LINC</strong> Report (including a <strong>LINC</strong> Report generated as a<br />

Coroutine), the CRITICAL.POINT; command performs an end transaction and then<br />

waits for any specified sleep time. See the CALL; command for details of Coroutines.)<br />

$ On OS 2200 based <strong>LINC</strong> Systems, a COMMIT of database updates occurs.<br />

$ For performance reasons, ensure that the number of Critical Points used is not<br />

excessive.<br />

$ Extract files that were open for output are CLOSED.<br />

On Recovery<br />

When recovery takes place after a system failure, the Critical Point performs an automatic<br />

read of recovery data back into memory and resumes processing at the instruction<br />

immediately following the most recently processed CRITICAL.POINT; command.<br />

v 1-69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!