Form Quick Reference                   DEBUG.
SETx(varname)                     Query Processing                          Validation Status
Trigger Scope                                  RAISE DEBUG.BREAK                       1. Fire Pre-Query trigger                 NEW           CHANGED          VALID
Form            Block           Item                                                   2. Construct Select Statment
                                               Item Interaction Triggers               3. Perform Query                          Navigation Unit
Trigger Type                                   When-Button-Pressed                     4. Fetch a row in to a new record         Outside the form
Key-    On-     Pre-    Post-   When-          When-Checkbo-Changed                    5. Mark record as valid                   Form    Block   Record Item
                                               When-Radio-Changed                      6. Fire Post-Query trigger
Trigger Code                                   When-Image-Pressed                      7. Validate any record changes            Navigation Properties
-BEGIN and END keywords require if             When-Image-Activated                    8. Repeat step 4 for any remaining        Form    Mouse naivation limit
DECLARE statement is included.                 When-List-Changed                       records of this query                             First navigation data block
-INSERT, UPDATE, and DELETE statement          When-List-Activated                                                               Block   Navigation Style
must be placed only in transactional                                                   Query Triggers                                    Previous navigation data block
triggers.                                      Interface Trigger                       Pre-Query                                         Next navigation data block
-COMMIT, ROLLBACK, and SAVEPOINT cannot        When-Tab-PageChanged                    Post-Query                                Item    Enabled
be included directly as SQL trigger            When-Timer-Expired                                                                        Keyboard navigable
statements.                                    When-Window-Activated                   Useful System Variables                           Mouse navigate
                                               When-Window-Closed                      :SYSTEM.MODE                                      Previous navigation item
Execution Hierarchy Property                   When-Window-Deactivated                 -NORMAL                                           Next naviation item
Override (default)                             When-Window-Resized                     -ENTER-QUERY
After                                                                                  -QUERY                                    Navigation Triggers
Before                                         Useful Interaction Built-ins            :SYSTEM.LAST_QUERY                        Pre- and Post-
                                               CHECKBOX_CHECK(item)                                                              -Fire during navigation
Trigger Properties                             ADD_LIST_ELEMENT                        Useful Built-ins to obtain query infor-   -Does not fire if validation unit is
Name                                           DELETE_ELEMENT                          mation at run time                        higher than trigger object
Fire in Enter Query Mode                       SHOW_LOV(‘lov_name’, x, y)              GET_BLOCK_PROPERTY                        -Allow restricted built-ins
Execution Hierarchy                            LIST_VALUES                             SET_BLOCK_PROPERTY                        -Handle failure by returing to initial
                                               READ_IMAGE_FILE(filename, filetype,     GET_ITEM_PROPERTY                         object
Form Builder Variables                         item_name)                              SET_ITEM_PROPERTY
Item           :block_name.item_name           WRITE_IMAGE_FILE(filename, filetype,                                              When-New-”object”-Instance
Global         :GLOBAL.variable_name           item_name, compression_quality,         EXECUTE_QUERY                             -Fire after naviagation
System         :SYSTEM.vairable_name           image_depth)                            ENTER_QUERY                               -Does fire when validation unit is
Parameter      :PARAMETER.name                                                                                                   higher than the trigger object
                                               Message-Handling Triggers               Validation Unit Property                  -Allow restricted and unrestricted
Built-ins for Global Variables                 On-Error                                -Item   -Record    -Block     -Form       built-ins
Initializing                                   On-Message                                                                        -Are not affect by failure
DEFAULT_VALUE(‘initial_value’,’global_name’)                                           Standard Validation Checks for Text
Removing                                       Useful System Variables and Built-ins   Items                                     Pre-Triggers            Post-Triggers
ERASE(‘global_name’)                           :SYSTEM.MESSAGE_LEVEL                   -Format mask                              Pre-Form                Post-Form
                                               :SYSTEM.SUPPRES_WORKING                 -Required                                 Pre-Block               Post-Block
Unrestricted Built-ins                         MESSAGE(‘string’)                       -Data type                                Pre-Record              Post-Record
-do not effect logical or physical             SHOW_ALERT(‘alert_name’)                -Lowest-Highest Allowed Value             Pre-Text-Item           Post-Text-Item
navigation                                     SET_ALERT_PROPERTY                      -Validate from List
-can be called from any trigger, or from       SET_ALERT_BUTTON_PROPERTY
any subprogram                                                                         Validation Triggers                       When-New-”object”-Instance
                                               FORM_SUCCESS                            When-Validate-Item                        When-New-Form-Instance
Restricted Built-ins                           FORM_FAILURE                            When-Validate-Record                      When-New-Block-Instance
-affect navigation in the form                 FORM_FATAL                                                                        When-New-Record-Instance
-can call only in certain triggers                                                     Built-ins for Validation                  When-New-Item-Instance
                                               ERROR_CODE                              CLEAR_BLOCK
Useful Commands in the Debugger                ERROR_TEXT                              CLEAR_FORM                                Built-ins for Navigation
.STEP INTO                                     ERROR_TYPE                              EXIT_FORM(commit_mode)                    GO_FORM
.STEP OVER                                                                             ENTER                                     GO_BLOCK   NEXT_BLOCK    PREVIOUS_BLOCK
.STEP OUT                                      MESSAGE_CODE                            SET_FORM_PROPERTY                         GO_ITEM     NEXT_ITEM    PREVIOS_ITEM
.GO                                            MESSAGE_TEXT                            -VALIDATEION                              GO_RECORD NEXT_RECORD    PREVIOUS_RECORD
.RESET                                         MESSAGE_TYPE                            -VALIDATION_UNIT                                      NEXT_SET
.SHOW LOCALS                                                                           ITEM_IS_VALID                             UP          DOWN
DEBUG.INTERPRET(string)                        Exception                               VALIDATE(validation_unit)                 SCROLL_UP SCROLL_DOWN
DEBUG.GETx(varname)                            FORM_TRIGGER_FAILURE                                                              SET_FORM_PROPERTY
Built-ins for Navigation (cont’)           :SYSTEM.TRIGGER_ITEM                       using an .id extension                     or parameter lists
GET_FORM_PROPERTY                                                                     2. Assign the number to a global vari-     -Code is shared as required, through
SET_BLOCK_PROPERTY                         Current Status of Form                     able                                       libraries and the database
GET_BLOCK_PROPERTY                         :SYSTEM.RECORD_STATUS                      3. Convert the variable back to the
SET_RECORD_PROPERTY                        :SYSTEM.BLOCK_STATUS                       object data type.                          Built-ins for starting Another Form
GET_RECORD_PROPERTY                        :SYSTEM.ITEM_STATUS                                                                   OPEN_FORM
SET_ITEM_PROPERTY                                                                     Referencing Objects Indirectly             CALL_FORM
GET_ITEM_PROPERTY                          GET_”Object”_Property                      NAME_IN        returns the contents of     NEW_FORM
                                           GET_APPLICATION_PROPERTY                                  an indicated variable.
Transaction processing                     GET_FORM_PROPERTY                                                                     OPEN_FORM built-ins
Post Phase                                 GET_BLOCK_PROPERTY                         COPY           assigns an indicated        OPEN_FORM(form_name, activate_mode,
-Writes record changes to base tables      GET_RELATION_PROPERTY                                     value to an indicated       data_mode,session_mode, parameterlist) ;
-Fires transactional triggers              GET_ITEM_PROPERTY                                         variable or item.
Commit Phase                               GET_ITEM_INSTANCE_PROPERTY                                                            Activate_Mode   ACTIVATE, NO_ACTIVATE
-Performs database commit                  GET_LOV_PROPERTY                           :A := ’aaa’                                Session_Mode    NO_SESSION, SESSION
                                           GET_RADIO_BUTTON_PROPERTY                  :B := ’A’                                  Data_Mode       NO_SHARE_LIBRARY_DATA
The Commit Sequence of Events              GET_MENU_ITEM_PROPERTY                     NAME_IN(:B)                   ‘aaa’                        SHARE_LIBRARY_DATA
1. Validate Form                           GET_CANVAS_PROPERTY                        NAME_IN(‘B’)                  ‘A’
2. Process savepoint.                      GET_TAB_PAGE_PROPERTY                      NAME_IN(‘A’)                  ‘aaa’        Built-in for closing a Form
3. Fire the Pre-Commmit trigger            GET_VIEW_PROPERTY                                                                     EXIT_FORM(commit_mode) ;
4. Validate the block                      GET_WINDOW_PROPERTY                        COPY(‘bbb’,:B)                :A=’bbb’
5. Fire Tranasctional triggers for                                                    COPY(‘bbb’,’B’)               :B=’bbb’     commit_mode     ASK_COMMIT
deleted, inserted , updated records        SET_”Object”_Property                      COPY(‘bbb’,’A’)               :A=’bbb’                     DO_COMMIT
6. Fire the Post-Forms-Commit trigger      SET_APPLICATION_PROPERTY                   COPY(‘bbb’,NAME_IN(‘B’)       :A=’bbb’                     NO_COMMIT
7. If Commit operation, issue SQL-COMMIT   SET_FORM_PROPERTY                                                                                     NO_VALIDATE
8. Fire the Post-Database-Commit trigger   SET_BLOCK_PROPERTY                         Property Class
                                           SET_RELATION_PROPERTY                      -A object contains a list of properties    Other Useful Triggers
Commit Triggers                            SET_ITEM_PROPERTY                          and thier settings.                        Parent form
Pre-Commit                                 SET_ITEM_INSTANCE_PROPERTY                                                            -When-Button-Pressed
Pre-Delete      On-Delete   Post-Delete    SET_LOV_PROPERTY                           Obejct Group                               -When-Validate-Item
Pre-Insert      On-Insert   Post-Insert    SET_RADIO_BUTTON_PROPERTY                  -A logical container for a set of Form     -When-New-Record-Instance
Pre-Update      On-Update   Post-Update    SET_MENU_ITEM_PROPERTY                     Builder objects.
Post-Forms-Commit                          SET_CANVAS_PROPERTY                                                                   Opened form
Post-Database-Commit                       SET_TAB_PAGE_PROPERTY                      Object Library                             -When-New-Form-Instance
                                           SET_VIEW_PROPERTY                          -A convenient container of objects for     -Pre-Query
Commit Status                              SET_WINDOW_PROPERTY                        reuse                                      -When-Create-Record
:SYSTEM.FORM_STATUS                                                                   -can contain simple objects, property
NEW     QUERY    CHANGED                   FIND Built-ins                             classes, object groups, and program
:SYSTEM.BLOCK_STATUS                       FIND_ALERT               ALERT             units.
NEW     QUERY    CHANGED                   FIND_BLOCK               BLOCK
:SYSTEM.RECORD_STATUS                      FIND_CANVAS              CANVAS            SmartClass
NEW     INSERT    QUERY      CHANGED       FIND_EDITOR              EDITOR            -An object in an object library that is
                                           FIND_FORM                FORM              frequenctly used as a class
Implementing Array DML                     FIND_LOV                 LOV
1. Enable the Array Processing Option      FIND_ITEM                ITEM              PL/SQL Library
2. Set the DML Array Size >1               FIND_RELATION            RELATION          -A collection of PL/SQL program units,
3. Specify block primary keys              FIND_VIEW                VIEW              including procedures, functions, and
                                           FIND_WINDOW              WINDOW            packages.
Writing Flexible Code
Current Input Focus                        Using Object IDs                           Multiple Form Applications
:SYSTEM.CURSOR_BLOCK                       1. Declare the same type of variable       Behavior:
:SYSTEM.CURSOR_RECORD                      2. Use FIND built-in to assign the ID of   -Flexible navigation between windows
:SYSTEM.CURSOR_ITEM                        the object.                                -Single or multiple database connections
:SYSTEM.CURSOR_VALUE                       3. Use the variable for later reference    -Transaction may span of opening fors,
                                                                                      starting with current form
Trigger Focus                              Using Object IDs Outside the initial PL/
:SYSTEM.TRIGGER_BLOCK                      SQL Block                                  Links:
:SYSTEM.TRIGGER_RECORD                     1.Convert the ID to a numeric format       -Data is exchanged by global variables                     Last modified Feb 12,2002