최신Oracle Fusion Middleware 11g: Build Applications with Oracle Forms - 1z1-151무료샘플문제
You do not want users to execute queries while in the Order_Items block, so you write the following key-Exeqry trigger for the Order_Items block:
GO_BLOCK('orders');
EXECUTE_QUERY;
This works fine except that in the Order_Items block, when you click Enter Query first, and then click Execute Query, you get the error message "FRM-41009: Function key not allowed." What can you do correct this?
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?
You have a form that called a database stored procedure. You do not want processing to continue, so immediately after the call to the stored procedure, you add the following code:
IF NOT FORM_SUCCESS THEN
MESSAGE ('Stored Procedure failure');
RAISE FORM_TRIGGER_FAILURE;
END IF;
You test the code and input some data that intentionally causes the stored procedure to fail. However, the message that you defined does not appear. What are two possible reasons for this?
Which four types of variables must have their names preceded by a colon when they are referenced in trigger code?
To troubleshoot a problem with a form, you have added a call to the MESSAGE () built-in at the beginning of the When-Validate-Item trigger of the Customer_Id then in the Orders Block of the Orders form. The message simply states that the trigger is firing.
You run the form, make a change in Customer_Id, and then tab out of the item but the message does not appear. What are two possible causes for this problem?
What happens when you click Run Form Debug in Forms Builder?
The Orders database table uses Order_id as its primary key. You have written the following code to use in the Orders block of a form:
SELECT orders_seq.NEXTVAL
INTO :orders.order_id
FROM SYS.dual;
Which statement is true about this code?
The Order Entry application contains several forms. The inventories form uses an LOV that is based on a record group that queries the Warehouses table to return a warehouse ID.
Several of the forms use LOVs that are based on the same query. You decide to centralize the creation of the record group to the entry form of the application, which opens all the other forms, for example, to open the inventories form, there is a When-Button Pressed trigger on the inventories button with the following code; OPEN _FORM ('inventories'); in a When-New-Form-instance trigger for the entry form, you create the warehouse_rg record group by using the CREATE_GROUP_QUERY built in with the following arguments:
('warehouse_rg' , 'SELECT ALL WAREHOUSE.WAREHOUSE_ID,
WAREHOUSE.WAREHOUSE_NAME FORM WAREHOUSE order by warehouse_name);
You also populate the record group in this trigger.
What must you do to make this record group available to the inventories form and the other forms?
You must be careful when coding a When-Button-Pressed trigger, because it does not accept restricted built-ins.