Oracle Forms
-------------------------------------------------------------------------------------------------------------------------
Uplatz provides comprehensive training on Oracle Forms. This Oracle Forms course will teach you how to design the front-end design and coding for back-end processing. You will be using PL/SQL programming to create Program units to process data held in databases.
----------------------------------------------------------------------------------------------------------------------------
Course Objective
By the end of this Oracle Forms training, you will understand how to create and implement:
· Database, Forms and Reports
· Introduction to Oracle Database
· Physical Database Design
· Database Management
· Tables, Views, Indexes, Synonyms, Grants, Roles
· Installing Oracle Forms and Reports
· Architecture and toolset
· Testing forms and reports
----------------------------------------------------------------------------------------------------------------------------
Oracle Forms
· Types of controls
· Visual Attributes
· Property class
· Constraints in forms
· Creating Database block manually
· Master-detail relation
· Object Groups
· Object libraries
· Built-in subprograms used in form triggers
· Form Triggers
· Using button control
· Creating password screen
· Alerts
· Types of canvas
· Creating tables through forms
· Menus
· Record Groups
· Creating sub programs in forms
· Using Database triggers in forms
· PL/SQL Libraries
· Creating Database procedures and functions in forms
· Creating data block using stored procedures
· Trapping errors
· Windows
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Oracle Forms Interview Questions
----------------------------------------------------------------------------------------
Q #1) What do you understand by Oracle Forms and why are they required?
Answer: Oracle Forms are the user interfaces that are developed to present the data to the user. This data can be presented once retrieved from the Oracle database. If required, forms can be integrated with web services or Java to follow SOA architecture. Forms are created at source as .fmb files and later compiled into .fmx (executable file).
Oracle Forms include:
• Forms Developer: It helps in the development and compilation of Oracle Forms.
• Forms Services: It is considered for the deployment of Forms.
Q #2) Explain the different levels at which Oracle Form Services interact.
Answer: Oracle Form Services is a three-tier application and hence it will interact at the below levels:
• Client Level
• Server Level
• Database Level
At the client level, HTTP requests will be sent by a client to the system. This request will be received by the Forms Listener Servlet at the server and it will initiate Forms Runtime process. This process will send the request to the database to retrieve the information and send it back to the client.
This completes the workflow of user interaction through Oracle Forms Services.
Q #3) Can we invoke one form from another in a multi-forms application?
Answer: Yes, we can invoke one form from another with the help of the below built-in functions:
• OPEN_FORM: It opens up the requested form along with the current form and the user can navigate to both the forms in the same session.
• NEW_FORM: It will also open up a new form but after exiting from the current form.
• CALL_FORM: It will open the requested form by keeping the parent form active but hidden. Once exited from the requested form, control goes back to the parent form.
Q #4) What do you understand by LOV and how can it be used?
Answer: LOV is a list of values populated in a pop-up window and is displayed to the end-user for selection. These values can be assigned and invoked statically or dynamically in LOV.
There is a related property known as ‘LOV for Validation' which is used to validate contents of LOV. If this property is set to true, the current value of text item is compared with the values displayed in the first column of LOV.
If any of the LOV values match the text item, then validation succeeds and LOV will not be displayed. If the value does not match, LOV will be displayed and a search will happen based on the text item.
Q #5) What is a canvas in Oracle Forms?
Answer: Canvas is a layer within a window where the visual objects like interface items or graphics can be placed.
Oracle Forms support four types of canvas as mentioned below:
• Content canvas (default canvas)
• Tab canvas
• Toolbar canvas
• Stacked canvas
Q #6) In what sequence do triggers get fired by Oracle Forms?
Answer: Oracle Forms follow the below hierarchy for trigger execution:
• Pre-form
• Pre-block
• Pre-record
• Pre-text item
• When-new-form-instance
• When-new-block-instance
• When-new-record-instance
• When-new-item-instance
• Post-text_item
• Post-Record
• Post-Block
• Post-Form
Q #7) Explain the Master-Detail relationship with some examples.
Answer: Master-Detail relationship is the relationship among different business entities which follows the parent-child relationship pattern. There will be one parent entity linked to many child entities.
For Example, we can have one master named COMPANY with different details as DEPARTMENTS (HR, FINANCE, OPERATIONS, ADMIN, etc.).
This relationship can be implemented with the help of two data blocks where the first data block represents the master table while the other represents a detailed table.
Q #8) Name the different triggers associated with Oracle Forms having a master-detail relationship.
Answer: Enlisted triggers gets created during the creation of the master-detail block:
• ON-CHECK-DELETE-MASTER
• ON-CLEAR-DETAILS
• ON-POPULATE-DETAILS
Q #9) What are the various configuration files that are used by Oracle Forms?
Answer: The configuration files include:
• default.env
• formsweb.cfg
• ftrace.cfg
• base.htm,basejini.htm& basejpi.htm
Using the above config files, a user can specify different parameters for the forms as per the requirement.
Q #10) What do we mean by record group in Oracle Forms?
Answer: A record group is a framework of rows and columns within the Oracle Forms similar to a table in the Oracle database.
Record groups can be:
• Query Record Group
• Non-Query Record Group
• Static Record Group
A query record group is associated to SELECT statement and can be created or updated during design or execution. While a non-query record group is not associated with any query and hence it can be created or updated during execution only.
The static record group is again not associated with any query and can be created or updated during the design phase only.
Oracle Reports Interview Questions
Q #11) What is an Oracle Report? List its various types.
Answer: Oracle Report is a tool provided by Oracle Fusion Middleware, which is used to generate reports based on the data stored in the Oracle database. It consists of Oracle Reports Developer, a report designing tool and Oracle Application Server Reports Services.
Various types of Report include:
• Tabular
• Master-Detail Reports
• Form Reports
• Form Letter Reports
• Mailing Labels Reports
• Matrix Reports
Q #12) What is an implicit anchor and how is it a different form explicit anchor in a report builder?
Answer: An anchor is used to determine the position of an object in horizontal and vertical directions. This position of an object will always be relative to the position of the other objects, which can be called parent objects for these child objects.
During runtime, an implicit anchor will be generated by the Oracle Forms Builder for each layout object, which is not holding an explicit anchor. The implicit anchor will be created during the runtime of a report while explicit anchors are created by a user explicitly.
Q #13) Name different triggers supported by Oracle Reports and their firing order.
Answer: Listed below are the triggers supported by Oracle Reports:
• Before Parameter Form: Gets fired before the display of runtime parameter form on the screen.
• After Parameter Form: Gets fired after the display of runtime parameter form on the screen.
• Before Report: Gets fired before the execution of a report but after the queries get parsed.
• Between Pages: Gets fired before formatting is done for every page except the first page.
• After Report: Gets fired either at the exit of the Previewer or once the report output is shared with the destination.
Q #14) What is the difference between bind and lexical parameter?
Answer: Bind parameters are the variables, which can replace a single value in SQL/PLSQL such as number, character, string or date.
While lexical parameter can replace clauses or multiple values embedded in SELECT query possibly after SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH.
Q #15) List the different types of columns in Oracle Reports.
Answer: There are three types of columns in Oracle reports. They are:
• Formula Columns: Column that can do user-defined calculations on values within other columns and return some value.
• Summary Columns: Column, which can do summary computations like sum, average, etc. on values placed in the other columns.
• Placeholder Columns: Column for which data type or value can be set using PL/SQL.
Q #16) What is a User exit program in Oracle Reports?
Answer: User exit is a program that is written to perform some relevant action. They can be called from report triggers and once executed, it gives back the control to Report Builder.
Few of the user exits are listed as shown below:
• FND SRWINIT
• FND SRWEXIT
• FND FORMAT_CURRENCY
• FND FLEXSQL
• FND FLEXIDVAL
Q #17) How can we generate report output in Excel format?
Answer: To get report data in an Excel format, we can use:
• SPOOL Command
• Text_IO Package
• UTL Package
Q #18) What is the difference between flex mode and confined mode?
Answer: Confined mode, if set restricts the child object within enclosing parent objects. If not set on, the child objects can move out of parent objects.
During flex mode, parent objects will adjust its border if the child object expands or moves. If not set, parent borders stay fixed when the child objects move.
Q #19) What is a matrix report and how many minimum groups are required to prepare the same?
Answer: A matrix is a kind of report that looks like an information grid with one row of labels and one column of columns. At least 4 groups are required in the data model to prepare a matrix report. One should be a cross-product group, one cell group & at least two groups should be within a cross-product group.
Q #20) Is it possible to have multiple layouts in a report?
Answer: Yes, it is possible to have multiple layouts. We can use an additional layout option in the layout editor tool.
----------------------------------------------------------------------------------------