The Departments form has form level triggers defined as shown in the Exhibit. You have enabled
array DML for the Departments block by setting its DML array size to 5 and setting the Primary
Key property of Department id to Yes. You set runtime preferences for Forms Builder to use array
processing.
You want to test that array processing is actually occurring, so, as shown in the Exhibit, the OnUpdate, On-Delete, and on insert triggers have code that:
1. Displays a message to indicate which trigger is firing for which record?
2. Does the thing (either updates, deletes, or inserts)
The other triggers simply display a message, indicating the trigger that is firing.
You run the form from Forms Builder, but from the messages, you can tell that array processing is
not occurring. What should you change so that array DML gets implemented?
A.
Delete the “On-” triggers; these triggers remove default processing,including array processing.
B.
Set the DML array size to a value of 10 or greater; for array sizes loss than 10, array
processing Isinefficient, and so is not performed.
C.
Use the SYNCHRONIZE built-inafter the MESSAGE built-in; otherwise, the message are not
displayed until the processing is finished, giving the appearance that array processing is not taking
place.
D.
Set the Enforce Primary Key property of the Department block to Yes; it is not enough to just
set the Department_Id to be the primary key.
Explanation:
* ON-INSERT
Override default processing for inserting a new row into the database during “post” processing
Override the doDML() method in your entity class, and if theoperation equals DML_INSERT, then
write code instead ofcalling the super.
*ON-DELETE
Override default processing for deleting a row removed from the data block from the database
during “post” processing
Override the doDML() method in your entity class, and if theoperation equals DML_DELETE, then
write code instead ofcalling the super.
*ON-UPDATE
Override default processing for updating a row changed in the data block from the database during
“post” processingNote: Use Array Processing
Both Forms Developer and Reports Developer are able to take advantage of the Oracle
database server’s array processing capabilities. This allows records to be fetched from the
database in batches instead of one at a time, and results in significantly fewer calls to the
database. The downside of array processing is that more space is required on the execution
platform for storing the arrays of records returned.
If load on the network becomes a major bottleneck in the production environment, then set
the Developer product’s runtime ARRAYSIZE parameter to as large a value as possible for
the execution environment.
Note 2:
Query Array Processing
The default behavior of Forms is to process records one at a time. With array processing,
astructure (array) containing multiple records is sent to or returned from the server for
processing.Forms supports both array fetch processing and array data manipulation language
(DML)processing. For both querying and DML operations, you can determine the array size to
optimizeperformance for your needs.
Note 3: You can enable array processing for queries by:
*Setting preferences:
-Select Edit > Preferences.
-Click the Runtime tab.
-Select the Array Processing check box.
* Setting block properties:
-In the Object Navigator, double
-click the node of the block to display the PropertyPalette.
-Under the Records category, set the Query Array Size property to a number that represents the
number of records in the array for array processing
Answer A is Correct
Sorry for the previous answer . Answer is D Correct