Oracle Fusion Middleware 11g: Build Applications with Oracle Forms Exam
Last exam update: Sep 01 ,2024
Page 1 out of 6. Viewing questions 1-15 out of 90
Question 1
Which symbol when used in an object's Property Palette, indicates an inherited property that has been changed?
A.
Enabled = Yes; Keyboard Navigable = No
A.
Option A
B.
Enabled = No; Keyboard Navigable = Yes
B.
Option B
C.
Enabled = Yes; Keyboard Navigable = Yes
C.
Option C
D.
Enabled = No; Keyboard Navigable = No
D.
Option D
E.
Automatic Skip = Yes
Answer:
C
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
None
Discussions
0/ 1000
Question 2
View the Exhibit. You have just created a new object library as shown in the Exhibit. You want the tabs to have descriptive names. You cannot change the names of the default object library tabs, so you must create new tabs in order to have descriptive names.
A.
You cannot drag a canvas to an object group.
A.
True
B.
You cannot drag a block to an object group.
B.
False
C.
You need separate object groups for different types of objects.
D.
You cannot drag multiple types of objects to an object group at the same time.
E.
You should drag them to the ObjectGroup96 node, not to its Object Group Children node.
Answer:
B
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
D
50%
E
50%
None
Discussions
0/ 1000
Question 3
You have written a Forms application that your users log in to with their database login. Which Forms component is utilized first when a user runs the application?
A.
You have invoked WebUtil functionality from a trigger that does not accept restricted built-ins.
A.
Forms Client (applet)
B.
You have invoked WebUtil functionality from a Pre-form trigger.
B.
Forms Runtime
C.
You did not recompile the WebUtil library after adding new triggers.
C.
Forms Servlet
D.
You did not enable the GetClientinfo JavaBean.
D.
Forms Listener Servlet
E.
Java is not installed on the client machine, so SET_JAVA_VERSION returns an error.
Answer:
C
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
None
Discussions
0/ 1000
Question 4
You have been assigned to maintain a Forms application that was designed by a developer who has left the company. The CV_Tools canvas contains several buttons. There is limited space on the canvas, but the first button is not quite wide enough to display its complete label. In the Layout Editor, you widen the button slightly and find that the width of all the buttons increases so that they now overlap each other. What could have caused this problem?
A.
Open the Layout Editor for both canvases; drag the radio buttons from Employee_Training canvas to the Employee_Appraisal canvas.
A.
The buttons inherit their properties from the same property class.
B.
Drag the radio button nodes from the Object Navigator to the Employee Appraisal canvas in the Layout Editor.
B.
The buttons were created by dragging them from an object group.
C.
Drag the radio group node from the Object Navigator to the Employee__Appraisal canvas in the Layout Editor.
C.
The buttons were created by using a Smart Class.
D.
Set the Canvas property for the radio buttons to Employee_Appraisal
D.
All other buttons were subclassed from the first button.
E.
Set the Canvas property for the radio group to Employee_Appraisal.
E.
All other buttons were copied from the first button.
F.
You cannot move existing radio buttons to another canvas; you will need to delete them from the Employee_Training canvas and create new ones on the Employee_Appraisal canvas.
F.
The first button was subclassed from another button.
G.
The first button was copied from another button.
Answer:
D
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
F
50%
G
50%
Explanation: D (not F): With subclassing you can make an exact copy, and then alter the properties of some objects if desired. If you change the parent class, the changes also apply to the properties of the subclassed object that you have not altered. However, any properties that you override remain overridden. This provides a powerful object inheritance model. Incorrect answers: A: A property class is a named object that contains a list of properties and their settings. You can use property classes to increase productivity and improve network performance. Here are some of the uses of a property class: * It increases productivity by setting standard or frequently used values for common properties and associates them with several form builder objects. * It defines standard properties not just for one particular object but also for several at a time. This results in increased productivity, because it eliminates the time spent on setting identical properties for several objects. * It improves network performance by increasing the efficiency of message diffing. C: A SmartClass is a special member of an Object Library. It can be used to easily subclass existing objects in a form using the SmartClass option from the right mouse button popup menu. E, G: When you copy an object, a separate, unique version of that object is created in the target module. Any objects owned by the copied object also get copied. Changes made to a copied object in the source module do not affect the copied object in the target module.
Discussions
0/ 1000
Question 5
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.
IF ERROR_CODE = 40509 THEN MESSSAGE (DBMS_ERROR_TEXT); END IF
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.
IF ERROR_CODE = 40509 THEN MESSSAGE (SQLERRM); END IF;
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.
IF ERROR_CODE = 06512 THEN MESSSAGE(DBMS_ERROR_TEXT); END IF;
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.
IF ERROR_CODE = 06512 THEN MESSSAGE (SQLERRM); END IF;
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.
IF ERROR-CODE = 20101 THEN MESSSAGE (DBMS_ERROR_TEXT); END IF;
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.
F.
IF ERROR_CODE = 20101 THEN MESSSAGE(SQLERRM); END IF;
Answer:
C
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
None
Discussions
0/ 1000
Question 6
View the Exhibit. You have defined the window, canvas, and text items shown in the Exhibit. What happens when click Run Form?
A.
moving the forms executable files from the development machine to the middle-tier machine
A.
The form runs with the cursor initially in TEXT_ITEM8.
B.
compiling the Forms modules on the middle tier machine
B.
The form runs with the cursor initially in TEXT_ITEM9.
C.
creating a menu module for the application
C.
The form does not compile until you move TEXT_ITEM8.
D.
compiling the Forms modules on the development machine
D.
The form does not compile until you move TEXT_ITEM10.
E.
moving the Forms source files from the development machine to the middle tier machine
F.
creating a Forms PL/SQL library file to contain the application logic
G.
installing forms Builder on the middle-tier machine
Answer:
D
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
F
50%
G
50%
None
Discussions
0/ 1000
Question 7
Which statement is true about flexible code?
A.
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.
A.
It is designed for reuse.
B.
If you place this code in a trigger, you should ensure that Order_Id has its required property set to Yes.
B.
It typically includes hard-coded object names.
C.
If you place this code in a trigger, you should ensure that Order_Id has its Database Item property set to No.
C.
It is more difficult to maintain.
D.
If the named sequence does not exist, it is automatically created the first time the code is called.
D.
It is more difficult to write, so it decreases developer productivity.
E.
You should place this code a in a database trigger to minimize the gaps in Order IDs.
E.
It is specific to a particular module.
F.
You should place this code in Pre-insert trigger to minimize the gaps in Order IDs.
G.
You should place this code in a Post_insert trigger to minimize the gaps in Order IDs.
Answer:
A
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
G
50%
None
Discussions
0/ 1000
Question 8
Which type of variable must be declared before it is used in a trigger?
A.
Option A
A.
PL/SQL variable
B.
Option B
B.
Form item
C.
Option C
C.
global variable
D.
Option D
D.
system variable
E.
parameter
Answer:
A
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
Explanation: PL/SQL is the language used in Forms triggers and program units. PL/SQL lets you declare variables and constants, then use them in SQL and procedural statements anywhere an expression can be used. You must declare a constant or variable before referencing it in any other statements. Variables can have any SQL datatype, such as CHAR, DATE, or NUMBER, or a PL/SQL-only datatype, such as BOOLEAN orPLS_INTEGER. Note: PL/SQL's data types correspond with SQL's column types, making it easy to interchange PL/SQL variables with data inside a table.
Discussions
0/ 1000
Question 9
You have just created radio buttons labeled Outstanding, Exceeds, Meets, and Does not Meet for the employee appraisal rating, but you accidentally created it on the Employee_Training canvas rather than on the Employee_Appraisal canvas. How can you move them to the appropriate canvas?
A.
Delete the Key-Exeqry trigger and add the its first line after the call to GO_BLOCK in the When-New-Form-instance trigger.
A.
Open the Layout Editor for both canvases; drag the radio buttons from Employee_Training canvas to the Employee_Appraisal canvas.
B.
Change the last line of the When-Button-Pressed code to: DO_KEY ('EXECUTE_QUERY');
B.
Drag the radio button nodes from the Object Navigator to the Employee Appraisal canvas in the Layout Editor.
C.
Delete the Key-Exqry trigger and put its code in an On-Select trigger.
C.
Drag the radio group node from the Object Navigator to the Employee__Appraisal canvas in the Layout Editor.
D.
Delete the Key-Exqry trigger and put its code in a Pre-Query trigger.
D.
Set the Canvas property for the radio buttons to Employee_Appraisal
E.
Set the Canvas property for the radio group to Employee_Appraisal.
F.
You cannot move existing radio buttons to another canvas; you will need to delete them from the Employee_Training canvas and create new ones on the Employee_Appraisal canvas.
Answer:
E
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
F
50%
Explanation: Note: Example of radio group: Creating radio buttons We will now create radio buttons for the Sex item to give the user an option of selecting either Male or Female.28. * To do this, right click on the Sex item in the Layout Editor and go to itsProperty palette. * In the Property Palette, Set:- Item Type : Radio Group- Initial Value : M30. Once you return back to the Layout Editor, you have to insert radio buttons.Select Radio Button icon from the toolbox. Drop the radio button into the form. * A window will appear, prompting you to select the radio group you would liketo attach this radio button to. Select the radio group Sex .
Discussions
0/ 1000
Question 10
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?
A.
as a system message on the status line
A.
The form is in Enter-Query mode.
B.
as a system message in a system alert
B.
The item is using an LOV for validation.
C.
as a system message in an application alert
C.
The validation unit of the form needs to be changed.
D.
as an application message on the status line
D.
The MESSAGE () built-in is not allowed in validation triggers.
E.
as an application message in a system alert
E.
There is a syntax error in the call to the MESSAGE() built-in.
F.
as an application message in an application alert
F.
Validation for the Customer_Id item failed.
Answer:
A, C
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
F
50%
None
Discussions
0/ 1000
Question 11
View the Exhibit. To test how the Orders application works with database triggers, you add to the Orders table the following database trigger that fires before the update of Customer_Id: BEGIN If :old.customer_id != : new.customer_id then RAISE_APPLICATION_ERROR (-20101, 'Database trigger says no!'); end if; END; You run the Orders form, change the customer ID, and click Save. You receive the error message "FRM-40509: Oracle error: unable to UPDATE record." You select Help > Display Error, and the Database Error dialog box that is shown in the Exhibit appears. Which code would you put in your Form-level On-Error trigger to display the ORA- error message instead of the FRM- error message?
A.
The Orders form is Opened in the same session as the Customers form.
A.
IF ERROR_CODE = 40509 THEN MESSSAGE (DBMS_ERROR_TEXT); END IF
B.
The Orders form is opened in a different session from the Customers form.
B.
IF ERROR_CODE = 40509 THEN MESSSAGE (SQLERRM); END IF;
C.
The Orders form is opened in ACTIVATE mode.
C.
IF ERROR_CODE = 06512 THEN MESSSAGE(DBMS_ERROR_TEXT); END IF;
D.
The Orders form is opened in NO_ACTIVATE mode.
D.
IF ERROR_CODE = 06512 THEN MESSSAGE (SQLERRM); END IF;
E.
The trigger that opens the Orders form calls COMMIT_FORM after open form.
E.
IF ERROR-CODE = 20101 THEN MESSSAGE (DBMS_ERROR_TEXT); END IF;
F.
IF ERROR_CODE = 20101 THEN MESSSAGE(SQLERRM); END IF;
Answer:
A
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
None
Discussions
0/ 1000
Question 12
You are using a PL/SQL program unit in the Orders form to display an image for the selected product in the Order Items block. The code is called from several different triggers in the form. The code (with line numbers added) is: 1. PROCEDURE get_image IS 2. Product_image_id ITEM := FIND_ITEM ('control.product_image'); 3. Filename VARCHAR2(250); 4. BEGIN 5. Filename := TO_CHAR(:order_items.product_id) | | '.jpg'; 6. READ_IMAGE_FILE (filename, 'jpeg', product_image_id); 7. END; Management wants all codes to be in PL/SQL libraries to facilitate reuse. You create a PL/SQL library and drag the program unit from the orders form to the Program Units node of the library. You then delete the program unit from the Orders form. What three things must you do to compile the PL/SQL library and to use the code in the Orders form?
A.
Change FIND_ITEM to FIND_MENU_ITEM.
A.
Change line 5 to: filename := to_char(name_in 'order_items.product_id' )) | | '.jpg';.
B.
Change 'preferences.AutoQuery' to 'orders.preferences.AutoQuery'.
B.
insert the RELEASE keyword between lines 1 and 2.
C.
Delete the BEGIN and END statements (lines 4 and 7).
D.
Change 'preferences.AutoQuery' to 'ORDERS.PREFERENCES>AUTOQUERY'.
D.
Change product_id to an in parameter and filename to an OUT parameter.
E.
Change 'preferences.AutoQuery' to 'AUTOQUERY'.
E.
Save the library.
F.
Change GET_ITEM_PROPERTY to GET_MENU_ITEM_PROPERTY
F.
Generate the a .plx file.
G.
Change SET_ITEM_PROPERTY to SET_MENU_ITEM_PROPERTY
G.
Attach the library to the orders form.
H.
Change PROPERTY_FALSE to 'FALSE'.
H.
Change the way the program unit is called in the Orders form.
I.
Change PROPERTY_TRUE to 'TRUE'.
Answer:
E, G, H
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
F
50%
G
50%
G
50%
H
50%
H
50%
I
50%
Explanation: E: Save and compile the library. G: select the Attached Libraries node and click Create. In the Attach Library dialog box, click Browse to navigate to the saved library and open it, then answer Yes to the alert that asks if you want to remove the path. H: Modify the to simply call the procedure from the attached library:
Discussions
0/ 1000
Question 13
You have written a When-Validate-Item trigger. You want this trigger to fire even if the form is in Enter-Query mode. What must you do to achieve this?
A.
content canvas in a window with a horizontal scroll bar
A.
Use the following code at the start of the When Validate-Item trigger: :SYSTEM.mode := 'ENTER-QUERY';
B.
content canvas and multiple tab canvases
B.
Use the following code at the start of the When Validate Item trigger: :SYSTEM.mode := 'NORMAL';
C.
content canvas and a tab canvas with multiple tab pages
C.
Set the Fire in Enter Query Mode property of the When-Validate-Item trigger.
D.
content canvas and a stacked canvas with a horizontal scroll bar
D.
You do not need to do anything, because the default for the When Validate Item trigger is to fire in Enter-Query mode.
E.
multiple content canvases
E.
You cannot achieve this, because the When-Validate-Item trigger cannot be set to fire in Enter- Query mode.
Answer:
E
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
Explanation: Coding Triggers for Enter-Query Mode Some triggers that fire when the form is in Normal mode (during data entry and saving) may also be fired in Enter-Query mode. You need to consider the trigger type and actions in these cases. Fire in Enter-Query ModeProperty To create a trigger that fires in Enter-Query mode, in its Property Palette set the Fire in Enter-Query Modeproperty to Yes. This property determines whether Forms fires a trigger if the associated event occurs in Enter-Query mode. Not all triggers can do this. See last line in note below. By default, the Fire in Enter-Query Modeproperty is set to Yes for triggers that accept this. Set it to No in the Property Palette if you want the trigger to fire only in Normal mode. Note: The following triggers may fire in Enter-Query mode: *Key- * On-Error * On-Message * When-triggers, except: -When-Database-Record -When-Image-Activated -When-New-Block-Instance -When-New-Form-Instance -When-Create-Record -When-Remove-Record -When-Validate-Record -When-Validate-Item
Discussions
0/ 1000
Question 14
Which two actions are always necessary when deploying Forms applications that were developed on Windows platform to a UNIX middle tier server?
A.
PL/SQL variable
A.
moving the forms executable files from the development machine to the middle-tier machine
B.
Form item
B.
compiling the Forms modules on the middle tier machine
C.
global variable
C.
creating a menu module for the application
D.
system variable
D.
compiling the Forms modules on the development machine
E.
parameter
E.
moving the Forms source files from the development machine to the middle tier machine
F.
creating a Forms PL/SQL library file to contain the application logic
G.
installing forms Builder on the middle-tier machine
Answer:
BE
User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
G
50%
None
Discussions
0/ 1000
Question 15
You have coded the following When Button Pressed trigger: EXECUTE_QUERY; MESSAGE ('Query executed on block'); MESSAGE ('click next to navigate the next record'); When the user clicks the button, how is the message "Query executed on block" displayed?
A.
Change both occurrence of :GLOBAL.customer_id to 'GLOBAL.customer_id'.
A.
as a system message on the status line
B.
Change 'GLOBAL.customer_id' in line 1 to :GLOBAL.customer_id.
B.
as a system message in a system alert
C.
Change both occurrence of :GLOBAL.customer_id to NAME_IN ('GLOBAL.customer_id').
C.
as a system message in an application alert
D.
You do not need to change anything; the code compiles and functions correctly in the menu item.
D.
as an application message on the status line
E.
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.
E.
as an application message in a system alert
F.
as an application message in an application alert