| 1. | An Automobile Application was created. Various triggers were created to support the various functionalities requested by the operator. While coding these triggers, the developer requires the use of the form builder item variables. How would this coding be supported? |
| a. | | The form builder variables can be used directly such as emp_id where emp_id is an item of the block emp |
| b. | | The form builder variables can be used directly such as emp.emp_id where emp_id is an item of the block emp |
| c. | | The form builder variables can be used directly such as :emp.emp_id where emp_id is an item of the block emp
|
|
|
|
|
|
|
| 2. | An application consisting of two windows was created. One consisting of the animal related blocks and the other related to the location. At runtime, when the user tried to close the animal related window, no action took place. How can this non-functionality of closing the window be over come? |
| a. | | Set the window property Close Allowed to Yes |
| b. | | Define the functionality so as move the cursor to an item on the Location window using the Go_item built-in |
| c. | | Define the Exit_Form built-n in the When-Window-Closed |
| d. | | All of the above
|
|
|
|
|
|
|
| 3. | A form is being run in the debug code but no breakpoints are set in the code. The button that invokes the code shown in the exhibit was clicked. While the code executes, it was decided to examine the variable values in the loop. Which menu items in the Forms Builder Debug menu should be chosen? |
| a. | | Stop, Debug Windows > Variables |
| b. | | Pause, Debug Windows > Variables |
| c. | | Stop, Debug Windows > Forms Values |
| d. | | Pause, Debug Windows > Form Values |
| e. | | Step Into, Debug Windows > Variables |
| f. | | Step Into, Debug Windows > Form Values
|
|
|
|
|
|
|
| 4. | The menu that appears by default in a Forms application was not adequate, so it was decided to create a custom menu. A menu module called Test was created and compiled with three submenus containing PL/SQL codes, and the Test menu was attached to a form. How will the menu of the form appear and perform at runtime? |
| a. | | Only three submenus would be seen from the Test menu (plus the Window menu that is usually displayed) and it will not be possible to call code from the default menu in the form |
| b. | | The three submenus from the Test menu would be seen merged with the submenus of the default menu (plus the Window submenu that is usually displayed) |
| c. | | Only the submenus of the default menu (plus Window)would be seen, but it will not be possible to call code from the Test menu in the form |
| d. | | Only the Test menu submenus (plus Window)would be seen, but it will not be possible to call code from the default menu in the form |
| e. | | Only the submenus of the default menu (plus Window)would be seen until the REPLACE_MENU built-in in the form is issued
|
|
|
|
|
|
|
| 5. | A query Record Group was created at design time. Which built-in can be used to execute the query defined in the Record Group object? |
| a. | | ADD_GROUP_ROW |
| b. | | POPULATE_GROUP |
| c. | | ADD_GROUP_COLUMN |
| d. | | SET_GROUP_SELECTION
|
|
|
|
|
|
|
| 6. | Which of the following statements are correct with regard to Query Record Group? |
| a. | | The Record Group is associated with a query |
| b. | | The Record Group can be created only at run time |
| c. | | The Record Group can be created and modified only at design time |
| d. | | The Record Group can be created and modified at design time or run time
|
|
|
|
|
|
|
| 7. | The REGIONS non-query Record Group has two char columns. Which of the following built-ins can be used to replace any existing rows in REGIONS with the results of a query? |
| a. | | ADD_GROUP_ROW('REGIONS',2); |
| b. | | rgno := CREATE_GROUP_FROM_QUERY('REGIONS', 'Select name, country, id from regiontable') |
| c. | | rgno := CREATE_GROUP_FROM_QUERY('REGIONS', 'Select name, country from regiontable'); |
| d. | | rgno := POPULATE_GROUP_WITH_QUERY('REGIONS', 'Select name, country from regiontable'); |
| e. | | A non-query Record Group cannot be populated with the results of a query
|
|
|
|
|
|
|
| 8. | A list item was created that will be populated at run time by the JOBS Record Group. JOBS is populated from the EMP table using one or more of the following three columns:
SAL column, whose data type is number TITLE column, whose data type is varchar2 JOB column, whose data type is varchar2
Assuming that any variables used are properly declared, which built-ins can be used to create JOBS? |
| a. | | POPULATE_GROUP_WITH_QUERY ('JOBS', 'SELECT distinct initcap(job) as Job,'|| 'job as JOB from emp'); |
| b. | | POPULATE_GROUP_WITH_QUERY ('JOBS', 'SELECT initcap(title) as Job,' || 'sal as Salary from emp'); |
| c. | | rgid := CREATE_GROUP_FROM_QUERY ('JOBS', 'SELECT distinct initcap(job) as Job ,' || 'job as JOB from emp'); |
| d. | | rgid := CREATE_GROUP_FROM_QUERY ('JOBS', 'SELECT initcap(title) as Job.' || 'sal as Salary from emp')
|
|
|
|
|
|
|
| 9. | The Department form is part of a multiform application that also includes the Customer and Orders forms. The Department form must include a query-based PRODUCT Record Group. All three forms must be able to access the PRODUCT Record Group. Which built-in should be used to create the PRODUCT Record Group? |
| a. | | CREATE_GROUP('PRODUCT') |
| b. | | CREATE_GROUP('PRODUCT', FORM_SCOPE) |
| c. | | CREATE_GROUP('PRODUCT', GLOBAL_SCOPE) |
| d. | | CREATE_GROUP_FROM_QUERY('PRODUCT', 'Select id, desc from products', GLOBAL_SCOPE) |
| e. | | CREATE_GROUP_FROM_QUERY('PRODUCT', 'Select id, desc from products', FORM_SCOPE)
|
|
|
|
|
|
|
| 10. | The REGIONS non-query Record Group has two char columns. Which built-in can be used to replace any existing rows in REGIONS with the results of a query? |
| a. | | ADD_GROUP_ROW('REGIONS',2); |
| b. | | rgno := POPULATE_GROUP('REGIONS'); |
| c. | | rgno := POPULATE_GROUP_WITH_QUERY('REGIONS', 'Select name, country, id from regiontable'); |
| d. | | rgno := CREATE_GROUP_FROM_QUERY('REGIONS', 'Select name, country, id from regiontable') |
| e. | | rgno := CREATE_GROUP_FROM_QUERY('REGIONS', 'Select name, country from regiontable'); |
| f. | | rgno := POPULATE_GROUP_WITH_QUERY('REGIONS', 'Select name, country from regiontable');
|
|
|
|
|
|
|
| 11. | To centralize some of the processing, it was decided to write PL/SQL Library modules that contain procedures and can be called from the triggers or menu items. The message [Credit limit exceeded] should be displayed when the values in the order_total and credit_limit fields in the Orders form meet certain criteria. Which code should be used? |
| a. | | IF :order_total > 10000 AND :credit_limit < 10000 THEN MESSAGE(Credit limit exceeded); END IF; |
| b. | | IF :SYSTEM.cursor_item > 10000 AND :SYSTEM.trigger_item < 10000 THEN MESSAGE(Credit limit exceeded); END IF; |
| c. | | IF NAME_IN(order_total) > 10000 AND NAME_IN(credit_limit) < 10000 THEN MESSAGE(credit limit exceeded); END IF; |
| d. | | IF COPY(ORDERS.order_total) > 10000 AND COPY(ORDERS.credit_limit) < 10000 THEN MESSAGE(credit limit exceeded?; END IF; |
| e. | | IF :ORDERS.order_total > 10000 AND :ORDERS.credit_limit < 10000 THEN MESSAGE(credit limit exceeded); END IF;
|
|
|
|
|
|
|
| 12. | There is a requirement to modify the default functionality of the [Commit] key. To implement this requirement, it is decided to write a Key-Commit trigger that will force validation and issue a commit if necessary. Which trigger code will achieve this? |
| a. | | ENTER; IF GET_ITEM_PROPERTY(:SYSTEM.trigger_item, ITEM_IS_VALID) = TRUE THEN COMMIT_FORM; END IF; |
| b. | | ENTER; IF :SYSTEM.FORM_STATUS = CHANGED THEN COMMIT_FORM; END IF; |
| c. | | VALIDATE(ITEM_SCOPE); IF :SYSTEM.BLOCK_STATUS <> NEW THEN DO_KEY('COMMIT_FORM'); END IF; |
| d. | | VALIDATE;
IF :SYSTEM.BLOCK_STATUS <> NEW THEN DO_KEY('COMMIT_FORM'); END IF;
|
|
|
|
|
|
|
| 13. | How can the validation be programmatically disabled during testing of a form? |
| a. | | It is impossible to programmatically disable validation in a form |
| b. | | Use the SET_FORM_PROPERTY built-in to set the VALIDATION property |
| c. | | Use the SET_FORM_PROPERTY built-in to set the VALIDATION_UNIT property |
| d. | | Use the SET_FORM_PROPERTY built-in to set the DEFERS_REQUIRED_ENFORCEMENT property
|
|
|
|
|
|
|
| 14. | Which statements define a Static Record Group? |
| a. | | The Record Group can be created only at run time |
| b. | | The Record Group is not associated with a query |
| c. | | The Record Group can be created and modified only at design time |
| d. | | The Record Group can be created and modified at design time or at run time |
| e. | | The structure of this Record Group can be modified by adding columns and rows at run time |
| f. | | The structure of this Record Group can be modified by associating it with a query at run time
|
|
|
|
|
|
|
| 15. | Which built-in always starts a new Forms run-time session it is used to invoke another form? |
| a. | | CALL_FORM |
| b. | | OPEN_FORM |
| c. | | NEW_FORM |
| d. | | WEB.SHOW_DOCUMENT
|
|
|
|
|
|
|
| 16. | A form is being developed for a family-oriented video store. The form will run in a query-only mode in a customer that displays information about movies that are available for rent. The Rating item on the form shown in the upper portion of the exhibit displays the rating of the movie: G, PG, R, or X. The customers are not interested in all these values, but they do want to see if the film is suitable for the whole family (rated G). It is decided to change the item to a check box to be displayed as shown in the lower portion of the exhibit. The users should be able to query any movies, but only those with a G rating will have the check box selected. Which properties of the Rating item must be modified to make this change? |
| a. | | Item Type, Label, Value When Checked, Checkbox Mapping of Other Values, Prompt |
| b. | | Item Type, Value When Checked, Value When Unchecked, Prompt |
| c. | | Label, Initial Value, Value When Checked, Value When Unchecked, Prompt |
| d. | | Label, Initial Value, Value When Checked, Checkbox Mapping of Other Values, Prompt |
| e. | | Data Type, Label, Value When Checked, Value When Unchecked, Checkbox Mapping of Other Values, Prompt |
| f. | | A check box cannot be used for this application because there are more than two possible values for the item
|
|
|
|
|
|
|
| 17. | In a multiform application, the Customers form invoked the Orders form using a When-Button-Pressed trigger behind the CONTROL.Orders_Btn button. This button has the mouse navigable property set to No and the following trigger code:
OPEN_FORM('Orders');
The user updates a customer's telephone number and clicks the button, causing the Orders form to appear. The user queries orders for the customer that is being viewed in the Customers form and changed the QUANTITY of one of the products ordered. The forms are arranged so that both are visible at the same time. When user clicks the CUSTOMERS.Cust_Email text item in the Customers form, which triggers can fire? |
| a. | | When-Validate-Item in the Orders form |
| b. | | When-Form-Navigate in the Orders form |
| c. | | When-Form-Navigate in the Customers form |
| d. | | When-Window-Activated in the Orders form |
| e. | | When-Validate-Item in the Customers form |
| f. | | When-Window-Deactivated in the Orders form |
| g. | | When-Window-Activated in the Customers form |
| h. | | When-Window-Deactivated in the Customers form
|
|
|
|
|
|
|
| 18. | Access to a form must be limited to particular times of day and to certain authorized users. A procedure (get_authorization) was written in the form that checks the username of the person logging in and validates the time of day. If the person is not authorized to use the form at that time, the following code is executed:
MESSAGE ('You are not authorized to access the form at this time'); RAISE FORM_TRIGGER_FAILURE;
What is the best trigger to call this procedure and why? |
| a. | | When-Validate-Item on the first enterable item because the form will exit without showing the position of fields on the screen or the accompanying prompts |
| b. | | Pre-Text-Item on the first navigable text item in the first navigable block because this will trap every user and allow time for the message to be read before exiting the form |
| c. | | When-New-Form-Instance at form level because GET_AUTHORIZATION is a restricted procedure and cannot be called from any Pre trigger |
| d. | | Pre-Form at form level because the form will exit immediately after displaying the message in an alert |
| e. | | When-Validate-Item at form level because the message will appear on the message line and must be acknowledged by the user
|
|
|
|
|
|
|
| 19. | There is a requirement in the Orders form to direct the focus depending on the value in the Sales Rep Id text item. The design team has not yet decided on the exact details, but the following style of code was proposed:
IF :ORDERS.Sales_Rep_Id = ? THEN --value to be decided later GO_ITEM(?); --item to be decided later ELSE GO_ITEM(?); --item to be decided later END IF;
From which of the following triggers can the code be called? |
| a. | | Post-Block on the Orders block |
| b. | | Pre-Block on the Order_Items block |
| c. | | When-New-Block-Instance on the Orders block |
| d. | | Post-Text-Item on the Sales Rep Id text item |
| e. | | When-Validate-Item on the Sales Rep Id text item |
| f. | | When-New-Block-Instance on the Order_Items block
|
|
|
|
|
|
|
| 20. | Which of the following statements are correct with regard to FORM_TRIGGER_FAILURE? |
| a. | | FORM_TRIGGER_FAILURE cannot be raised in an exception handler |
| b. | | FORM_TRIGGER_FAILURE does not cause an Unhandled Exception |
| c. | | FORM_TRIGGER_FAILURE causes a trigger to fail in a controlled manner |
| d. | | None of the above
|
|
|
|
|
|
|
| 21. | The Name text item is subclassed from a property class with a cross sign in front of it. Which statements are true about the Keyboard Navigable property of the Name text item whose Property Palette is shown in the exhibit? |
| a. | | It is a variant property |
| b. | | It is a default property |
| c. | | It is a changed property |
| d. | | It is an inherited property |
| e. | | It was inherited from the property class and if the value of Keyboard Navigable changes in the property class, it will change in the Name item also |
| f. | | It was inherited from the property class and has been changed from the value in the property class |
| g. | | It was not inherited from the property class and has been modified from the default Keyboard Navigable value for a text item. |
| h. | | It was not inherited from the property class and is the default Keyboard Navigable value for a text item
|
|
|
|
|
|
|
| 22. | JOHN is a developer in the IT department of a municipal utility. He has been tasked with integrating two applications that are already in production. The first application is a customer management system. Its main form is the Customers form, in which utility clerks enter and update customer information. The second application is a GIS application. One of its forms, the Address form, enables clerks to enter an address, click a button, and have the address verified and property formatted according to postal standards. He needs to add a button to the Customers form that will pass the customer address to the Address form and receive the properly formatted address back. A variable of the user-defined type Addr_Type will contain the address information to be passed back and forth between the two users. Which method of sharing data should he use? |
| a. | | Global variables |
| b. | | Global record group |
| c. | | Parameters |
| d. | | Shared PL/SQL Library |
| e. | | There is no method of sharing data that enables him to use a variable of a user-defined type
|
|
|
|
|
|
|
| 23. | An Order Entry form was being developed. The When-New-Form-Instance trigger executes a query on the only block in the form. Instead of the alert shown in the exhibit, when the query cannot be performed, a message should be displayed to the user with the actual database error that is received. ERROR IS :ORACLE ERROR:unable to perform query. What can you do to implement this? |
| a. | | In the When-New-Form-Instance trigger, insert this code after the EXECUTE_QUERY built in: IF NOT FORM _SUCCESS THEN message(DBMS_ERROR_TEXT); END IF; |
| b. | | In the When-New-Form-Instance trigger, insert this code after the EXECUTE_QUERY built in: IF NOT FORM_SUCCESS THEN message(SQLERRM); END IF; |
| c. | | Place this code in a form-level On-Error trigger: IF ERROR_CODE = 40505 THEN message(DBMS_ERROR_TEXT); END IF; |
| d. | | Place this code in a form-level On-Error trigger: IF ERROR_CODE = 40505 THEN message(SQLERRM); END IF; |
| e. | | Add this exception handler to the When-New-Form-Instance trigger: EXCEPTION WHEN ERROR_CODE = 40505 THEN MESSAGE(DBMS_ERROR_TEXT); |
| f. | | Add this exception handler to the When-New-Form-Instance trigger: EXCEPTION WHEN ERROR_CODE = 40505 THEN MESSAGE(SQLERRM);
|
|
|
|
|
|
|