Question 1
Question
The Credit_Rating item in the Customers block of an Order Entry form must be restricted to three possible values: Good, Poor, or Null (the latter value indicates that the credit rating has not been determined). Order entry clerks must be able to update this item to any of the preceding three values.
You want to change the item to a check box labeled "Credit Risk" that should be selected if the customer has poor credit, the check box should not be selected if the customer's credit rating is good or undetermined.
Answer
-
Change the initial Value property to Good.
-
Change the Check Box Mapping of Other Values property to Not Allowed.
-
Change the initial Value property to Good and the Value When Unchecked property to Null
-
Change the initial Value property to Good and the Chock Box Mapping of Other Valued property to Null.
-
Change the initial Value property to Good and the Check Box Mapping of Other Values property to checked.
-
Change the item type. It is not appropriate to use a check box to enable entry and update of more than two values in an item
Question 2
Question
When tabbing through items in the Employees form, users should not be able to navigate to the Salary text item. If they need to update the item, they will have to explicitly navigate to it by using the mouse.
Which property setting accomplishes this requirement?
Answer
-
Enabled = Yes; Keyboard Navigable = No
-
Enabled = No; Keyboard Navigable = Yes
-
Enabled = Yes; Keyboard Navigable = Yes
-
Enabled = No; Keyboard Navigable = No
-
Automatic Skip = Yes
Question 3
Question
You have a text item in your form named Object1. You want to create Object2 as an exact duplicate of Object1. You want to be able to change the properties of Object2. However if you change Object1, you do not want Object2 to change.
Which method of reusing Object1 would be best for these requirements
Answer
-
Copying Object1
-
Subclassing Object1
-
Creating a property class from Object1
-
Putting Object1 in an Object library
-
Referencing Object1 in a PL/SQL library
Question 4
Question
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?
Answer
-
Change the sequence of blocks in the Object Navigator
-
Chang the Mouse Navigator property of the button to yes
-
in the first line of code, change the built-in to GET_ITEM_PROPERTY
-
in the first line of code, change the system variable to: SYSTEM.CURSOR_CANVAS.
-
in the first line of code, change the CV_ORDER to lowercase
-
Chang the argument to the GO_BLOCK built-ins to uppercase
Question 5
Question
Which four types of variables must have their names preceded by a colon when they are referenced in trigger code?
Answer
-
PL/SQL variables
-
Form items
-
global variables
-
system variables
-
parameters
Question 6
Question
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?
Answer
-
in the When-New-Form-instance trigger for the entry form, add a values for the SCOPE argument of CREATE_GROUP_QUERY.
-
in the entry form, move the record group code to the end of the When-Button-Pressed triggers for the buttons that open other forms, so that the record group is created and populated immediately after OPEN_FORM is called.
-
in the entry form, move the record group code to the beginning of the When-Button-Pressed triggers for the button that open other forms, so that the record group is created and populated just before OPEN_FORM is called.
-
in the When-Button_Pressed triggers of the entry from the buttons that open other forms, add a value for the SESSION argument of OPEN_FORM.
-
in the other forms, refer to the record group as: global.warehouse_rg.
Question 7
Question
Iin the Human Resources form shown in the Exhibit, you want to modify the prompts, heights, and widths of the Department Id, Manager Id, and Location Id Holds in the Departments data block.
What must you select before invoking the Layout Wizard in reentrant mode to modify these item properties?
Question 8
Question
You are implementing a JavaBean in a form, the bean has no visible component on the form when invoked, the bean displays an input text where users enter a zip code, the bean has a single method that returns a short weather forecast for that zip code as a character value.
How can you retrieve that value so that you can display it to the user?
Answer
-
Use FBEAN.ENABLE_EVENT to register a listener for the bean event. Obtain the value of SYSTEM.CUSTOM_ITEM_EVENT in a When-Custom item Event trigger, and then use that value as an argument to the MESSAGE built in.
-
Use FBEAN.REGISTER_BEAN as an argument to the MESSAGE built in to invoke the bean's method and return the value as a message displayed to the user.
-
Use FBEAN.REGISTER_BEAN to register the bean, so that when the user enters a zip code into the bean s input text, the value is automatically displayed in the bean area item.
-
Use FBEAN.ENABLE_EVENT to register a listener for the bean event. Obtain the value of SYSTEM.CUSTOM_EVENT_PARAMETER in a When_Custom-item-Event trigger, and then use that value as an argument to the MESSAGE built-in
Question 9
Question
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?
Answer
-
If you place this Code in a trigger that fires when the record is inserted into the database, you will likely have more gaps in Order IDs than if you use the sequence as a default value for the item.
-
If you place this code in a trigger, you should ensure that Order_Id has its required property set to Yes.
-
If you place this code in a trigger, you should ensure that Order_Id has its Database Item property set to No.
-
If the named sequence does not exist, it is automatically created the first time the code is called.
-
You should place this code a in a database trigger to minimize the gaps in Order IDs.
-
You should place this code in Pre-insert trigger to minimize the gaps in Order IDs.
-
You should place this code in a Post_insert trigger to minimize the gaps in Order IDs.
Question 10
Question
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?
Answer
-
forms Builder runtime preferences
-
the UI_ICON setting in the operating system
-
the iconpath setting in the Forms registry file
-
the UI_ICOM_EXTENSION setting in the operating system
-
the iconextension setting in the Forms registry file
-
the FORMS_PATH setting in the Forms environment file
-
the classpath setting in the operating system
Question 11
Question
You want to display employee records in tabular format, but the form is not wide enough to display all the items in the Employees block. The employee IDs and names of displayed records should always be visible, but you want to scroll the additional information as users tab through the Items, the form should look like a spreadsheet with the first two columns frozen.
Which canvas types would be most appropriate in this scenario?
Answer
-
content canvas in a window with a horizontal scroll bar
-
content canvas and multiple tab canvases
-
content canvas and a tab canvas with multiple tab pages
-
content canvas and a stacked canvas with a horizontal scroll bar
-
multiple content canvases
Question 12
Question
You have created a complex menu structure with several types of menu objects. To which objects would you assign menu commands?
Answer
-
main menus
-
individual menus
-
submenus
-
menu items
-
all of the above
Question 13
Question
View the Exhibit.
The Departments table in the database contains four columns. In a new form, you use the Data Block Wizard to add all columns to the block, but in the layout Wizard, you choose all columns except Location_Id to add to the canvas. The Object Navigator and layout Editor appear as shown in the Exhibit.
You then decide that you do need to display Location_Id on the canvas. What object must you select before invoking the Layout Editor in re-entrant mode to make this change?
Answer
-
the text item tool in the Layout Editor
-
Frame 16 in either the Object Navigator or the layout Editor
-
Canvas4 in either the Object Navigator or the Layout Editor
-
Location_Id in the Object Navigator
-
the Departments data block in the Object Navigato
Question 14
Question
To avoid overloading the database during busy times, you decide to restrict the queries that are executed on the Orders form so that users query by either Order ID or Customer ID during these times. Which trigger is most appropriate for the code to enforce this restriction?
Answer
-
When-New-Form-instance
-
When-New-Block-instance
-
On-Query
-
Pre-Query
-
Post-Query
Question 15
Question
You have created an editor named MyEditor, and you want it to be available to edit the text item Product_Description. You can associate the editor with the text item by setting the Editor property of Product_Description to MyEditor.
Question 16
Question
The Orders form is sometimes run automatically and sometimes run from the Customers form, when it is run from the Customers form, any queries should be restricted to the customer that is currently selected. The Customers form button that runs the Orders form sets a global variable to the current customer ID.
The Orders form has a button labeled Execute Query with the following When-Button Pressed trigger:
DEFAULT_VALUE (NULL, 'GLOBAL.Customer_id');
IF: GLOBAL.customer_id IS NOT NULL
THEN
SET_BLOCK_PROPERTY ('orders', DEFAULT_WHERE, 'orders.customer_id =
' | | :GLOBAL.CUSTOMER_id);
END IF;
EXECUTE_QUERY
You want to duplicate that functionality in a menu item for the Summit menu that is attached To the Orders form.
What changes must you make to the code so that the menu code functions as it does in the form?
Answer
-
Change both occurrence of :GLOBAL.customer_id to 'GLOBAL.customer_id'.
-
Change 'GLOBAL.customer_id' in line 1 to :GLOBAL.customer_id.
-
Change both occurrence of :GLOBAL.customer_id to NAME_IN ('GLOBAL.customer_id').
-
You do not need to change anything; the code compiles and functions correctly in the menu item.
-
You cannot add this type of code in the menu because it refers to the items on the form that cannot be referenced from a menu.
Question 17
Question
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
Answer
-
One Note style alert and caution style alert
-
One Note style alert and one Stop style alert
-
On Caution style alert and one stop style alert
-
On Note style alert, one Caution style alert, and one Stop style alert
-
Two Caution style alerts and one Stop style alert
Question 18
Question
You have installed WebLogic and Forms with a default configuration, which has been tested and determined to be correct.
After creating a basic form in the Forms Builder, you click Run Form to test it. Forms Builder displays an error dialog box with the following message:
FRM-10142: The HTTP Listener is not running on <host> at port 9001.
Please start the listener or check your runtime preferences.
What is one action that you can take to resolve this error
Answer
-
Start the Web Logic Administration server.
-
Start the WLS_FORMS managed server.
-
Change the server URL parameter in formsweb.cfg
-
Start the Oracle HTTP server.
-
Start WebCache.
Question 19
Question
Which statement is always true about using OPEN_FORM to open multiple forms in an application?
Answer
-
Database transactions are always continued across forms.
-
Code is always shared among forms.
-
A calling form must pass data to a called form.
-
A global record group is always created.
-
Only A and B are true.
-
Only B and C are true.
-
Only C and D are true.
-
None of the statements above are true
Question 20
Question
You put some code in a Post_Update trigger and raise the FORM_TRIGGER_FAILURE under certain conditions. Does a rollback take place if the trigger falls?
Answer
-
Yes. Although the update has been applied to the database, the old column values are retained as rollback data; so a failure of this trigger automatically reinstates the original values.
-
No. It is too late to perform a rollback at this stage because the update has already been applied.
-
The value have already been applied, so you must programmatically save the old values in the global variables or PL/SQL variables if you want to reinstall the original values.
Question 21
Question
View the Exhibit.
You have placed the following code in a Post insert trigger on the Orders block:
SELECT orders_seq.NEXTVAL
INTO :orders.order_id
FORM SYS.dual;
You have also set Item properties for the Order_Id Item in the form so that users cannot directly enter an Order ID.
As the SUMMIT user, you run the form to test it. Yon are able to insert a record in the block, but when you click Save, you have a database error as shown in the Exhibit.
What is the probable cause of this error?
Answer
-
The code should be in Pre_insert trigger instead
-
The code should be in a database trigger instead
-
You should change the code to select the sequence number from SUMMIT.dual instead.
-
You should create the sequence in the database, because the runtime error is an indication that is does not exist.
-
You should assign a temporary value to the Order_Id item before saving the form
Question 22
Question
You are coding a When-Checkbox-Changed trigger.
Which statements are available for use in your code?
Answer
-
unrestricted built-ins only
-
restricted and unrestricted built-ins only
-
PL/SQL statements and unrestricted built-ins only
-
PL/SQL statement-, and any built-in
Question 23
Question
On the Employees form, you do not want the cursor to enter the Employee_Id text item, which is the first item in the first block on the form. You code a Pre-Text-item trigger for that item that uses the GO_ITEM built-in to navigate to the next item.
What happens when you run the form from Forms Builder?
Answer
-
You receive a compilation error.
-
The form starts to run, but immediately closes. So If an error message Is displayed, you are unable to see it.
-
The form runs, but as soon as it appears, you receive a runtime error
-
The form runs, but as soon as you perform any navigation, a runtime error occurs.
-
The form runs with no problem.
Question 24
Question
Yon have created a list item for the Credit__Rating field in the Customers form, the Finance department usually determines a range of scores that pertain to the customer, the values in the list are Excellent, Good, Fair, and Poor, corresponding to the ranges provided by Finance. The default value Fair, because that is the range that applies to most customers.
Sometimes, Finance can provide an exact credit score; so users must be able to enter the exact numerical value if it is known. Often clerks enter the customer data before the performance of a credit check, so they must be able to enter a blank value if the credit rating is not yet determined.
Users want to be able to select a blank value from the list, but the list does not display a blank line for them to select. How can you meet this requirement without changing the default value of the list item?
Answer
-
Add a blank line to the list item when you define the static values.
-
Set Mapping of other Values for the Credit_Rating Item to NULL
-
Set the Required property of the Credit_Rating item to No.
-
Delete the NOT NULL constraint for the Credit_Rating Column in the database.
-
You cannot change this type of list item to display a blank value; users must delete the default value records if the credit rating is not known
Question 25
Question
A clerk is using the Human Resources form, which displays a department and its associated employees on the same canvas. Only two Items in the form are enabled.
Possible navigation units that can occur during navigation of this form are:
1. Outside the form
2. The Human Resources form
3. The Departments block
4. The Employees block
5. The current Departments record
6. The current Employees record
7. The Department_Id item
8. The Employee_Id item
With the cursor in : Departments.Department_Id, the clerk clicks the :Employees.Employee_Id item.
What is the sequence of navigational unit movement that occurs
Answer
-
1, 2, 3, 4, 5, 6, 7, and 8
-
7, 5, 3, 2, 4, 6, and 8
-
7, 5, 3, 2, 4, 6, and 8 only
-
7, 5, 3, 4, 6, and 8 only
-
7 and 8 onl
Question 26
Question
You want to use WebUtil functionality in the Orders form. What three things must you do to integrate WebUtil into the Orders Form?
Answer
-
Copy the WebUtil object group from the WebUtil object library into a separate object library.
-
Subclass the WebUtil object group from the WebUtil object library into the Orders form.
-
Ensure that the WebUtil block is the last block under the Data Blocks node in the Object Navigator.
-
Ensure that the WebUtil block is the first block under the Data Blocks node in the Object Navigator.
-
Attach the WebUtil library to the Orders form.
-
Copy the WebUtil library to the same directory as the Orders form.
-
in the When-New-Form-instance trigger, register the WebUtil javaBeans.
-
Set the Implementation Class Property for any items that will implement WebUtil JavaBeans.
Question 27
Question
Iin an Order Entry form, the Order_Items block has a text item called Shipping Date, which is of the Date data type. The Lowest Allowed Value and the Highest Allowed Value properties are not defined for this item.
Assuming that the following are defined, which three are valid settings for the initial Value = property of the Shipping_Date Item?
Answer
-
$$DBDATE$$
-
:Orders.Order_Date + 3
-
SYSDATE
-
:GLOBAL.SHIP_DATE
-
:PARAMETER.SHIP
-
ORDER_ITEMS_SEQ
Question 28
Question
The Employees database table contains more columns than can be displayed at one time in a form. You create a data block that uses all the columns. How can you enable users to interact with all the items and switch between them without scrolling or closing anything?
Answer
-
Define multiple content canvases and display them in multiple modeless windows.
-
Define multiple content canvases and display them in the same modeless window.
-
Define multiple content canvases and display them in multiple modal windows.
-
Define multiple content canvases; display one in a modeless window and the others in modal windows.
-
This is not possible because items from a single block must be displayed on the same canvas and window.
Question 29
Question
You have designed a form with two content canvases. The window for the first canvas was created implicitly, and you have not changed its default properties.
You want users to be able to navigate between the canvases easily while viewing both simultaneously. Therefore, you create a second window, changing only its name from the default properties.
However, when you test the form, you find that you are unable to close either window. What must you do to provide this functionality?
Answer
-
Change the second window to a modal window.
-
Code a When-Window-Closed trigger for each window.
-
Set Close Allowed to Yes for both windows.
-
Set Hide on Exit to Yes for both windows.
Question 30
Question
Identify a function of the Forms Servlet.
Answer
-
It creates a dynamic HTML file.
-
It starts a Forms runtime session.
-
It manages network requests from the Forms Client.
-
It connects to and communicates with the database server.
-
It renders the Forms Services application display for the user.