The Orders form has four blocks. The Orders and Order_items block are on the CV_Order content canvas;
the inventories block items are on the CV_inventories content canvas; and Control block buttons are on the
CV_Buttons toolbar canvas. All buttons have mouse Navigate set to No.
The Order_Items block is a detail of Orders. The inventories block is a detail of Order_Items, showing the
stock of the selected product.
There is a button in the Control block with a When-Button-Pressed trigger:
IF GET_CANVAS_PROPERTY(:SYSTEM.cursor_item, item_canvas) = 'CV_ORDER' THEN GO_BLOCK
('inventories')
ELSE
GO_BLOCK('orders');
END IF;
When you run the form and click the button, navigation does not occur, and the form displays the runtime
error "FRM-41053: Cannot find Canvas: invalid ID." What should you do to correct this problem?
A. Change the sequence of blocks in the Object Navigator
B. Chang the Mouse Navigator property of the button to yes
C. in the first line of code, change the built-in to GET_ITEM_PROPERTY
D. in the first line of code, change the system variable to: SYSTEM.CURSOR_CANVAS.
E. in the first line of code, change the CV_ORDER to lowercase
F. Chang the argument to the GO_BLOCK built-ins to uppercase
Which four types of variables must have their names preceded by a colon when they are referenced in trigger code?
A. PL/SQL variables
B. Form items
C. global variables
D. system variables
E. parameters
In Forms Builder, the iconic buttons on the form are blank, but when you click Run Form the form appears in the browser with Images in the iconic buttons.
What are two things that you can check to track the source of this problem?
A. forms Builder runtime preferences
B. the UI_ICON setting in the operating system
C. the iconpath setting in the Forms registry file
D. the UI_ICOM_EXTENSION setting in the operating system
E. the iconextension setting in the Forms registry file
F. the FORMS_PATH setting in the Forms environment file
G. the classpath setting in the operating system
You are planning the alerts that are needed for your Human Resources application. You wish to display the following in alerts:
*
A message to inform the user about being at the just record
*
A warning about a potential conflict with the data just entered
*
A message to display a validation error to the user
*
A warning that the salary is out of range and that asks whether the user wants to correct it
You want the note symbol ( ) to appear on alerts that display only informative messages, the
warning symbol to appear on messages where you will allow the user to continue despite some data problem, and the alarm boll symbol to appear where the user will not be allowed to continue without correcting the situation that caused the alert to be displayed.
You want to define the minimum number of alerts possible and customize them at run time.
Which alerts should you define?
A. One Note style alert and caution style alert
B. One Note style alert and one Stop style alert
C. On Caution style alert and one stop style alert
D. On Note style alert, one Caution style alert, and one Stop style alert
E. Two Caution style alerts and one Stop style alert
View the Exhibit.
The Summit menu is attached to the Orders form. The Toggle Autoquery menu item is a check box that
toggles whether a query is automatically performed when the Orders form is first invoked. If the check box
is deselected, users must manually query.
In addition to using the menu, users want to be able to toggle the autoquery preference directly from the
form. You add a button named Toggle Autoquery with the following When-Button- Pressed trigger:
DECLARE
mi_id MENUITEMS;
BEGIN
mi_id ;=FIND_ITEM ('Preferences.AutoQuery')
/* Determine the current checked static of the AutoCommit menu checkbox item And toggle the checked
state*/
IF GET_ITEM_PROPERTY (mi_id, CHECKED) = 'TRUE' THEN
SET_ITEM_PROPERTY (mi_id, CHECKED, PROPERTY_FALSE);
ELSE
SET_ITEM_PROPERTY (mi_id, CHECKED, PROPERTY_TRUE);
END IF;
END;
However, the trigger does not compile. What three changes must you make so that the trigger compiles
successfully?
A. Change FIND_ITEM to FIND_MENU_ITEM.
B. Change 'preferences.AutoQuery' to 'orders.preferences.AutoQuery'.
C. Change 'preferences.AutoQuery' to 'AutoQuery'.
D. Change 'preferences.AutoQuery' to 'ORDERS.PREFERENCES>AUTOQUERY'.
E. Change 'preferences.AutoQuery' to 'AUTOQUERY'.
F. Change GET_ITEM_PROPERTY to GET_MENU_ITEM_PROPERTY
G. Change SET_ITEM_PROPERTY to SET_MENU_ITEM_PROPERTY
H. Change PROPERTY_FALSE to 'FALSE'.
I. Change PROPERTY_TRUE to 'TRUE'.
The Enforce Primary Key property of a data block ensures that the primary key of a new record exists in the database.
A. True
B. False
What happens when you click Run Form Debug in Forms Builder?
A. The form runs on your local machine by using a debug executable client.
B. The form runs in a three-tier environment by using the application server URL that you specify in runtime preferences.
C. The form runs in a three tier environment by using the [debug] configuration in the FORMSWEB.CFG file.
D. The form runs in a simulated three-tier environment by using an applet viewer that is included with the product to enable debugging.
There are certain errors that are specific to the Salary item on the Employees form. You want to trap these errors only when the user navigates from the Salary item.
You have a form-level On-Error trigger that traps errors that apply to the form in general, but yon additionally code an item-level On-Error trigger for the Salary item.
When testing the form, you find that the general errors are not trapped when you navigate from the Salary item. What can you do to correct this problem?
A. Call the form level On-Error trigger from the item-level On-Error trigger.
B. Call the item-level On-Error trigger from the form-level On-Error trigger.
C. Change the Execution Hierarchy property for the item-level On-Error trigger.
D. Change the Execution Hierarchy property for the form-level On-Error trigger.
E. Move all the code to a PL/SQL program unit and call it from both the form level and item level On-Error triggers.
You have a form with a single multi-record block. During a session, a user performs an insert and clicks Save
What is the behavior of the record being inserted violates a database constraint?
A. The record is posted to the database but not committed. The form redisplays the record with an error message so that the user can correct the data. Navigation to another record cannot occur until the correct data is committed or the new record is deleted. If the user exits the form without correcting the entry, a database rollback is performed.
B. The record is committed to the database. The form redisplays the record with an error message so that the user can correct the data. The user is unable to exit the form or move to another record until the correct data is committed of the new record is deleted.
C. A database rollback is performed. The form redisplays the record with an error message so that the user can correct the entry. The user is able to navigate to another record or exit the form.
D. A database rollback is performed. The form redisplays the record with an error message so that an correct the entry. Navigation to another record cannot occur until the correct data is committed or the record is deleted.
E. The record is committed to the database. The form redisplays the record with a warning in case the user would like to correct the entry. The user is able to navigate to another record or exit the form.
Customers log in to your Orders application by using their customer ID, which is saved as a global variable. When the Orders form first comes up, you want it to be populated with the customer's orders, and you do not want customers to be able to query for another customer's orders.
You code the following triggers:
When-New Form instance on the Orders form:
GO_BLOCK('orders'); EXECUTE_QUERY;
You also have a button in the Control block labeled Query Orders with a When-Button Pressed trigger that has the same code as the When New-Form instance trigger. To test the form, you run it and log in a Customer 104. When you click Query Orders, all orders are shown, not just those for Customer 104.
What is the best way to correct this issue to ensure that the customer can never query another customer's orders?
A. Delete the Key-Exeqry trigger and add the its first line after the call to GO_BLOCK in the When-NewForm-instance trigger.
B. Change the last line of the When-Button-Pressed code to: DO_KEY ('EXECUTE_QUERY');
C. Delete the Key-Exqry trigger and put its code in an On-Select trigger.
D. Delete the Key-Exqry trigger and put its code in a Pre-Query trigger.