oracle 1z0-151 practice test

Oracle Fusion Middleware 11g: Build Applications with Oracle Forms Exam

Last exam update: May 17 ,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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
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%
Discussions
vote your answer:
A
A
B
B
C
D
E
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
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
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
F
G
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
F
G
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
G
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
vote your answer:
A
A
B
B
C
C
D
D
E
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
vote your answer:
A
A
B
B
C
C
D
D
E
F
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
F
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
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
vote your answer:
A
A
B
B
C
D
D
E
E
F
F
G
G
H
H
I
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
vote your answer:
A
A
B
B
C
C
D
D
E
E
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%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
G
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
Answer:

E

User Votes:
A
50%
A
50%
B
50%
B
50%
C
50%
C
50%
D
50%
D
50%
E
50%
E
50%
F
50%
Discussions
vote your answer:
A
A
B
B
C
C
D
D
E
E
F
0 / 1000
To page 2