SYSTEM.BLOCK_STATUS
SYSTEM.COORDINATION_OPERATION
SYSTEM.CURRENT_BLOCK
SYSTEM.CURRENT_DATETIME
SYSTEM.CURRENT_FORM
SYSTEM.CURRENT_ITEM
SYSTEM.CURRENT_VALUE
SYSTEM.CURSOR_BLOCK
SYSTEM.CURSOR_ITEM
SYSTEM.CURSOR_RECORD
SYSTEM.CURSOR_VALUE
SYSTEM.CUSTOM_ITEM_EVENT
SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS
SYSTEM.DATE_THRESHOLD*
SYSTEM.EFFECTIVE_DATE*
SYSTEM.EVENT_WINDOW
SYSTEM.FORM_STATUS
SYSTEM.LAST_QUERY
SYSTEM.LAST_RECORD
SYSTEM.MASTER_BLOCK
SYSTEM.MESSAGE_LEVEL*
SYSTEM.MODE
SYSTEM.MOUSE_BUTTON_PRESSED
SYSTEM.MOUSE_BUTTON_SHIFT_STATE
SYSTEM.MOUSE_CANVAS
SYSTEM.MOUSE_ITEM
SYSTEM.MOUSE_RECORD
SYSTEM.MOUSE_RECORD_OFFSET
SYSTEM.MOUSE_X_POS
SYSTEM.MOUSE_Y_POS
SYSTEM.RECORD_STATUS
SYSTEM.SUPPRESS_WORKING*
SYSTEM.TAB_NEW_PAGE
SYSTEM.TAB_PREVIOUS_PAGE
SYSTEM.TRIGGER_BLOCK
SYSTEM.TRIGGER_ITEM
SYSTEM.TRIGGER_RECORD
Den vier mit * gekennzeichneten Variablen können auch Werte zugewiesen werden.
SYSTEM.BLOCK_STATUS system variable
Syntax
SYSTEM.BLOCK_STATUS
Description
SYSTEM.BLOCK_STATUS represents the status of a Data block where the cursor is located,
or the current data block during trigger processing.
The value can be one of three character strings:
CHANGED Indicates that the block contains at least one Changed record.
NEW Indicates that the block contains only New records.
QUERY Indicates that the block contains only Valid records that have been
retrieved from the database.
Usage Notes
Each time this value is referenced, it must be constructed by Form Builder.
If a block contains a large number of records, using SYSTEM.BLOCK_STATUS could
adversely affect performance.
SYSTEM.COORDINATION_OPERATION system variable
Syntax
SYSTEM.COORDINATION_OPERATION
Description
This system variable works with its companion SYSTEM.MASTER_BLOCK to help an
On-Clear-Details trigger determine what type of coordination-causing operation fired
the trigger, and on which master block of a master/detail relation.
The values of the two system variables remain constant throughout the clearing phase of
any block synchronization. SYSTEM.MASTER_BLOCK represents the name of the driving master
block, and SYSTEM.COORDINATION_OPERATION represents the coordination-causing event that
occurred on the master block.
The Clear_All_Master_Details procedure, which is automatically
generated when a relation is created, checks the value of
SYSTEM.COORDINATION_OPERATION to provide special handling forreated, checks treated, checks the value of
SYSTEM.COORDINATION_OPERATION to provide special handling for the CLEAR_RECORD
and SYNCHRONIZE events, which may be different from the handling for other
coordination-causing events. The Clear_All_Master_Details procedure also
checks the value of SYSTEM.MASTER_BLOCK , to verify that while it is
processing the master block of a relation coordination, it is searching
only for blocks containing changes.
For example, given the relation hierarchy between blocks shown below,
moving to the next record using the [Next Record] key or the Record,
Next menu command while in Block C would cause blocks E, F, G, and H to be
cleared (and perhaps subsequently queried, depending on the
Deferred_Coordination property of the CE and the CF relations).
When the On-Clear-Details trigger fires for block C, the result is:
:System.Cooordination_Operation = 'NEXT_RECORD'
:System.Master_Block = 'C'
The Clear_All_Master_Details procedure will clear all of block C's details,
causing a "chain reaction" of Clear_Block operations. Consequently,
block F is cleared.
Since F is a master for both G and H, and it is being cleared,
an On-Clear-Details trigger will fire for block F as well.
However, since the clearing of block F was driven (indirectly) by a
coordination-causing event in block C, these remain the values in the
On-Clear-Details trigger for block F:
:System.Cooordination_Operation = 'NEXT_RECORD'
:System.Master_Block = 'C'
Note: The values of these two system variables are well-defined only in the
scope of an On-Clear-Details trigger, or any program unit called by that trigger.
Outside this narrow context, the values of these two variables are undefined and should
not be used.
The possible values of SYSTEM.COORDINATION_OPERATION, when it is appropriate to
check that variable, are described in the following table.
| Value | Description | Caused By |
| MOUSE | Mouse to non-current record | Mouse |
| UP | Move up a record | Menu, key, PL/SQL |
| DOWN | Move down a record | Menu, key, PL/SQL |
| SCROLL_UP | Scroll up records | Menu, key, PL/SQL |
| SCROLL_DOWN | Scroll down records | Mouse, key, PL/SQL |
| CLEAR_BLOCK | Clear current block | Menu, key, PL/SQL |
| CLEAR_RECORD | Clear current record | Menu, key, PL/SQL |
| CREATE_RECORD | Create new record | Mouse, menu, key, PL/SQL |
| DELETE_RECORD | Delete current record | Menu, key, PL/SQL |
| DUPLICATE_RECORD | Duplicate current record | Menu, key, PL/SQL |
| FIRST_RECORD | Move to first record | PL/SQL |
| LAST_RECORD | Move to last record | PL/SQL |
| NEXT_RECORD | Move to next record | Mouse, menu, key, PL/SQL |
| PREVIOUS_RECORD | Move to previous record | Mouse, menu, key, PL/SQL |
| GO_RECORD | Jump to record by number | PL/SQL |
| ENTER_QUERY | Enter Query mode | Menu, key, PL/SQL |
| EXECUTE_QUERY | Execute query | Menu, key, PL/SQL |
| COUNT_QUERY | Count queried records | Menu, key, PL/SQL |
| NEXT_SET | Fetch next set of records | Menu, key, PL/SQL |
| SYNCHRONIZE_ BLOCKS | Resume after commit error | Internal only |
SYSTEM.CURRENT_BLOCK system variable
Syntax
SYSTEM.CURRENT_BLOCK
Description
The value that the SYSTEM.CURRENT_BLOCK system variable represents depends on the
current navigation unit:
If the current navigation unit is the block, record, or item (as in the
Pre- and Post- Item, Record, and Block triggers), the value of
SYSTEM.CURRENT_BLOCK is the name of the block that Form Builder is processing
or that the cursor is in.
If the current navigation unit is the form (as in the Pre- and Post-Form
triggers), the value of SYSTEM.CURRENT_BLOCK is NULL.
The value is always a character string.
Note: SYSTEM.CURRENT_BLOCK is included for compatibility with previous versions.
Oracle Corporation recommends that you use SYSTEM.CURSOR_BLOCK and
SYSTEM.TRIGGER_BLOCK instead.
SYSTEM.CURRENT_DATETIME system variable
Syntax
SYSTEM.CURRENT_DATETIME
Description
SYSTEM.CURRENT_DATETIME is a variable representing the operating system date.
The value is a CHAR string in the following format:
DD-MON-YYYY HH24:MM:SS
Default
current date
Usage Notes
SYSTEM.CURRENT_DATETIME is useful when you want to use the current operating
system date and time in a PL/SQL trigger or procedure.
By using SYSTEM.CURRENT_DATETIME instead of $$DBDATETIME$$, you can avoid
the performance impact caused by querying the database.
Note: Local time and database time may differ.
SYSTEM.CURRENT_FORM system variable
Syntax
SYSTEM.CURRENT_FORM
Description
SYSTEM.CURRENT_FORM represents the name of the form that Form Builder is executing.
The value is always a character string.
Usage Notes
You can use the GET_APPLICATION_PROPERTY built-in to obtain
the name of the current form.
SYSTEM.CURSOR_BLOCK system variable
Syntax
SYSTEM.CURSOR_BLOCK
Description
The value that the SYSTEM.CURSOR_BLOCK system variable represents depends on the
current navigation unit:
If the current navigation unit is the block, record, or item (as in
the Pre- and Post- Item, Record, and Block triggers), the value of
SYSTEM.CURSOR_BLOCK is the name of the block where the cursor is located.
The value is always a character string.
If the current navigation unit is the form (as in the Pre- and Post-Form
triggers), the value of SYSTEM.CURSOR_BLOCK is NULL.
SYSTEM.CURSOR_ITEM system variable
Syntax
SYSTEM.CURSOR_ITEM
Description
SYSTEM.CURSOR_ITEM represents the name of the block and item, block.item,
where the input focus (cursor) is located.
The value is always a character string.
Usage Notes
Within a given trigger, the value of SYSTEM.CURSOR_ITEM changes when
navigation takes place. This differs from SYSTEM.TRIGGER_ITEM, which remains
the same from the beginning to the end of single trigger.
SYSTEM.CURSOR_RECORD system variable
Syntax
SYSTEM.CURSOR_RECORD
Description
SYSTEM.CURSOR_RECORD represents the number of the record where the cursor
is located. This number represents the record's current physical order in
the block's list of records. The value is always a character string.
SYSTEM.CURSOR_VALUE system variable
Syntax
SYSTEM.CURSOR_VALUE
Description
SYSTEM.CURSOR_VALUE represents the value of the item where the cursor is
located. The value is always a character string.
Usage Notes
Be aware that in triggers where the current navigation unit is not the item,
such as Pre-Record , and Pre-Block triggers, SYSTEM.CURSOR_VALUE will contain
the value of the item navigated from, rather than the value of the item navigated to.
SYSTEM.CUSTOM_ITEM_EVENT system variable
Syntax
SYSTEM.CUSTOM_ITEM_EVENT
Description
SYSTEM.CUSTOM_ITEM_EVENT stores the name of the event fired by a VBX (in 16-bit
Microsoft Windows) or ActiveX (in 32-bit Windows) control.
SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS system variable
Syntax
SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS
Description
SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS stores the supplementary arguments for an event
fired by a VBX (in 16-bit Microsoft Windows) or ActiveX (in 32-bit Windows) control.
SYSTEM.DATE_THRESHOLD system variable
Syntax
SYSTEM.DATE_THRESHOLD
Description
SYSTEM.DATE_THRESHOLD represents the database date requery threshold.
This variable works in conjunction with the three system variables $$DBDATE$$,
$$DBDATETIME$$, and $$DBTIME$$, and controls how often Form Builder synchronizes
the database date with the RDBMS. The value of this variable must be specified
in the following format:
MI:SS
Because frequent RDBMS queries can degrade performance, it is best to keep this
value reasonably high. However, keep in mind that if the value is not synchronized
often enough, some time discrepancy can occur. In addition, if you are building
a client/server application, the performance implications of SYSTEM.DATE_THRESHOLD
could vary depending on the complexity of your network configuration.
Default
01:00 (Synchronization occurs after one minute of elapsed time.)
This does not mean that Form Builder polls the RDBMS once every minute.
It means that whenever Form Builder needs to generate the value for the
system variables $$DBDATE$$, $$DBDATETIME$$, $$DBTIME$$, or SYSTEM.EFFECTIVE_DATE,
it updates the effective date by adding the amount of elapsed time (as measured by
the local operating system) to the most previously queried RDBMS value.
If the amount of elapsed time exceeds the date threshold, then a new query is
executed to retrieve the RDBMS time and the elapsed counter is reset.
Usage Notes
If a form never references the database date, Form Builder never executes a query
to retrieve the RDBMS date, regardless of the value of SYSTEM.DATE_THRESHOLD.
The operating system clock and the RDBMS clock rarely drift by more than one or
two seconds, even after hours of elapsed time. However, since your database
administrator can reset the RDBMS clock at any time, it is safest to set the
threshold no higher than a few minutes.
Often, a Form Builder block may contain multiple references to these $$DBDATE$$,
$$DBDATETIME$$, or $$DBTIME$$ defaults. By setting SYSTEM.DATE_THRESHOLD to the
default of one minute, nearly all such references in a form can be satisfied with
a single query of the RDBMS.
SYSTEM.EFFECTIVE_DATE system variable
Syntax
SYSTEM.EFFECTIVE_DATE
Description
SYSTEM.EFFECTIVE_DATE represents the effective database date. The
variable value must always be in the following format:
DD-MON-YYYY HH24:MI:SS
Default
RDBMS date
Usage Notes
This system variable is convenient for testing. Since you can use it to
set a specific time, the time on the screen during an application would not
cause subsequent test results to appear different than the known valid output.
SYSTEM.EVENT_WINDOW system variable
Syntax
SYSTEM.EVENT_WINDOW
Description
The SYSTEM.EVENT_WINDOW system variable represents the name of the last
window that was affected by an action that caused one of the window event
triggers to fire. The following triggers cause this variable to be updated:
WHEN-WINDOW-ACTIVATED
WHEN-WINDOW-CLOSED
WHEN-WINDOW-DEACTIVATED
WHEN-WINDOW-RESIZED
From within these triggers, assign the value of the variable to any of the following:
global variable
parameter
variable
item, including a null canvas item
SYSTEM.FORM_STATUS system variable
Syntax
SYSTEM.FORM_STATUS
Description
SYSTEM.FORM_STATUS represents the status of the current form. The value can be
one of three character strings:
CHANGED Indicates that the form contains at least one block with a Changed record.
The value of SYSTEM.FORM_STATUS becomes CHANGED only after at least one record in
the form has been changed and the associated navigation unit has also changed.
NEW Indicates that the form contains only New records.
QUERY Indicates that a query is open. The form contains at least one block
with QUERY records and no blocks with CHANGED records.
Usage Notes
Each time this value is referenced, it must be constructed by Form Builder.
If a form contains a large number of blocks and many records, using SYSTEM.FORM_STATUS
could affect performance.
SYSTEM.LAST_QUERY system variable
Syntax
SYSTEM.LAST_QUERY
Description
SYSTEM.LAST_QUERY represents the query SELECT statement that Form Builder most
recently used to populate a block during the current Runform session. The value
is always a character string.
SYSTEM.LAST_RECORD system variable
Syntax
SYSTEM.LAST_RECORD
Description
SYSTEM.LAST_RECORD indicates whether the current record is the last record in
a block's list of records. The value is one of the following two CHAR values:
TRUE Indicates that the current record is the last record in the current
block's list of records.
FALSE Indicates that the current record is not the last record in the current
block's list of records.
SYSTEM.MASTER_BLOCK system variable
Syntax
SYSTEM.MASTER_BLOCK
Description
This system variable works with its companion SYSTEM.COORDINATION_OPERATION to
help an On-Clear-Details trigger determine what type of coordination-causing
operation fired the trigger, and on which master block of a master/detail relation.
The values of the two system variables remain constant throughout the clearing
phase of any block synchronization. SYSTEM.MASTER_BLOCK represents the name of
the driving master block, and SYSTEM_COORDINATION_OPERATION represents the
coordination-causing event that occurred on the master block.
Please see the reference topic for SYSTEM.COORDINATION_OPERATION for more information.
SYSTEM.MESSAGE_LEVEL system variable
Syntax
SYSTEM.MESSAGE_LEVEL
Description
SYSTEM.MESSAGE_LEVEL stores one of the following message severity levels: 0, 5,
10, 15, 20, or 25. The default value is 0.
SYSTEM.MESSAGE_LEVEL can be set to either a character string or a number. The
values assigned can be any value between 0 and 25, but values lower than 0 or
higher than 25 will generate an error.
During a Runform session, Form Builder suppresses all messages with a severity
level that is the same or lower (less severe) than the indicated severity level.
Assign a value to the SYSTEM.MESSAGE_LEVEL system variable with standard PL/SQL
Syntax:
:System.Message_Level := value;
The legal values for SYSTEM.MESSAGE_LEVEL are 0, 5, 10, 15, 20,and 25.
Form Builder does not suppress prompts or vital error messages, no matter what
severity level you select.
SYSTEM.MODE system variable
Syntax
SYSTEM.MODE
Description
SYSTEM.MODE indicates whether the form is in Normal, Enter Query, or Fetch
Processing mode. The value is always a character string.
NORMAL Indicates that the form is currently in normal processing mode.
ENTER-QUERY Indicates that the form is currently in Enter Query mode.
QUERY Indicates that the form is currently in fetch processing mode, meaning
that a query is currently being processed.
Usage Notes
When using SYSTEM.MODE to check whether the current block is in Enter Query mode,
be aware that if testing from a When-Button-Pressed trigger in a control block,
Enter Query mode will never be entered, because the control block is not the
current block.
SYSTEM.MOUSE_BUTTON_PRESSED system variable
Syntax
SYSTEM.MOUSE_BUTTON_PRESSED
Description
SYSTEM.MOUSE_BUTTON_PRESSED indicates the number of the button that was clicked,
either 1, 2, or 3 (left, middle, or right). The value is always a character string.
Notes:
On Motif platforms pressing the right mouse button will not set the
SYSTEM.MOUSE_BUTTON_PRESSED value.
SYSTEM.MOUSE_BUTTON_SHIFT_STATE system variable
Syntax
SYSTEM.MOUSE_BUTTON_SHIFT_STATE
Description
SYSTEM.MOUSE_BUTTON_SHIFT_STATE indicates the key that was pressed during the click,
such as SHIFT, ALT, or CONTROL. The value is always a character string.
The string itself may depend on the user's platform. For example,
in Microsoft Windows, the strings returned are in the language of the operating system.
Key Pressed Value
SHIFT Shift+
CONTROL Ctrl+
ALT Alt+
SHIFT+CONTROL Shift+Ctrl+
SYSTEM.MOUSE_ITEM system variable
Syntax
SYSTEM.MOUSE_ITEM
Description
If the mouse is in an item, SYSTEM.MOUSE_ITEM represents the name of
that item as a CHAR value. For example, if the mouse is in Item1 in Block2,
the value for SYSTEM.MOUSE_ITEM is :BLOCK2.ITEM1.
SYSTEM.MOUSE_ITEM is NULL if:
the mouse is not in an item
the operator presses the left mouse button, then moves the mouse
the platform is not a GUI platform
SYSTEM.MOUSE_CANVAS system variable
Syntax
SYSTEM.MOUSE_CANVAS
Description
If the mouse is in a canvas, SYSTEM.MOUSE_CANVAS represents the name of that
canvas as a CHAR value. If the mouse is in an item, this variable represents the
name of the canvas containing the item.
SYSTEM.MOUSE_CANVAS is NULL if:
the mouse is not in a canvas
the operator presses the left mouse button, then moves the mouse
the platform is non-GUI
SYSTEM.MOUSE_X_POS system variable
Syntax
SYSTEM.MOUSE_X_POS
Description
SYSTEM.MOUSE_X_POS represents (as a CHAR value) the x coordinate of the mouse
in the units of the current form coordinate system. If the mouse is in an item,
the value is relative to the upper left corner of the item's bounding box. If the
mouse is on a canvas, the value is relative to the upper left corner of the canvas.
Note: SYSTEM.MOUSE_X_POS is always NULL on character-mode platforms.
SYSTEM.MOUSE_Y_POS system variable
Syntax
SYSTEM.MOUSE_Y_POS
Description
SYSTEM.MOUSE_Y_POS represents (as a CHAR value) the y coordinate of the mouse,
using units of the current coordinate system. If the mouse is in an item,
the value is relative to the upper left corner of the item's bounding box.
If the mouse is on a canvas, the value is relative to the upper left
corner of the canvas.
Note: SYSTEM.MOUSE_Y_POS is always NULL on character-mode platforms.
SYSTEM.MOUSE_RECORD system variable
Syntax
SYSTEM.MOUSE_RECORD
Description
If the mouse is in a record, SYSTEM.MOUSE_RECORD represents that record's
record number as a CHAR value.
Note: SYSTEM.MOUSE_RECORD is 0 if the mouse is not in an item (and thus,
not in a record).
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, Form Builder 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.SUPPRESS_WORKING system variable
Syntax
SYSTEM.SUPPRESS_WORKING
Description
SYSTEM.SUPPRESS_WORKING suppresses the "Working..." message in Runform,
in order to prevent the screen update usually caused by the display of the
"Working..." message. The value of the variable is one of the
following two CHAR values:
TRUE Prevents Form Builder from issuing the "Working..." message.
FALSE Allows Form Builder to continue to issue the "Working..." message.
SYSTEM.TAB_NEW_PAGE system variable
Syntax
SYSTEM.TAB_NEW_PAGE
Description
The system variable SYSTEM.TAB_NEW_PAGE specifies the name of the tab page
to which navigation occurred. Use it inside a When-Tab-Page-Changed trigger.
SYSTEM.TAB_PREVIOUS_PAGE system variable
Syntax
SYSTEM.TAB_PREVIOUS_PAGE
Description
The system variable SYSTEM.TAB_PREVIOUS_PAGE specifies the name of the
tab page from which navigation occurred. Use it inside a
When-Tab-Page-Changed trigger.
SYSTEM.TRIGGER_BLOCK system variable
Syntax
SYSTEM.TRIGGER_BLOCK
Description
SYSTEM.TRIGGER_BLOCK represents the name of the block where the cursor
was located when the current trigger initially fired. The value is NULL if
the current trigger is a Pre- or Post-Form trigger.
The value is always a character string.
SYSTEM.TRIGGER_ITEM system variable
Syntax
SYSTEM.TRIGGER_ITEM
Description
SYSTEM.TRIGGER_ITEM represents the item (BLOCK.ITEM) in the scope
for which the trigger is currently firing.
When referenced in a key trigger, it represents the item where the
cursor was located when the trigger began.
The value is always a character string.
Usage Notes
SYSTEM.TRIGGER_ITEM remains the same from the beginning to the end
of given trigger. This differs from SYSTEM.CURSOR_ITEM, which may change
within a given trigger when navigation takes place.
SYSTEM.TRIGGER_RECORD system variable
Syntax
SYSTEM.TRIGGER_RECORD
Description
SYSTEM.TRIGGER_RECORD represents the number of the record that Form Builder
is processing. This number represents the record's current physical order
in the block's list of records. The value is always a character string.
No comments:
Post a Comment