A script-enabled browser is required for this page to function properly.

SYSTEM.RECORD_STATUS System Variable

Syntax

SYSTEM.RECORD_STATUS

Description

SYSTEM.RECORD_STATUS represents the status of the record where the cursor is located. The value can be one of four character strings:

CHANGED

Indicates that a queried record's validation status is Changed.

INSERT

Indicates that the record's validation status is Changed and that the record does not exist in the database.

NEW

Indicates that the record's validation status is New.

QUERY

Indicates that the record's validation status is Valid and that it was retrieved from the database.

Usage Notes

Both SYSTEM.RECORD_STATUS and the GET_RECORD_PROPERTY Built-in return the status of a record in a given block, and in most cases, they return the same status. However, there are specific cases in which the results may differ.

SYSTEM.RECORD_STATUS can in certain cases return a value of NULL, because SYSTEM.RECORD_STATUS is undefined when there is no current record in the system. For example, in a When-Clear-Block trigger, Oracle Forms is at the block level in its processing sequence, so there is no current record to report on, and the value of SYSTEM.RECORD_STATUS is NULL.

GET_RECORD_PROPERTY, on the other hand, always has a value of NEW, CHANGED, QUERY, or INSERT, because it returns the status of a specific record without regard to the processing sequence or whether the record is the current record.

SYSTEM.RECORD_STATUS Examples

Assume that you want to create a trigger that performs a commit before clearing a Changed record. The following Key-CLRREC trigger performs this function.

IF :System.Record_Status IN ('CHANGED', 'INSERT') THEN
Commit_Form;
END IF;
Clear_Record;


GET_RECORD_PROPERTY Built-in

SET_RECORD_PROPERTY Built-in

SYSTEM.BLOCK_STATUS examples