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.

SECURE<br />

SECURE<br />

SECURE; is not a full logic command. It is a command option that can be specified with a<br />

DETERMINE; or LOOK.UP; command only, to facilitate record locking of the <strong>LINC</strong><br />

database in a non-Integrity <strong>LINC</strong> System.<br />

The SECURE; command option is applicable to No.Integrity Ispecs and Reports; that is,<br />

those that do not have the Integrity field set (to Y) on either their Ispec or Report Options<br />

screen and on the Primary Specification Options screen. Where the Integrity field is set,<br />

those Ispecs and Reports will automatically secure all required resources.<br />

The type of locking on each host type at runtime is described in the following subsections.<br />

For an MCP based <strong>LINC</strong> System<br />

The SECURE; command option facilitates record-level locking of the <strong>LINC</strong> database in a<br />

non-Integrity MCP based <strong>LINC</strong> System. The SECURE; command option locks the record<br />

that is read into memory by the associated LOOK.UP; or DETERMINE; command. The<br />

record remains locked until one of the following situations occur:<br />

$ The Ispec or Report logic is complete.<br />

$ A SLEEP; or CRITICAL.POINT; command is executed in Report logic.<br />

For an OS 2200 based <strong>LINC</strong> System<br />

The SECURE; command allows page-level locking of a non-Integrity OS 2200 based <strong>LINC</strong><br />

database. The SECURE; command option locks the page containing the record read into<br />

memory by the associated LOOK.UP; or DETERMINE; command. The page remains locked<br />

until:<br />

$ The Ispec or Report logic is complete.<br />

$ A SLEEP; command or CRITICAL.POINT; command is executed in Report logic.<br />

Note: If you use the SECURE; command option when reading a database record that<br />

has already been updated by logic earlier in your Ispec, then an RDMS error<br />

6002 (semantic error) and an RDMS ERROR 23030 (Table nnnn cannot be<br />

explicitly locked because it is currently locked explicitly or implicitly for<br />

update) will occur.<br />

Always append your SECURE; command option to a LOOK.UP; or<br />

DETERMINE; of the database record before the logic that updates the record. If<br />

an exclusive lock has already been placed on the table using the<br />

EXCLUSIVE.USE; command, the SECURE; command option will have no affect.<br />

v 1-211

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

Saved successfully!

Ooh no, something went wrong!