Oracle apps forms interview questions all

http://oracleapps88.blogspot.com/2016/03/oracle-forms-interview-questions-and.html?_sm_au_=itHk04HW1D5QNp8s

Oracle Forms Interview Questions and Answers (FAQS)

The Oracle Forms Builder is an Integrated Development Environment (IDE) included in the Oracle Developer Suite package. It is intended for Rapid Application Deployment (RAD) using PL/SQL.

What are the steps you have to follow to register a Form?
·         We will down load template.fmb from AU_TOP ($AU_TOP/forms/US) resource folder. Then we will delete block name from window, datablock, canvas.
·          Change the property class for window, canvas and data block.
·         Change the name of form.
·         Go to pre_form trigger at form level. Give the window name in set window position function. We change action History like date and author name (optional).
·         Go to when _new_form instance at form level give the form name in template.fmb place
·         Go to program units select app_custom package body in the following function.
If (wnd = 'window name') then app_window.close_first_window;
·         Compile the form and save. It will create FMB and create the fmx by following option.
 File => administration => compile file.
·         move the fmb to au_top=>11.5.0=>forms=>us
·         move the fmx to the corresponding to PO => 11.5 => forms => us
·          Select  the responsibility  called application developer
First create the form by using following navigation application => form                                                                                                                       give the name of fmx in form field. Give the application name where the fmx is stored. We can give our own user form name select the user form name goto function we will create the function, user function name                                                               select properties tab and choose the type as form And goto form tab give the user form name in the form field
·         Go to menu option will attach the function to the menu
·         We will attach the menu to the resp through sysadmin.

How do you generate Apps Forms modules or FMB files?
Oftentimes as part of upgrading Forms or modifying a Form module or applying a patch modifying a Form module, you would encounter an issue that would necessitate manually regenerating the Forms module executable or FMX file. To do this you issue the following command:  f60gen module=form_name.fmb userid=apps/apps output_file=form_name.fmx module_type=form batch=yes compile_all=special

How do you generate Apps Forms library modules or PLL files?
To do this you issue the following command: f60gen module=library_name.pll userid=apps/apps module_type=library batch=yes compile_all=special

Write the Abbreviation for the following File Extension?
1. FMB – Form Module Binary
2. MMB -- Menu Module Binary
3. PLL—PL/SQL Library Module Binary

What is ZOOM? How it works?
Zoom is a function provided by apps which can be used to call another form from a form. For making zoom available for your form u have to customize the custom.pll.  We have to add a branch stating if form name (specify form name) and blockname (specify blockname) then make zoom available.

What are the standard libraries available in template form?
·         FNDSQF(Routines for handling Message Dictionary, flexfields, profiles, concurrent processing, multicurrency, WHO)
·         APPCORE
·          APPCORE2
·         APPDAYPK(Controls the Application Calendar)
·         CUSTOM

What is who column and how you set the values?
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATED_DATE,
LAST_UPDATE_LOGIN

The custom form requires a pre-insert trigger at the block level containing the FND_STANDARD.SET_WHO function.  This trigger/function enables the 'About This Record' info and displays the info for the User when requested.

Name the directory having the FORMS source codes (FMB files)?
The FORMS source codes having the directory $AU_TOP/forms/US

Can we change the profile value? How?
Fnd_profile API can be used to set the profile value
fnd_profile.put (name in varchar2, value in varchar2).

What are the steps  you have to follow to register a custom application?
·         Register custom application in AOl
·         create a physical director structure under APPL_TOP
·         modify the environment file to include custom schema path
·         in the backend register the custom schema as user
·         register the user with AOl
·         add the custom schema to standard data group
·         register all the custom table with the application
·         create synonyms in apps schema for custom objects

What is event handler package?
An event handler is a PL/SQL procedure that encapsulate all the code that act upon an event. Usually we will use to satisfy the requirement of Oracle forms or oracle application interface standard for form base product.

Can we modify all the triggers?
No. There are some triggers which should not be modified. Here are the form triggers that must not be changed
CLOSE_THIS_WINDOW,
CLOSE_WINDOW,
EXPORT,
FOLDER_ACTION,
KEY–COMMIT,
KEY–EDIT,
KEY–EXIT,
KEY–HELP,
LASTRECORD,
MENU_TO_APPCORE,
STANDARD_ATTACHMENTS,
WHEN–WINDOW–CLOSED,
WHEN–FORM–NAVIGATE,
ZOOM

When you are moving a cursor on a form what are the possible triggers that are going to be fired?
If you are moving from an item of first block to the item of another block in a form then following trigger will be fired.
post-text
pre-text
when-validate-item (fired only when the status of the text item has been changed)
post-block
pre-block
when-new-block-instance
when-new-item-instance

If you are moving from an item to another item in same form then following trigger will be fired.                                                      
Post-text                                                                                                                                                    
when-validate-item (fired only when the status of the text item has been changed)         
pre-text                                                                                                                                                        

when-new-item-instance


  1. Answer :
    When-timer-expired.
  2. Answer :
    When-image-activated fires when the operators double clicks on an image itemwhen-image-pressed fires when an operator clicks or double clicks on an image item
  3. Answer :
    When_window_activated
    When_window_closed
    When_window_deactivated
    When_window_resized
    Within this triggers, you can examine the built in system variable system. event_window to determine the name of the window for which the trigger fired.
  4. Answer :
    When the value of a data parameter being passed to a called product is always the name of the record group defined in the current form. Data parameters are used to pass data to products invoked with the run_product built-in subprogram.

  5. Answer :
    When one form invokes another form by executing new_form oracle form exits the first form and releases its memory before loading the new form calling new form completely replace the first with the second. If there are changes pending in the first form, the operator will be prompted to save them before the new form is loaded.
  6. Answer :
    When LOV for Validation is set to True, Oracle Forms compares the current value of the text item to the values in the first column displayed in the LOV. Whenever the validation event occurs. If the value in the text item matches one of the values in the first column of the LOV, validation succeeds, the LOV is not displayed, and processing continues normally. If the value in the text item does not match one of the values in the first column of the LOV, Oracle Forms displays the LOV and uses the text item value as the search criteria to automatically reduce the list.
  7. Answer :
    When flex mode is on, reports automatically resizes the parent when the child is resized.
  8. Answer :
    When confine mode is on, an object cannot be moved outside its parent in the layout.
  9. Answer :
    Visual attributes are the font, color, pattern proprieties that you set for form and menu objects that appear in your application interface.
  10. Answer :
    view by structure.
  11. Answer :
    Vbx control provide a simple method of building and enhancing user interfaces. The controls can use to obtain user inputs and display program outputs.vbx control where originally develop as extensions for the ms visual basic environments and include such items as sliders, rides and knobs.
  12. Answer :
    Using transactional triggers we can control or modify the default functionality of the oracle forms.
  13. Answer :
    Using open_form built-in setting the session option Ex. Open_form('Stocks ',active, session). when invoke the multiple forms with open form and call_form in the same application, state whether the following are true/False
  14. Answer :
    Use reports profile executable statement. Use SQL trace facility.
  15. Answer :
    True
  16. Answer :
    Tool bar canvas views are used to create tool bars for individual windows. Horizontal tool bars are display at the top of a window, just under its menu bar. Vertical Tool bars are displayed along the left side of a window
  17. Answer :
    To specify the order of individual group evaluation in a cross products.
  18. Answer :
    To manipulate images in image items.
  19. Answer :
    To indirectly reference a parameter use the NAME IN, COPY 'built-ins to indirectly set and reference the parameters value' Example name_in ('capital parameter my param'), Copy ('SURESH','Parameter my_param')
  20. Answer :
    Timer is an "internal time clock" that you can programmatically create to perform an action each time the times.
  21. Answer :
    There are two phases of block coordination: the clear phase and the population phase. During, the clear phase, Oracle Forms navigates internally to the detail block and flushes the obsolete detail records. During the population phase, Oracle Forms issues a SELECT statement to repopulate the detail block with detail records associated with the new master record. These operations are accomplished through the execution of triggers.
  22. Answer :
    There are three most common types of complex master-detail relationships:
    • master with dependent details
    • master with independent details
    • detail with two masters
  23. Answer :
    The text list style list item appears as a rectangular box which displays the fixed number of values. When the text list contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to view and select undisplayed values.
  24. Answer :
    The term is terminal definition file that describes the terminal form which you are using r20run.
  25. Answer :
    The term file which key is correspond to which oracle report functions.
  26. Answer :
    The pop list style list item appears initially as a single field (similar to a text item field). When the operator selects the list icon, a list of available choices appears.
  27. Answer :
    The maximum no of chars the parameter can store is only valid for char parameters, which can be upto 64K. No parameters default to 23Bytes and Date parameter default to 7Bytes.
  28. Answer :
    The default file extensions indicate the library module type and storage format .pll - pl/sql library module binary
  29. Answer :
    The coordination properties are
    • Deferred
    • Auto-Query
    These Properties determine when the population phase of block coordination should occur.
  30. Answer :
    The console includes the status line and message line, and is displayed at the bottom of the window to which it is assigned.To specify that the console should be displayed, set the console window form property to the name of any window in the form. To include the console, set console window to Null.
  31. Answer :
    Text ParametersData Parameters
  32. Answer :
    System.mouse_button_pressedSystem.mouse_button_shift
  33. Answer :
    Summary, Formula, Placeholder column.
  34. Answer :
    Stacked canvas view is displayed in a window on top of, or "stacked" on the content canvas view assigned to that same window. Stacked canvas views obscure some part of the underlying content canvas view, and or often shown and hidden programmatically.
  35. Answer :
    Show editor is the generic built-in which accepts any editor name and takes some input string and returns modified output string. Whereas the edit_textitem built-in needs the input focus to be in the text item before the built-in is executed.
  36. Answer :
    1. set_item_property
    2. get_item_property
    3. (by setting the LOV_NAME property)
  37. Answer :
    Rep file and Rdf file.
  38. Answer :
    Removes the source code from the library file and generates a library files that contains only pcode. The resulting file can be used for final deployment, but can not be subsequently edited in the designer.ex. f45gen module=old_lib.pll userid=scott/tiger strip_source YES output_file
  39. Answer :
    Record group column names cannot exceed 30 characters.
  40. Answer :
    Read only
  41. Answer :
    • Query Record Groups
    • NonQuery Record Groups
    • State Record Groups
  42. Answer :
    Previewer
  43. Answer :
    Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.
  44. Answer :
    Pop_listText_listCombo box
  45. Answer :
    performing the calculation in the query is faster.
  46. Answer :
    percentage of total functions.
  47. Answer :
    Parameters provide a simple mechanism for defining and setting the valuesof inputs that are required by a form at startup. Form parameters are variables of type char,number,date that you define at design time.
  48. Answer :
    Oracle Precompiler exits, Oracle call interface, NonOracle user exits.
  49. Answer :
    Only one window in a form can display the console, and you cannot change the console assignment at runtime.
  50. Answer :
    One down repeating frame below one across repeating frame.
  51. Answer :
    On-Check_delete_masterOn_clear_detailsOn_populate_details
  52. Answer :
    No
  53. Answer :
    no
  54. Answer :
    Modalless windows
    Modal windows
  55. Answer :
    Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.
  56. Answer :
    Master Deletes Property Resulting Triggers
    ----------------------------------------------------
    Non-Isolated(the default) On-Check-Delete-Master
    On-Clear-Details
    On-Populate-Details
  57. Answer :
    Master Deletes Property Resulting Triggers
    ---------------------------------------------------
    Isolated On-Clear-Details
    On-Populate-Details
  58. Answer :
    Master Deletes Property Resulting Triggers
    ---------------------------------------------------
    Cascading On-Clear-Details
    On-Populate-Details
    Pre-delete
  59. Answer :
    Lov is a property where as list item is an item. A list item can have only one column, lov can have one or more columns.
  60. Answer :
    Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library modules. When you can call library program units from triggers menu items commands and user named routine, you write in the modules to which you have attach the library. When a library attaches another library, program units in the first library can reference program units in the attached library. Library support dynamic loading-that is library program units are loaded into an application only when needed. This can significantly reduce the run-time memory requirements of applications.
  61. Answer :
    Lexical reference is place_holder for text that can be embedded in a sql statements. A lexical reference can be created using & before the column or parameter name.
  62. Answer :
    It represents the coordination causing event that occur on the master block in master-detail relation.
  63. Answer :
    It is a terminal screen with the internal state of the form. It updates the screen display to reflect the information that oracle forms has in its internal representation of the screen.
  64. Answer :
    It is a command line argument that allows you to specify a file that contain a set of arguments for r20run.
  65. Answer :
    It allows you to read and write information to a file in the file system.
  66. Answer :
    Issues dynamic Sql statements at run time, including server side pl/SQl and DDL
  67. Answer :
    In place activationExternal activation
  68. Answer :
    In Pl/Sql, You can reference and set the values of form parameters using bind variables syntax. Ex. PARAMETER name = '' or :block.item = PARAMETER Parameter name
  69. Answer :
    In Oracle forms, Embedded objects become part of the form module, and linked objects are references from a form module to a linked source file.
  70. Answer :
    Get_view_property, Set_view_property
  71. Answer :
    get_lov_property
    set_lov_property
  72. Answer :
    • Get_group_row_count(function)
    • Get_group_selection_count(function)
    • Get_group_selection(function)
    • Reset_group_selection(procedure)
    • Set_group_selection(procedure)
    • Unset_group_selection(procedure)
  73. Answer :
    • GET_GROUP_ROW_COUNT(function)
    • GET_GROUP_SELECTION_COUNT(function)
    • GET_GROUP_SELECTION(function)
    • RESET_GROUP_SELECTION(procedure)
    • SET_GROUP_SELECTION(procedure)
    • UNSET_GROUP_SELECTION(procedure)
  74. Answer :
    • Get_group_char_cell(function)
    • Get_groupcell(function)
    • Get_group_number_cell(function)
  75. Answer :
    • GET_GROUP_CHAR_CELL (function)
    • GET_GROUPCELL(function)
    • GET_GROUP_NUMBET_CELL(function)
  76. Answer :
    Four
  77. Answer :
    Format trigger.
  78. Answer :
    Form module - a collection of objects and code routines Menu modules - a collection of menus and menu item commands that together make up an application menu library module - a collection of user named procedures, functions and packages that can be called from other modules in the application
  79. Answer :
    For a modelless window, it determines whether oracle forms hides the window automatically when the operators navigates to an item in the another window.
  80. Answer :
    Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. c generally occurs only when the operators modifies the first item in the record, and after the operator attempts to navigate out of the item.
  81. Answer :
    Fires during the execute query and count query processing after oracle forms constructs the select statement to be issued, but before the statement is actually issued. The pre-query trigger fires just before oracle forms issues the select statement to the database after the operator as define the example records by entering the query criteria in enter query mode.Pre-query trigger fires before pre-select trigger.
  82. Answer :
    find_timercreate_timerdelete_timer
  83. Answer :
    Find_group(function)
    Find_column(function)
  84. Answer :
    False
  85. Answer :
    False
  86. Answer :
    Because for each query, report has to open a separate cursor and has to rebind, execute and fetch data
  87. Answer :
    At the server.
  88. Answer :
    At the client.
  89. Answer :
    Any event that makes a different record in the master block the current record is a coordination causing event.
  90. Answer :
    An Ole server application creates ole Objects that are embedded or linked in ole Containers ex. Ole servers are ms_word & ms_excel. OLE containers provide a place to store, display and manipulate objects that are created by ole server applications. Ex. oracle forms is an example of an ole Container.
  91. Answer :
    An object group is a container for a group of objects; you define an object group when you want to package related objects, so that you copy or reference them in other modules.
  92. Answer :
    An LOV is a scrollable popup window that provides the operator with either a single or multi column selection list.
  93. Answer :
    After the query is executed but before the report is executed and the records are displayed.
  94. Answer :
    • ADD-GROUP_COLUMN (function)
    • ADD_GROUP_ROW (procedure)
    • DELETE_GROUP_ROW(procedure)
  95. Answer :
    A way in which to pass control (and possibly arguments ) form Oracle report to another Oracle products of 3 GL and then return control ( and ) back to Oracle reports.
  96. Answer :
    A user named editor has the same text editing functionality as the default editor, but, because it is a named object, you can specify editor attributes such as windows display size, position, and title.
  97. Answer :
    A static record group is not associated with a query, rather, you define its structure and row values at design time, and they remain fixed at runtime.
  98. Answer :
    A record group is an internal Oracle Forms that structure that has a column/row framework similar to a database table. However, unlike database tables, record groups are separate objects that belong to the form module which they are defined.
  99. Answer :
    A property clause is a named object that contains a list of properties and their settings. Once you create a property clause you can base other object on it. An object based on a property can inherit the setting of any property in the clause that makes sense for that object.
  100. Answer :
    A physical page is a size of a page. That is output by the printer. The logical page is the size of one page of the actual report as seen in the Previewer.

1. What is use of APPCORE library?
The APPCORE Contains packages & procedures for forms to support menu, toolbar and other standard behaviours.

2. What is use of APPDAYPK library?
The APPDAYPK library contains the packages that control the Oracle Applications Calendar feature. The calendar (or the date picker) is a utility that oracle apps provide to pick the dates for a date type field.

3. What is use of FNDSQF library?
It contains the routines for handling Message Dictionary, felxfields, prpfiles, concurrent processing, mulicurrency, WHO etc. 

4. Which are the Oracle forms triggers which should not be modified?
Following are some of the form triggers that must not be modified.

CLOSE_THIS_WINDOW,

CLOSE_WINDOW,

EXPORT,

FOLDER_ACTION,

KEY-COMMIT,

KEY-EDIT,

KEY-EXIT,

KEY-HELP,

LAST-RECORD,

MENU_TO_APPCORE,

STANDARD_ATTACHMENTS,

WHEN-WINDOW-CLOSED,

WHEN-FORM-NAVIGATE,

ZOOM .

5. Where does the FMB files(Forms source code) reside in Server? or What is the location of .FMB files in a server?
$AU_TOP/forms/US

6. What is template form?
Template Form is a form that is to be used for building a new form and this form references all the standard libraries like(FNDSQF,APPCORE,APPCORE2,APPDAYPK,CUSTOM) which are used to build a form as per the oracle standards. This Template form has been provided by Oracle.

Navigation for this Template form is:

$AU_TOP/FORMS/US/TEMPLATE.fmb

7. What is use of custom library?

Custom.pll is used to implement any new pl/sql code that you would need to write in customizing forms.


8. Name the directories where you have to copy your Fmb and Fmx files?

FMB has to be placed on $AU_TOP/forms/US and FMX has to be placed in the custom top!

9. What are the steps you have to follow to register a Form?

ftp the form (.fmx) to $CUSTOM_TOP/forms/US folder in server.

ftp the form (.fmb) to $AU_TOP/form/US folder (not mandatory but fmb's are kept in this location)

add form to a function
 

Add this function to menu/submenu

Assign responsibility to this menu/submenu 


And add this responsibility to the user.

10. Why are views used in the data blocks of a standard form instead of mapping directly into the base tables?
Because base tables have huge amount of data due to which if we work directly on the base tables, it will hit the performance. Also, views are simplified versions of the base tables which are easy to understand and hence to work upon.


1. What are  OPEN_FORM, CALL_FORM, NEW_FORM? What are the differences between them?
 
CALL_FORM : It calls the other form. but parent remains active, when called form completes the operation , it releases lock and control goes back to the calling form.
When you call a form, Oracle Forms issues a savepoint for the called form. If the CLEAR_FORM function causes a rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this savepoint.

OPEN_FORM : When you call a form, Oracle Forms issues a savepoint for the called form. If the CLEAR_FORM function causes a rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this savepoint.

NEW_FORM : Exits the current form and enters the indicated form. The calling form is terminated as the parent form. If the calling form had been called by a higher form, Oracle Forms keeps the higher call active and treats it as a call to the new form. Oracle Forms releases memory (such as database cursors) that the terminated form was using.
Oracle Forms runs the new form with the same Runform options as the parent form. If the parent form was a called form, Oracle Forms runs the new form with the same options as the parent form.

2. What is a visual attribute in Oracle Forms?
Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application's interface.

3.How many types of Master and Detail relationships are there in Oracle Forms?
The various Master and Detail Relationships in oracle forms are:
a) NonIsolated = The Master cannot be deleted when a child is existing
b) Isolated = The Master can be deleted when the child is existing
c) Cascading = The child gets deleted when the Master is deleted.



4. What are the triggers related to master-Details Forms.
Following are three triggers which are created automatically as soon as we create a mater Details Block on oracle Forms.
ON-CHECK-DELETE-MASTER
ON-CLEAR-DETAILS
ON-POPULATE-DETAILS

5. What are the different canvas types available in Oracle forms?

Below are the 5 canvas types available in Oracle Forms 
(a) Stacked canvas
(b) Content canvas
(c) Horizontal Tool bar
(d) Vertical Toolbar
(e) Tab canvas

6. What are the types of Blocks in Oracle Forms?
Base Table block - based on database table/views
Control Block - non-database items are placed here like Calculation values,buttons,checkbox etc.

7. What are the Various Block Coordination Properties?
The various Block Coordination Properties are
a) Immediate Default Setting: The Detail records are shown when the Master Record are shown.
b) Deffered with Auto Query: Oracle Forms defer fetching the detail records until the operator navigates to the detail block.
c) Deffered with No Auto Query: The operator must navigate to the detail block and explicitly execute a query

8. What are the different windows events activated at runtimes?

WHEN-WINDOW-ACTIVATED
WHEN-WINDOW-CLOSED
WHEN-WINDOW-DEACTIVATED
WHEN-WINDOW-RESIZED
Within these triggers, you can examine the built in system variable system. event_window to determine the name of the window for which the trigger fired.

9. How are Visual Attributes, Property Classes and Object Groups related?
So for Object groups we have Property Classes and for property classes we have visual attributes.

10. What are the trigger associated with image items?
When-image-activated fires when the operators double clicks on an image itemwhen-image-pressed fires when an operator clicks or double clicks on an image item.


1. What is trigger associated with the timer?
When-timer-expired.

2. When a form is invoked with call_form, Does oracle forms issues a save point?
Yes

3. What is new_form built-in?
When one form invokes another form by executing new_form oracle form exits the first form and releases its memory before loading the new form calling new form completely replace the first with the second. If there are changes pending in the first form, the operator will be prompted to save them before the new form is loaded.

4. Can you execute a DDL statements from Oracle Forms?

No. DDL (Data Definition Language) commands like CREATE, DROP and ALTER are not directly supported from Forms because your Oracle Forms are not suppose to manipulate the database structure.
A statement like CREATE TABLE X (A DATE); will result in error:
Encountered the symbol "CREATE" which is a reserved word.
However, you can use the FORMS_DDL built-in to execute DDL statements. Eg:
FORMS_DDL('CREATE TABLE X (A DATE)');

5. Can you execute dynamic SQL from Oracle Forms?
Yes, use the FORMS_DDL built-in or call the DBMS_SQL database package from Forms. Eg:
FORMS_DDL('INSERT INTO X VALUES (' || col_list || ')');
Just note that FORMS_DDL will force an implicit COMMIT and may de-synchronize the Oracle Forms COMMIT mechanism.

6. What is the difference between the following statements?

Form A: Insert into emp(ename) values ('Scott ');
Form B: FORMS_DDL('insert into emp(ename) values('||''Scott')');


User have to commit the form manually for Form A
Once the Form B statement executes, it will be implicitly commited.

7. What are the vbx controls?
Vbx control provide a simple method of building and enhancing user interfaces. The controls can use to obtain user inputs and display program outputs.vbx control where originally develop as extensions for the ms visual basic environments and include such items as sliders, rides and knobs.

8. What is the "LOV of Validation" Property of an item? What is the use of it?
When LOV for Validation is set to True, Oracle Forms compares the current value of the text item to the values in the first column displayed in the LOV. Whenever the validation event occurs. If the value in the text item matches one of the values in the first column of the LOV, validation succeeds, the LOV is not displayed, and processing continues normally. If the value in the text item does not match one of the values in the first column of the LOV, Oracle Forms displays the LOV and uses the text item value as the search criteria to automatically reduce the list.

9. How do you use the same lov for 2 columns?
We can use the same lov for 2 columns by passing the return values in global values and using the global values in the code

10. What are the difference between lov & list item?

Lov is a property where as list item is an item. A list item can have only one column, lov can have one or more columns.


1. What is the difference between static and dynamic lov?
The static lov contains the predetermined values while the dynamic lov contains values that come at run time

2. What are the different types of Record Groups?
Query Record Groups
NonQuery Record Groups
State Record Groups

3.What are the different display styles of list items?
Text_list
Pop_list
Combo box

4. How can you bypass the Oracle login screen?
The first thing that the user sees when using runform is the Oracle logon prompt asking them for their username, password, and database to connect to. You can bypass this screen or customise it by displaying your own logon screen. 
Eg:
-- ON-LOGON Trigger
declare
uname varchar2(10);
pass varchar2(10);
begin
uname := 'username';
pass := 'password';
logon(uname, pass || '@connect_database');
end;
Alternatively, edit the formsweb.cfg file located in ORACLE_HOME/forms/server creating a config like this:
[my_cfg]
userid=username/password@connect_database
form=MY_FORM.fmx
and after that, access the application like this:
http://<>/forms/frmservlet?config=my_cfg

5. What are parameters?
Parameters provide a simple mechanism for defining and setting the valuesof inputs that are required by a form at startup. Form parameters are variables of type char,number,date that you define at design time.

6. What are difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.

7. How Can you Maximize/ Minimize a Window in Forms?
On MS-Windows, Forms run inside a Windows Multiple-Document Interface (MDI) window. You can use SET_WINDOW_PROPERTY on the window called FORMS_MDI_WINDOW to resize this MDI (or any other named) window. 
Examples:
set_window_property(FORMS_MDI_WINDOW, WINDOW_STATE, MINIMIZE);
set_window_property(FORMS_MDI_WINDOW, POSITION, 7, 15);
set_window_property('my_window_name', WINDOW_STATE, MAXIMIZE);

8. What are the different modals of windows?
Modalless windows
Modal windows

9. What are modal windows?
Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.

10. Can an Forms FMX be moved from one operating system to another?
No, FMX files are operating system dependent. On the other hand, FMB's are not. So, you can just copy your FMB files to the new operating system and regenerate them.


11. How can you iterate through items and records in a specified block? 
You can use NEXT_FIELD to iterate (loop) through items in a specific block and NEXT_RECORD to iterate through records in a block. Code example:
OriPos := TO_NUMBER(:System.Trigger_Record);
First_Record;
LOOP
-- do processing
IF (:System.Last_Record = 'TRUE') THEN
Go_Record(OriPos);
EXIT;
ELSE
Next_Record;
END IF;
END LOOP

12. How does one suppress or customize error messages in Forms?
One can either set the message level using the system variable SYSTEM.MESSAGE_LEVEL or trap errors using the ON-ERROR or ON-MESSAGE triggers.
MESSAGE_LEVEL:
Set to 0, 5, 10, 15, 20, 25 to suppress all messages with severity below this level. The default level is 0. Messages with a level higher than 25 cannot be suppressed. See the "Forms Error Messages Manual" for more details about the various MESSAGE_LEVEL's:
0 - Default value. All types of messages from the other levels of severity.
5 - Reaffirms an obvious condition.
10 - Indicates that the operator has made a procedural mistake.
15 - Declares that the operator is attempting to perform a function for which the form is not designed.
20 - Indicates a condition where the operator cannot continue an intended action due to a problem with a trigger or another outstanding condition.
25 - Indicates a condition that could result in the form performing incorrectly.
>25 - Indicates a message severity level that you cannot suppress via theSYSTEM.MESSAGE_LEVEL system variable.
Examples:
:SYSTEM.MESSAGE_LEVEL := '25';
COMMIT;
:SYSTEM.MESSAGE_LEVEL := '0';
/* For suppressing FRM-40100: At first record. */
:SYSTEM.MESSAGE_LEVEL := '5';
FIRST_RECORD;
:SYSTEM.MESSAGE_LEVEL := '0';
/* For suppressing FRM-40350: Query caused no records to be retrieved. */
:SYSTEM.MESSAGE_LEVEL := '5';
EXECUTE_QUERY;
:SYSTEM.MESSAGE_LEVEL := '0';
13. Forms dont allow to use restricted built-ins. What can be done to use these built-ins.
How to get around the "can't use a restricted built-in in built-in XXX" message:
1. Create a TIMER at the point where you want the navigation to occur. Eg.
create_timer('TIMER_X', 5, NO_REPEAT);
2. Code a WHEN-TIMER-EXPIRED trigger to handle the navigation
DECLARE
tm_name VARCHAR2(20);
BEGIN
tm_name := Get_Application_Property(TIMER_NAME);
IF tm_name = 'TIMER_X' THEN
Go_Item('ITEM_X');
END IF;
END;
Dirty but effective (didn't Oracle promise to fix this feature?).
14. Can one change the mouse pointer in Forms?
The SET_APPLICATION_PROPERTY build-in in Oracle Forms allows one to change the mouse pointer. 
Example:
SET_APPLICATION_PROPERTY(CURSOR_STYLE, BUSY);
The following cursor styles are supported:
BUSY - Specifies a busy symbol
CROSSHAIR - Specifies a crosshair symbol
DEFAULT - Specifies an arrow symbol
HELP - Specifies a help symbol/ Displayed as a hand in WebForms
INSERTION - Specifies an insertion symbol
HAND - Hand cursor pointer for Developer 6.0 and above 

15. Why doesn't my messages show on the screen?
Regardless of whether you call the MESSAGE() built-in with ACKNOWLEDGE, NO_ACKNOWLEDGE, or with no mode specification at all, your message may or may not be displayed. This is because messages are displayed asynchronously. To display messages immediately, use the SYNCHRONIZE build-in:
message('...'); synchronize;
This can also be used to execute a query while the user is looking at the results of a previous query.


The following Oracle Forms Interview Question and Answers created based on my person experience, I hope it will use for you while you are facing Oracle Forms interview, These are very frequently asking question and answers (FAQS) in Oracle Forms interview.



oracle form inerview question and answers 

What is a display item?

Display items are similar to text items but store only fetched or assigned values.  Operators cannot navigate to a display item or edit the value it contains.

What is a list item?

It is a list of text elements.

What are the display styles of list items?

Poplist: The poplist style list item appears initially as a single field (similar to a text item field).  When the end user selects the list icon, a list of available choices appears.

Tlist: The Tlist style list item appears as a rectangular box, which displays a fixed number of values.  When the Tlist contains values that cannot be displayed (due to the displayable area of the item), a vertical scroll bar appears, allowing the end user to view and select undisplayed values.

Combo Box: The combo box style list item combines the features found in poplists and text items. It displays fixed values and can accept a user-entered value.

What is a radio Group?

Radio groups display a fixed no of options that are mutually exclusive.
User can select one out of n number of options.

How many maximum number of radio buttons can you assign to a radio group?

Unlimited no of radio buttons can be assigned to a radio group

Can you change the default value of the radio button group at run time?

No.

What triggers are associated with the radio group?

Only when-radio-changed trigger associated with radio group

What is a visual attribute?

Visual Attributes are the font, color and pattern characteristics of objects that operators  see and intract with in our application.


What are the types of visual attributes?

   Common,
   Prompt,
   Title.

How to change Visual Attribute at Runtime

You can programmatically change an object's named visual attribute setting to change the font, color, and pattern of the object at runtime. E.g. using SET_CANVAS_PROPERTY, Set_Item_Property (‘Blockname.Itemname’, VISUAL_ATTRIBUTE, ‘VisualAttributeName’);
Where 'VisualAttributeName' is either the name of a visual attribute you've set up in the form (which has foreground, background, font, etc.), or is the name of a logical visual attribute from the resource file.

What are the types of visual attribute settings?

   Custom Visual attributes
   Default visual attributes
   Named Visual attributes.

What is a master detail relationship?

A  master  detail  relationship  is  an  association between two base table blocks-  a  master  block  and a detail block. The relationship between the blocks reflects a  primary  key  to  foreign key relationship between the tables on which the blocks are based

Master-Detail Relation (Triggers/Procedures/Properties)

On-Check-Delete-Master: - Fires when Form Builder attempts to delete a record in a block that is a master block in a master-detail relation.

On-Clear-Details: - Fires when Form Builder needs to clear records in a block that is a detail block in a master-detail relation because those records no longer correspond to the current record in the master block.

On-Populate-Details: - Fires when Form Builder needs to fetch records into a block that is   
    the detail block in a master-detail relation so that detail records are   
    synchronized with the current record in the master block.

(i)                Isolated: - Masters Can be deleted when Child is existing

Triggers: - On Populate details           Block
                On Clear Details                  Form        
Procedure
                   Check Package Failure
                   Clear all master Detail
                   Query Master Detail     

(ii)             Non- Isolated: - Masters Cannot be deleted when Child is existing.
Triggers: - On Populate details          Block
                On Check Delete master    Block         
                         On Clear Details                Form         
Procedure
                   Check Package Failure
                   Clear all master Detail
                   Query Master Detail               

(iii)           Cascading: - Child Record Automatically Deleted when Masters is deleted.
Triggers: - On Populate details           Block
                Pre Delete                            Block
   On Clear Details                  Form        
Procedure
                   Check Package Failure
                   Clear all master Detail
                   Query Master Detail               

What is canvas?

Canvases guide the layout of the blocks / records / items. A Content Canvas View (or simply Content View) is the base view that occupies the entire content pane of the window
in which it is displayed. You will usually define at least one content canvas view for each
window in your application.

A canvas is an object that can be displayed on the screen. The canvas may contain buttons,
graphics, display items and text items.

The canvas may be smaller or larger than the screen size. One canvas may be stacked on top of another canvas so that the user might see several canvases at the same time.

A large canvas might only be partially visible to the user. This is known as a "view" of the
canvas. If the cursor navigates to an enterable item on a canvas, then the canvas becomes
visible to the user. However, when the cursor leaves the items on the canvas, the canvas
will not automatically be hidden from view unless another canvas covers it.

How many types of canvas are there in a form?

There are 5 types are canvas are there in a form

a) Content Canvas.
b) Stacked Canvas.
a) Horizontal Tool Bar.
b) Vertical Toll Bar.
c) Tab Canvas.

(i)                Content Canvas (Default Canvas) [A content canvas is the required on each window you create]

(ii)             Stack Canvas  [you can display more then one stack canvas in a window at the same time]  

(iii)           Tab Type Window [In Tab canvas that have tab pages and have one or more then tab page] 

(iv)           Toolbar Canvas [A toolbar canvas often is used to create Toolbar Windows. There are two type of Toolbar window.

a.     Horizontal Toolbar Canvas: - Horizontal Toolbar canvases are displayed at the top of the window, just under the Main Menu Bar.
b.     Vertical Toolbar Canvas: - While vertical Toolbar are displayed along the Left Edge of the window.

Can you have a form without a Canvas?

No, Canvas Object Physical represents table columns.

Does a stacked canvas require a content canvas?

Yes, Sometime the number of columns in the table cannot contained on a standared canvas or the system require that information on the form be displayed either on a click of a button or on some condition being set for the system.

Multiple canvases can be placed on the same form. Additional items can be included in the second canvas and code can be written to make the canvas visible/ invisible when a button is pressed.

Since the canvas is placed on the window the size of the canvas is restricted to the size of the window. Similarly if the window is resized, the canvas must be resized. The type of the canvas determined the canvas-resizing behavior. The default value for the canvas type is "content".

This property value ensures that the canvas is automatically resized horizontally and vertically based on the size of the window.

There may be a need to place some items on the content canvas and other items on a new canvas such that the content canvas and the new canvas are stacked one on top of the other.

A canvas that can be stacked on the content canvas is called a "Stacked Canvas". The stacked canvas is displayed in the same window along with the window's content canvas. There can be any number of stacked canvases placed on the content canvas.

If the form includes multiple canvases, a common practice is to make the stacked canvas visible or invisible programmatically.

What is tab canvas?

Just like the paper form is made of multiple pages, the data entry form could also be created
with multiple pages. The type of canvas that can include multiple tab pages is called "Tab canvas".

What are the basic concepts of Oracle Forms?

Forms functionality is driven by user events (such as pressing a key) and navigation events
(Such as the cursor about to enter/leave a field). These events are identified by triggers in
a form.

These triggers fall into several groups:
PRE - Fires prior to an event
POST - Fires after an event
WHEN - Fires when an event occurs
KEY - Fires when the corresponding key is pressed
ON   - Replaces default event processing

These triggers include events such as:
1. PRE and POST triggers for the form, block, row, and item.
2. PRE and POST triggers for row inserts, updates, and deletions.
3. WHEN triggers fire as a direct result of an event such as the user clicking on a
button (WHEN-BUTTON-PRESSED) or the cursor navigating to a new item and readying for user input (WHEN-NEW-ITEM-INSTANCE).
4. Keys the user can press on their keyboard like the Tab button (KEY-NEXT-ITEM) or
F10 (KEY-COMMIT).
5. ON triggers fire when an event occurs. For example, ON-MESSAGE fires when forms is about to issue a message. This gives the developer an opportunity to trap and replace particular messages with custom messages.

By adding PL/SQL code to a trigger you can:
1. Alter the way a trigger would ordinarily work. For instance, by creating a KEY-ENTQRY on a field with: null; you will prevent the user from pressing F8.
2. Supplement the way something works - for instance by creating a KEY-DELREC trigger on a block with code that asks the user if they "really" want to delete that record before
issuing the delete_record;.

Trigger Scope: If you create a KEY-EXEQRY on a field with: null; then you will prevent the user from pressing F8 while the cursor is in that field. If, instead, you attach the same trigger to a block, then you will prevent the user from pressing F8 while the cursor is anywhere in that block. If, instead, you attach the same trigger to the form, then you will prevent the user from pressing F8 anywhere within the form.
You can override high level triggers at a lower level. For example, if you have disabled F7 at the form level, you can add a KEY-ENTQRY to a block with: enter_query; that will allow the user to press F7 to enter a query while the cursor is in that block. This means that F7 will work in that block but nowhere else in the form.

What is the difference between base table block and control block?

Blocks (Base Table vs. Control): A most basic concept in a form is blocks. Blocks are
basically comprised of 2 types:

1. Control block - A block not associated with a table. This block is usually a single row block that has no interaction with the database.
2. Base table block - this is associated with a table. You do not have to code any SQL statements. Forms will automatically:
A. Query rows of data from the table (execute_query)
B. Insert a new row below the current row (create_record)
C. Delete the current row (delete_record)
D. Update rows (by the user typing values on a queried row)
E. Handle row locking
F. Make all these database changes permanent at commit time

Base Table and Control Items: An item in a base table block that relates directly to a base
table column is a base table item. An item that does not relate to a database column is a 
control item. Base table blocks can contain both base table items and control items.

For example, a base table block might contain four base table items that display queried
database values and a fifth item that displays calculated values but does not correspond to any column in the base table. The fifth item would be a control item populated by an assignment statement in the trigger that does the calculation.

Because control blocks are not associated with database tables, none of the items they contain can be base table items. (You can, however, populate control items with database values by writing your own SQL statements in trigger code.)

Control items can be used to do the following:
* Display totals, averages, rankings, and other summary information calculated from values
in base table items and database tables.
* Accept input from operators that is required by the application, but that is not stored
in the database.
* Display "look-up values," that is, database values derived from a table other than the base
table of the block.
You can also reference the values of control items in code, much like local and global variables.
Buttons and chart items are always control items. Because these items do not store values,
they cannot relate to columns in the database.

Item in a block -Items are the interface objects that display information to operators and
allow them to interact with your application. A field in the base table in the database or
another field, other fields may be buttons, check boxes, etc.

1. Button: A rectangle with a text label or an icon graphic inside.

2. Chart item: A bordered rectangle of any size that can display a chart or other display
     generated by Oracle Graphics. Operators cannot navigate to or manipulate chart items.

3 Check box: A text label with a graphic state indicator that displays the current value as
    either checked or unchecked. Selecting a check box toggles it to the opposite state.

4. Display item: A read-only text box whose value must be fetched or assigned   
     programmatically.Operators cannot navigate to a display item or edit the text it contains.

5. Image item: A bordered rectangle of any size that can display images fetched from the
    database or read in from the file system.

6. List item: A list of choices displayed as either a poplist (sometimes called a drop list),
    a t-list (sometimes called a list box), or a combo box.

7. Radio group: A group of radio buttons, one of which is always selected.

8. Text item: A single- or multi-line text box that supports a variety of data types,
    format masks and editing capabilities.

9. OLE container: An area that stores and displays an OLE object that is created from an
    OLE server application.

10. VBX control: A custom control that simplifies the building and enhancing of user   
    interfaces.

Each item in a form (text item, image item, radio group, and so on), belongs to a block. 
Blocks are logical containers that have no physical representation--only the items contained
in a block are visible in the application interface. However, like other objects,
blocks have properties, and can be created, copied, and modified in the Designer.

Blocks provide a mechanism for grouping related items into a functional unit for storing,
displaying, and manipulating records. Just as tables in the database consist of related
columns and rows blocks contain related items that display data records.

There is no practical limit to the number of blocks that can be defined in a form.
A block is a logical grouping only; the items in a block can be placed on different

Canvas-views and can be displayed in different windows.
How to attach same LOV to multiple items

We can use the same LOV for 2 columns by passing the return values in global values and   using the global values in the code.

Static & Dynamic LOV

The static LOV contains the predetermined values while the dynamic LOV contains values that come at run time

Sequence of Firing of Triggers:

Pre-Logon
On-Logon
Post-Logon
Pre-Form
When-Create-record
Pre-Block
Pre-Record
Pre-Text-item

Item Level Trigger Sequence

Pre-text-Item
When-New-Item-Instance
Key-Next-Item
Post-Change
When-Validate-Item
Post-Text_item
When-New-Record-Instance
When-New-Item-Instance

After pressing F10

Key-Commit
Post-Text-Item
Post-Record
Post-Block
Pre-Commit

Form-Exit Triggers

Post-Text-Item
Post-Record
Post-Block
Post-Form
On-Logout
Post-Logout

When a form is run, which are the triggers fire, and in what sequence they fire?

PRE-FORM
WHEN-NEW-FORM-INSTANCE
PRE-BLOCK
WHEN-NEW-BLOCK-INSTANCE
WHEN-NEW-ITEM-INSTANCE
POST-BLOCK
POST-FORM

Property class & visual attribute?

Property Class: A property class is a named object that contains a list of properties and their settings. Once you create a property class you can base other objects on it. An object based on a property class can inherit the setting of any property in the class that makes sense for that object.

Property class inheritance is a powerful feature that allows you to quickly define objects that conform to your own interface and functionality standards. Property classes also allow
you to make global changes to applications quickly. 

Property class assignment cannot be changed programmatically. By simply changing the definition of a property class, you can change the definition of all objects that inherit properties from that class.

For example we can create a property class object, with properties mentioned below and attach it to all the push buttons in the product form.

Name: PClass_Button.
Width: 23
Height: 23
Iconic: Yes
Background Color: Gray
Canvas: Product_can

Visual attribute: Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application's interface.  Visual attributes can
include the following properties:
1. Font properties: Font Name, Font Size, Font Style, Font Width, Font Weight
2. Color and pattern properties: Foreground Color, Background Color, and Fill Pattern,
Char mode Logical Attribute.
What is a Property Class? Different methods of creating property class?

Property Class is defining properties of objects along with their settings.  The property class inheritance allows the user to perform global changes very quickly and efficiently.

Methods:
Object Navigator Method
Properties Window Method

Diff. between VAT and Property Class?

Named visual attributes define only font, color, and pattern attributes; property classes can
contain these and any other properties.
You can change the appearance of objects at runtime by changing the named visual attribute programmatically; property class assignment cannot be changed programmatically.
When an object is inheriting from both a property class and a named visual attribute, the
named visual attribute settings take precedence, and any visual attribute properties in the
class is ignored.

If you have property class attached to an item and you have same trigger written for the item. Which will fire first?

Item level trigger fires, if item level trigger fires, property level trigger won't fire.
Triggers at the lowest level are always given the first preference. The item level trigger
fires first and then the block and then the Form level trigger.

What are record groups? Can record groups created at run-time?

A record group is an internal Oracle Forms data structure that has a column/row framework
similar to a database table.  However, unlike database tables, record groups are separate
objects that belong to the form module in which they are defined. A record group can have
an unlimited number of columns of type CHAR, LONG, NUMBER, or DATE provided that the total number of columns does not exceed 64K. 

Record group column names cannot exceed 30 characters. Programmatically, record groups can be used whenever the functionality offered by a two-dimensional array of multiple data types is desirable.

TYPES OF RECORD GROUP:
1. Query Record Group: A query record group is a record group that has an associated SELECT statement. 
The columns in a query record group derive their default names, data types, and lengths from the database columns referenced in the SELECT statement.  The records in a query record group are the rows retrieved by the query associated with that record group.
2. Non-query Record Group: A non-query record group is a group that does not have an associated query, but whose structure and values can be modified programmatically at runtime.
3. Static Record Group: A static record group is not associated with a query; rather, you define its structure and row values at design time, and they remain fixed at runtime.
WHEN-NEW-FORM trigger written at Form Level, Block Level and Item Level which one will fire first?

The trigger written at the lower level Item Level Fires first.

How do blocks relate to each other?

The relationship between block represent the relationships of an ER schema.
It can also represent relationship between tables in the relational data model based on
foreign keys. It can specify a "join condition" between a "master" and "detail" blocks.

How to use Dynamic SQL in Form?

The reason why you would want do to do this is because, like in database procedures,
you can't use DDL such as DROP TABLE 'table_name' directly in PL/SQL with Forms.
The way to do it is with the built-in EXEC_SQL package.
The same thing can also be accomplished with the FORMS_DDL built-in but that only applies to the current database connection, with the EXEC_SQL package it’s possible to have database connections to multiple databases and also execute non-oracle database procedures.

What the relationships were between canvases, views and windows?

a) Multiple canvases with only one window: The most common problem I've found in this scenario is that you click a button on your main canvas or some other action is performed, the result of which is you expect to see a secondary canvas popping up containing some sort of useful information for the user to see or act upon. The thing is the user only sees it for about 100th of a second, if they're lucky, before it miraculously disappears again.
What's going on here, after all your button or whatever does a SHOW_VIEW ('CANVAS_NAME');
It’s supposed to display the secondary canvas isn't it? Yes, and it does however it will only
work correctly if the secondary canvas is of type STACKED. Changing the property to
this should solve your problem. Another way of doing it without changing the property of
the canvas depends on your canvas having an item on it that you can do a GO_ITEM on.
If it does then do your GO_ITEM just before the SHOW_CANVAS and it should work correctly.
You will find though that using this method means the secondary canvas takes up the whole
of your window obscuring all of your primary canvas and you can't use its view port properties as you can with stacked canvases.

b) Multiple canvases and multiple windows: This is similar to the previous problem in
that you click a button on your main window or some other action is performed and you
expect to see a secondary canvas popping up in a separate window of its own.
This time though the user only sees the window itself with none of the useful information on it.
What's going on here, after all your button or whatever does a SHOW_WINDOW ('WINDOW_NAME');
it's supposed to display the secondary window isn't it? It does, however it will only
work correctly if you also do a SHOW_VIEW('CANVAS_NAME') too. Note that the calling window will still have the focus (i.e. be on top). If you want the called window to be on top you either need to click on it or do a GO_ITEM to an appropriate navigable field on the called window. If there isn't one available a work-around is to create a dummy item and disguise it by making its background colour the same as the called window and ensuring its BORDER BEVEL is set to NONE. One last check if things still aren't going right is to make sure that your secondary canvas window property is pointing to the correct window.

While I was on the subject I thought I'd just bring up a couple of points on the relationships
between canvases, view ports and windows which is crucial to remember if you want to write great forms applications.

From a developer’s standpoint, canvases and forms are interchangeable in as much as canvases are where you put your form items, buttons, and text and so on. Whether or not the user sees all those things is another matter of course and that's where windows and view ports come in.
In general, content canvases don't have view ports associated with them and will display in the whole of the window they are assigned to. Therefore if the window is big enough, the user will see everything that's on them. Stacked canvases on the other hand can have a view port that can be thought of as being a sub-window within the canvas. The user will only see things on the canvas which are inside the viewport. And because you can programmatically control the size and position of the viewport it means that you can choose to display, or not, as the case may be, only the things you want your user to see.

What are the types of triggers and how the sequence of firing in text item?

Triggers can be classified as Key Triggers, Mouse Triggers, Navigational Triggers,

1. Key Triggers: Key Triggers are fired as a result of Key action.
a) Key-next-Item: Tab or Enter.
b) Key-ExeQry: F8
c) Key-NxtBlk: Shift F5
d) Key-Commit: F10

2. Action Trigger: Trigger that gets executed due to user interaction is called Action Triggers. action triggers are associated with specific objects.
a) When-Button-Pressed: Pressing a button.
b) When-CheckBox-Changed: Clicking a check box.
c) When-Image-Pressed: Clicking the image.
d) When-List-Changed: A List item is selected.
e) When-Radio-Changed: Clicking on a Radio Button.
f) When-Window-Activated: When focus is on a specific window.
g) When-Window-Closed- When a window is closed.

3. Mouse Triggers: Mouse Triggers are fired as a result of the mouse navigation.
a) When-Mouse-Click
b) When-Mouse-Double-Click
c) When-Mouse-Down
d) When-Mouse-Enter
e) When-Mouse-Leave
f) When-Mouse-Move
g) When-Mouse-Up

4. Navigational Triggers: These Triggers are fired as a result of Navigation. for example when the cursor navigates out of a text item to another text item the Post-Text-Item trigger for the current text item and Pre-Text-Item trigger for the next text item it moves to will both fire in sequence.

1 Pre-Text-Item and Post-Text-item.
2. When-New-Instance.

We cannot call restricted procedures like go_to ('my_block.first_item') in the Navigational
triggers but can use them in the Key-next-item.
The Difference between Key-next and Post-Text is a very important question. The key-next is fired as a result of the key action while the post text is fired as a result of the mouse movement. Key next will not fire unless there is a key event.

Example (1) The sequence of firing in a text item are as follows:
    a) pre-text-item
    b) when-new-item-instance
    c) key-next-item
    d) when-validate-item
    e) post-text-item

Example (2) if there are two text items in a block, say text1 and text2. If the focus is on text2 and user moves the cursor to text1 by doing shift tab, then which triggers will fire? In what order?
    a) Key-Prev-item
    b) When-validate-item
    c) post-text-item
    d) Pre-text-item
    e) When-new-item-instance

Example (3) As soon as form open in the memory, a series of navigational triggers are executed.
The sequence of trigger that fire when a form is invoked are as follows-
1. Pre-Form
2. Pre-Block
3. Pre-Record
4. Pre-Text-Item
5. When-New-Form-Instance
6. When-New-Block-Instance                              
7. When-New-Record-Instance
8. When-New-Item-Instance

The difference between when_validate_item trigger and key_next_item trigger in Oracle Forms?

WHEN-VALIDATE-ITEM trigger fires to check the value of an item to insure it is valid. The timing of this event may vary but one of the most common is when the user enters a value and causes the cursor to try to exit the item by pressing the TAB key or using the mouse to click elsewhere in the form. This trigger can also fire when then user attempts to leave a record that has been marked for insertion or change.

KEY-NEXT-ITEM fires only when the user presses the TAB key. You should also note that WHEN-VALIDATE-ITEM trigger is a restricted procedure, so you cannot use navigation built-ins (such as GO_BLOCK).  There are no such restrictions with KEY-NEXT-ITEM. So we should not validation code in KEY-NEXT-ITEM.

What is mouse navigate property of button?

When Mouse Navigate is True (the default), Oracle Forms performs standard navigation to
move the focus to the item when the operator activates the item with the mouse. 

When Mouse Navigate is set to False, Oracle Forms does not perform navigation (and the
resulting validation) to move to the item when an operator activates the item with the mouse.

What is MDI form? How u will attach vertical toolbar in the form?

MDI (Multiple Document Interface): Specifies whether the window is a Document window or a Dialog window.  Document and dialog windows are displayed differently on window managers that support a Multiple Document Interface (MDI) system of window management.
Attachment Of vertical toolbar.
On Microsoft Windows, specifies the toolbar canvas that should be displayed as a vertical
toolbar on the MDI application window. The canvas specified must have the Canvas Type property set to Vertical Toolbar.
Applies to form
Set Form Builder
Default Null
Required/Optional optional

Can object group have a block?
Yes, object group can have block as well as program units.

What are user-exits? What is foreign function?

It invokes 3GL programs.

Foreign functions are subprograms written in a 3GL programming language that allow you to customize your Oracle Forms applications to meet the unique requirements of your users.
Foreign functions are often used to enhance performance or provide additional functionality to Oracle Forms.
In Oracle Forms, you can invoke a foreign function from a user exit interface. A user exit
interface allows you to call a foreign function by using the USER_EXIT built-in from a trigger or a user-named subprogram. Invoking a foreign function from the USER_EXIT built-in returns an integer value to Oracle Forms indicating success, failure, or a fatal error. Following the execution of the USER_EXIT built-in, the values of the error variables in Oracle Forms--FORM_FAILURE, FORM_FATAL, and FORM_SUCCESS--are set accordingly.

Foreign functions that you invoke from a user exit interface are contained in an Oracle Forms dynamic link library or linked with Oracle Forms Runform. Creating a user exit interface to a foreign function requires you to link additional files to Oracle Forms dynamic link libraries or Oracle Forms Runform. The additional files provide information about the user exit interfaces and the entry points that allow Oracle Forms to invoke foreign functions from a user exit interface.

Can you pass values to-and-fro from foreign function? How?

Yes. You obtain a return value from a foreign function by assigning the return value to an
Oracle Forms variable or item.  Make sure that the Oracle Forms variable or item is the same data type as the return value from the foreign function.
After assigning an Oracle Forms variable or item value to a PL/SQL variable, pass the PL/SQL variable as a parameter value in the PL/SQL interface of the foreign function.  The PL/SQL variable that is passed as a parameter must be a valid PL/SQL data type; it must also be the appropriate parameter type as defined in the PL/SQL interface. 

What is IAPXTB structure?
The entries of Pro*C and user exits and the form which simulate the Pro*C or user_exit
are stored in IAPXTB table in database.

Can you call WIN-SDK thru user exits?

Yes.

Does user exits supports DLL on MSWINDOWS ?

Yes.

What is path setting for DLL?

Make sure you include the name of the DLL in the FORMS45_USEREXIT variable of the
ORACLE.INI files, or renames the DLL to F45XTB.DLL.  If you rename the DLL to F45XTB.DLL, replace the existing F45XTB.DLL in the \ORAWIN\BIN directory with the new F45XTB.DLL.
How is mapping of name of DLL and function done?

The dll can be created using the Visual C++ / Visual Basic Tools and then the dll is put in
the path that is defined the registery.

What is pre compiler?

It is similar to C pre compiler directives.

What are key-mode and locking mode properties? Level?

1. Key Mode: Specifies how oracle forms uniquely identify rows in the database. This is
property includes for application that will run against NON-ORACLE data sources.
Key setting: unique (default.), updateable, n-updateable.

2. Locking mode: Specifies when Oracle Forms should attempt to obtain database locks on rows that correspond to queried records in the form.
a) Immediate b) delayed

What are save point mode and cursor mode properties? Level?

1. Save point mode- Specifies whether Oracle Forms should issue save points during a session. This property is included primarily for applications that will run against non-ORACLE data sources. For applications that will run against ORACLE, use the default setting.

2. Cursor mode - define cursor state across transaction Open/close.

What is transactional trigger property?

Identifies a block as transactional control block. I.e. non - database block that oracle
forms should manage as transactional block. (NON-ORACLE data source) default - FALSE.

What is OLE automation?

OLE automation allows an OLE server application to expose a set of commands and functions that can be invoked from an OLE container application.  OLE automation provides a way for an OLE container application to use the features of an OLE server application to manipulate an OLE object from the OLE container environment. (FORMS_OLE)

What are OPEN_FORM, CALL_FORM, and NEW_FORM? Diff?

OPEN FORM: When one form invokes another form by executing OPEN_FORM, the first form remains displayed, and operators can navigate between the forms as desired. An opened form can share the same database session as the form from which it was invoked, or it can create a separate session of its own. For most GUI applications, using OPEN_FORM is the preferred way to implement multiple-form functionality.

CALL_FORM: It calls the other form. But parent remains active, when called form completes the operation, it releases lock and control goes back to the calling form. When you call a form, Oracle Forms issues a savepoint for the called form.  If the CLEAR_FORM function causes a rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this savepoint.

When one form invoke another from by executing CALL_FORM, when form A call form B, form B becomes the active form in the session, but from A remain in memory. If the operator exits from form B forms A again become the active form.

NEW_FORM: When one form invokes another form by executing NEW_FORM, Oracle Forms exits the first form and releases its memory before loading the new form. Calling NEW_FORM completely replaces the first form with the second. If there are changes pending in the first form, the operator will be prompted to save them before the new form is loaded.

What is call form stack?

When successive forms are loaded via the CALL_FORM procedure, the resulting module hierarchy is known as the call form stack.

Can u port applications across the platforms? How?

Yes we can port applications across platforms. Consider the form developed in a window
system. The form would be generated in UNIX system by using f60gen my_form.fmb scott/tiger

Can a button have icon and lable at the same time?

NO

What is library where do use?

A library is a collection of subprograms, including user-named procedures, functions, and packages. Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications.
Once you create a library, you can attach it to any other form, menu, or library module. 
Then, you can call library program units from triggers, menu item commands, and user-named routines you write in the modules to which you have attached the library.
The same library can be attached to multiple forms and menus.  Conversely, a single form or menu can have more than one attached library.

What is Current record attribute property?

Specifies the named visual attribute used when an item is part of the current record.
Current Record Attribute is frequently used at the block level to display the current row in a
multi-record If you define an item-level Current Record Attribute, you can display a
pre-determined item in a special color when it is part of the current record, but you cannot
dynamically highlight the current item, as the input focus changes. 

Can u change VAT at run time?

Yes. You can programmatically change an object's named visual attribute setting to change the font, color, and pattern of the object at runtime.

Can u set default font in forms?

Yes. Change windows registry (regedit). Set form45_font to the desired font.

Can u have OLE objects in forms?

Yes.

Can u have VBX and OCX controls in forms?

Yes.

What r the types of windows (Window style)?

Specifies whether the window is a Document window or a Dialog window.

What is OLE Activation style property?

Specifies the event that will activate the OLE containing item.

Can u change the mouse pointer? How?

Yes. Specifies the mouse cursor style.  Use this property to dynamically change the shape
of the cursor.

What are the Various Block Coordination Properties?

The various Block Coordination Properties are
a) Immediate Default Setting- The Detail records are shown when the Master Records are shown.

b) Differed with Auto Query- Oracle Forms defer fetching the detail records until the operator navigates to the detail block.

c) Differed with No Auto Query- The operator must navigate to the detail block and explicitly execute a query
How do you use the same lov for 2 columns?

We can use the same lov for 2 columns by passing the return values in global values and using the global values in the code.

What is the difference between static and dynamic lov?

The static lov contains the predetermined values while the dynamic lov contains values that
come at run time.

Can you issue DDL in forms?

Yes, but you have to use FORMS_DDL.

DDL (Data Definition Language) commands like CREATE, DROP and ALTER are not directly supported from Forms because your Forms are not supposed to manipulate the database structure.
A statement like CREATE TABLE X (A DATE); will result in error:
Encountered the symbol "CREATE" which is a reserved word.

However, you can use the FORMS_DDL built-in to execute DDL statements. Eg:
FORMS_DDL ('CREATE TABLE X (A DATE)'). FORMS_DDL can also be used to create dynamic SQL statements at runtime. The FORMS_SUCCESS built-in can be used to determine if the last executed built-in was successful.

We can use the FORMS_DDL built-in or call the DBMS_SQL database package from Forms for dynamic SQL statement.

Eg: FORMS_DDL ('INSERT INTO X VALUES (' || col_list || ')');

Just note that FORMS_DDL will force an implicit COMMIT and may de-synchronize the Oracle Forms COMMIT mechanism.

What is the difference between Query->Execute and Query->Enter->Query->Execute?

Query->Execute: It will retrieve ALL records from a base table.
In SQL SELECT * from tablename
Query->Enter->Query->Execute: Allows you to select particular tuples of a base table.
SELECT * FROM tablename WHERE condition

Are you familiar with all the varieties of search possible in the Query->Enter->Query->Execute mode?

Relational operators for comparison, wild cards


Are you aware of the different techniques that you can use for the data entry process?

a) You can manually enter a value.
a) You can set up a LOV and select values from the LOV into specified items of a block.

What kind of item is item-id? How is it different from other items in the base-table block?

The item item_id is a text item whose Navigation Enabled property is set to False.
This property is set to False since the value is not entered by the user but is obtained by
executing some code in the form to automatically generate its value.

Is item-id the same as the item labeled Total Value in the item block?

I think they are both text items but the Navigation Enabled property is true.
I believe in this case data entry by the user is also allowed.
If you wanted to make sure there was no data entry from the user or from a program unit then you can use a Display item instead of a text item.

What other kind of special items are supported?

Radio group, list items, etc.

Do you understand the functionality of a LOV?

A list of values is similar to a List Box in Access:  A user selects one of the data records
from the list, and the selected record values are inserted into one or more data fields on the
form.  
For the purchase order, we will create a list box to display the supplier name, city and state.
This will allow the end-user to select the supplier from the list, rather than memorize the
supplier codes.

Do you understand how Oracle supports referential integrity based on foreign keys?

Through the join condition in the master block and detail block specification.
The forms environment will force you to delete all rows in a detail block that make a
reference to a row in a master block.


Do you know how to modify the number of records displayed in a multi-record block?

1) Click on the Block you wish to modify
2) Open the properties window
3) Find the Records Displayed Field and enter in the # of rows.



Do you know how to change font, color, etc., for any item?

1) Click on the item whose *** you wish to change (navigator or layout).
2) Choose Format->Font, Color, etc, or do it through properties.

What are the two modes available in runtime?

1) Normal -- this is where you do new data entry
2) Query -- this is where you work with existing records

What is a trigger? What are the three levels of triggers, and when does each get "fired" or execute?

Item level trigger - fires when a specific item is used
Block level trigger - fires when any item in the block is used
Form - fires when any item in the form is used

List three examples of triggers you could use (1 at each level).Do you understand their functionality?

Update a field - item level
Update a record - block level
Filling in all of the fields in the form - form level

How do you make an item "read only"?

1) Choose the item
2) Open the properties window and find the field Item Type.
3) Double click on the field until Display Item is shown.

What is SECURE property?

Hides characters that the operator types into the text item.  This setting is typically
used for password protection.

Can you store pictures in database? How?

Yes, in long Raw datatype.

Which system variables can be set by users?

SYSTEM.MESSAGE_LEVEL
SYSTEM.DATE_THRESHOLD
SYSTEM.EFFECTIVE_DATE
SYSTEM.SUPPRESS_WORKING


What are object group?

An object group is a container for a group of objects. You define an object group when
you want to package related objects so you can copy or reference them in another module.

What are referenced objects? Can you store objects in library?

Referencing allows you to create objects that inherit their functionality and appearance from other objects.
Referencing an object is similar to copying an object, except that the resulting reference
object maintains a link to its source object. A reference object automatically inherits any
changes that have been made to the source object when you open or regenerate the module that contains the reference object.

What are timers? When when-timer-expired does not fire?

The When-Timer-Expired trigger can not fire during trigger, navigation, or transaction
processing.

What is ALERT?

An ALERT is a modal window that displays a message notifying operator of some application condition. There are three styles do alert: Stop, Caution, and Note.


1.Question : 
------------
What is a reference trigger? Can we modify a reference trigger?

Answers: 
--------
Only the comment property can be changed for a trigger referenced in the oracle forms.


Triggrer is one type of event which is occure during any dml operation.like insrt,update,delete...etc

2.Question : 
------------
What are the triggers we should not modify?

Answers: 
--------
Here are the form triggers that must not be changed 
CLOSE_THIS_WINDOW, CLOSE_WINDOW, EXPORT, FOLDER_ACTION, KEY?COMMIT, KEY?EDIT, KEY?EXIT, KEY?HELP,LASTRECORD, MENU_TO_APPCORE, STANDARD_ATTACHMENTS, WHEN?WINDOW?CLOSED, WHEN?FORM?NAVIGATE, ZOOM .

3.Question : 
------------
Shall we delete exiting triggers?

Answers: 
--------
We must not delete the triggers which comes from the Templates. 

4.Question : 
------------
Name the directory having the FORMS source codes ( FMB files ) ?

Answers: 
--------
They will be found in 
/App_server/oas01/app/.../11.5.9/prodappl/ar/11.5.0/forms/US/XXXXXXXX.fmx


They (.fmb) r in AU Top's forms/<Language> folder

5.Question : 
------------
What is template form?

Answers: 
--------
Template Form is a form that is to be used for building a new form and this form references all the standard libraries like(FNDSQF,APPCORE,APPCORE2,APPDAYPK,CUSTOM) which are used to build a form as per the oracle standards.This Template form has been provided by Oracle only.

Navigation for this Template form is:

APPL_TOP/au_TOP/FORMS/US/TEMPLATE.fmb

6.Question : 
------------
What is use of custom library?

Answers: 
--------
Custom.pll is used to implement any new pl/sql code that you would need to write in customizing forms. 

7.Question : 
------------
Why we have to create packages instead of procedures / functions?

Answers: 
--------
All related procedures and functions required for a particular task are grouped together in a package. Packages have certain advantages - 
1. The first time it is referred in your code, it is loaded in memory. For subsequent reads, it reduces the Disk I/O required. 
2. Packages improve performance and provide easy maintenance


All related procedures and functions required for a particular task are grouped together in a package. Packages have certain advantages - 
1. The first time it is referred in your code, it is loaded in memory. For subsequent reads, it reduces the Disk I/O required. 
2. Packages improve performance and provide easy maintenance

&

procedure or function is a special task which is implemented by any program.when Package is set of classes or interface which is contain more information & which is implemented in a program

8.Question : 
------------
Name the directories where you have to copy your Fmb and Fmx files?

Answers: 
--------
FMB has to be placed on $AU_TOP/forms/US and FMX has to be placed in the custom top! 

9.Question : 
------------
Can we put all the logic in the trigger?

Answers: 
--------
If you are talking about FORMS trigger (event) then NO. You should not keep your logic in the trigger, rather you should right the code in a routine and to be executed based on the trigger event checks.

10.Question :
------------- 
What is custom development ?

Answers:
-------- 
Creating a custom directory in the server like 'XXX_TOP' and creating a directory structure in the Apps server required for implementing completely customized Application like our own forms, reports etc. The above mentioned task may totally called as custom development.

11.Question : 
-------------
What are the steps you have to follow to register a Form?

Answers: 
--------
ftp the form (.fmx) to resp. tops/forms/us folder

ftp the form (.fmb) to $au_top/form/us folder (not mandatory but fmb's are kept here only)

add form to a function

function to menu/submenu

menu/submenu to the responsibility

responsibility to the user.

12.Question : 
-------------
What are the steps you have to follow to register a custom application?

Answers: 
--------
1>Register custome application in AOl 
2>create a physical director structure under APPL_TOP 
3>modify the enviroment file to include custom schema path 
4>in the backend register the custom schema as user 
5>register the user with aoL 
6>add the custom schema to standard data group 
7>register all the custom table with the application 
8>create synonyms in apps schema for custom objects

13.Question :
------------- 
How do you find out the FMB file name?

Answers:
-------- 
Go to the Help menu on the applications window and select About Oracle Applicaitons. 

Under the title Current Form you will get the executable file name (.fmx). 

Form path : /............./forms/US/XXXXXX.fmx 

The fmb name is XXXXXX.fmb

14.Question : 
-------------
What is Form sub function?

Answers:
-------- 
A subfunction is a securable subset of form functionality.A function executed from with in a form 

15.Question :
------------- 
How the form sub function is implemented?

Answers: 
--------
Mostly through buttons or graphical elements of the form

16.Question : 
-------------
What is folder form?

Answers: 
--------
Folder form is adjustable form layout where you can change the postion,promt and number of feilds displayed and the default query with which the form has to be opened

17.Question :
------------- 
Why we have to maintain the file names in Capital Letter?( Library/FMB)

Answers: 
--------
It is not mandatory to maintain the file name in Capital letter. Oracle Apps forms/reports are by default in Capital letter. If you use the Unix version of Ora Apps then it is better to maintain your customized file name in Capital. Since Unix is case - sensitive, during registration of customized forms/reports in Ora Apps 11i there will be problem.

18.Question : 
-------------
What is customization?

Answers: 
--------
Customisation is changing standard oracle applications functionality to suit business requirements of implementing company

19.Question : 
-------------
What is ZOOM?How it works

Answers: 
--------
Zoom allows the addition of user-invoked logic on a per-block basis. For example, you may want to allow access to the Vendors form from within the Enter Purchase Order form while the user is in the PO Header block of that form. You can enable Zoom for just that block, and when the user invokes it, you can open the Vendors form. Example code here:--function zoom_available return boolean is form_name varchar2(30) := name_in('system.current_form'); block_name varchar2(30) := name_in('system.cursor_block'); begin if (form_name = 'DEMXXEOR' and block_name = 'ORDERS') then return TRUE; else return FALSE; end if; end zoom_available;


20.Question : 
-------------
In one of the Standard Oracle Form(Quoting Form), the Export (File -> Export) functionality is disabled. How can I enable this Export Functionality?

Answers: 
--------
Export function is disable when you intial open to the responisibility .that automatically enable when you enter into specific form and you need to export that data.Example :-Login as a Application Developer navigate to Application-->Registerand preess f11 and press ctrl+f11 then you wil get all applicatins now if you want to export all data go to the file and see The function is eabled


21.Question : 
-------------
Why are views used in the data blocks of a standard form instead of mapping directly into the base tables?

Answers: 
--------
This is because base tables have huge amount of data and because of which if we work directly on the base tables, it will hit the performance. Also, views are simplified versions of the base tables which are easy to understand and hence to work upon.


How to modify screen without modifying the underlying executable ?

You can modify the Screen using one of the following method:
              1. CUSTOM.pll
              2. Forms Personalizations

How does forms personalization work?

Oracle forms has triggers that we trap to write our business logic. Oracle has a standard practice of calling a generic piece of code from each trigger(at form level). In this generic piece of code Oracle checks in personalization tables to see if anything extra needs to be done for the events being executed. For details of example,

How to create new form and explain the total procedure? Is there any specific modification required in any trigger or package?


  1. Download template.fmb form from $AU_TOP/resource folder
  2. Open template.fmb with form builder
  3. Define the window called blockname and create new window attach the property class as window
  4. Delete the existing canvas called ‘BlockName’ . Create new canvas attach the property class as canvas.
  5. Delete the existing Datablock called ‘BlockName’  and Create new datablock either through wizard or manually attach the property class as BLOCK.
  6. Goto canvas select the TextItem properties attach the property class.Text_Item Subclass information Text_Item And assign the same property for all items.
  7. Go to Object Navigaton Select Form Module properties Change the property called First Navigation Data block User Defined Data Block
  8. Go to the Form Level  trigger as ‘Pre Form’ replace the window name instead of block name.
  9. Goto when-new-form-instance trigger specify the form ‘Module Name’
  10. Goto program units ‘APP_Custom’ (Package body) replace the ‘WindowName’
  11. Compile the Form program/compile all rectify the error’s if there are .fmb will be available.
  12. Generate the fmx by using form60gen command.
  13. Move the .fmb into   au_top/11.5.0/forms/us/.fmb
  14. Move the .fmx into the custom_top
  15. Goto application developer and create form.
  16. Create menu attach form to the function.
  17. Create menu attach function menu
  18. Attach menu to the responsibility

How to Compile the Form in 11i?

f60gen module=XX<form_name>.fmb userid=apps/$<apps_pswd> module_type=form batch=no compile_all=special

What are the Menu types in forms?

Separator Menu Item :


A separator menu item is displayed as a horizontal line (or other platform-specific visual element), and is useful for visually grouping related items on the same menu.  For example, you could use a separator to isolate the radio items of one radio group from other menu items.  You must set a separator item's Command Type property to Null.  End users cannot select a separator menu item.
Magic Menu Item :
Magic items provide a way to quickly create menu items for standard functions available in most GUI applications.  Form Builder provides the following magic item types: About, Copy, Clear, Cut, Paste, Help, Quit, Undo, Window.
Plain Menu Item : Default menu item.
Radio Menu Item
Check Menu Item

What is the difference between form personlization <> custom.pll?


Multiple developers can do the customization at the same time <> Only one developer can work on customization
Migration of form personlization is complex <> Only custom.pll file migration will work
Supplier site is used for taxation

What are the canvas type?
  • Content
  • Stacked
  •  Tab
  • Horizontal Toolbar
  •  Vertical Toolbar

What is trigger associated with the timer? 
When-timer-expired.
What are the trigger associated with image items? 
When-image-activated fires when the operators double clicks on an image itemwhen-image-pressed fires when an operator clicks or double clicks on an image item
What are the different windows events activated at runtimes? 
When_window_activated
When_window_closed
When_window_deactivated
When_window_resized
Within this triggers, you can examine the built in system variable system. event_window to determine the name of the window for which the trigger fired.
When do you use data parameter type? 
When the value of a data parameter being passed to a called product is always the name of the record group defined in the current form. Data parameters are used to pass data to products invoked with the run_product built-in subprogram.
What is difference between open_form and call_form? 
when one form invokes another form by executing open_form the first form remains displayed, and operators can navigate between the forms as desired. when one form invokes another form by executing call_form, the called form is modal with respect to the calling form. That is, any windows that belong to the calling form are disabled, and operators cannot navigate to them until they first exit the called form.
What is new_form built-in? 
When one form invokes another form by executing new_form oracle form exits the first form and releases its memory before loading the new form calling new form completely replace the first with the second. If there are changes pending in the first form, the operator will be prompted to save them before the new form is loaded.
What is the "LOV of Validation" Property of an item? What is the use of it? 
When LOV for Validation is set to True, Oracle Forms compares the current value of the text item to the values in the first column displayed in the LOV. Whenever the validation event occurs. If the value in the text item matches one of the values in the first column of the LOV, validation succeeds, the LOV is not displayed, and processing continues normally. If the value in the text item does not match one of the values in the first column of the LOV, Oracle Forms displays the LOV and uses the text item value as the search criteria to automatically reduce the list.
What is the diff. when Flex mode is mode on and when it is off? 
When flex mode is on, reports automatically resizes the parent when the child is resized.
What is the diff. when confine mode is on and when it is off? 
When confine mode is on, an object cannot be moved outside its parent in the layout.
What are visual attributes? 
Visual attributes are the font, color, pattern proprieties that you set for form and menu objects that appear in your application interface.
Which of the two views should objects according to possession? 
view by structure.
What are the two types of views available in the object navigatorView by structure and view by type .
What are the vbx controls? 
Vbx control provide a simple method of building and enhancing user interfaces. The controls can use to obtain user inputs and display program outputs.vbx control where originally develop as extensions for the ms visual basic environments and include such items as sliders, rides and knobs.
What is the use of transactional triggers? 
Using transactional triggers we can control or modify the default functionality of the oracle forms.
How do you create a new session while open a new form? 
Using open_form built-in setting the session option Ex. Open_form('Stocks ',active, session). when invoke the multiple forms with open form and call_form in the same application, state whether the following are true/False
What are the ways to monitor the performance of the report? 
Use reports profile executable statement. Use SQL trace facility.
If two groups are not linked in the data model editor, What is the hierarchy between them? 
Two group that is above are the left most rank higher than the group that is to right or below it.
An open form can not be execute the call_form procedure if you chain of called forms has been initiated by another open form?
True
Explain about horizontal, Vertical tool bar canvas views? 
Tool bar canvas views are used to create tool bars for individual windows. Horizontal tool bars are display at the top of a window, just under its menu bar. Vertical Tool bars are displayed along the left side of a window
What is the purpose of the product order option in the column property sheet? 
To specify the order of individual group evaluation in a cross products.
What is the use of image_zoom built-in? 
To manipulate images in image items.
How do you reference a parameter indirectly? 
To indirectly reference a parameter use the NAME IN, COPY 'built-ins to indirectly set and reference the parameters value' Example name_in ('capital parameter my param'), Copy ('SURESH','Parameter my_param')
What is a timer? 
Timer is an "internal time clock" that you can programmatically create to perform an action each time the times.
What are the two phases of block coordination? 
There are two phases of block coordination: the clear phase and the population phase. During, the clear phase, Oracle Forms navigates internally to the detail block and flushes the obsolete detail records. During the population phase, Oracle Forms issues a SELECT statement to repopulate the detail block with detail records associated with the new master record. These operations are accomplished through the execution of triggers.
What are Most Common types of Complex master-detail relationships? 
There are three most common types of complex master-detail relationships:
master with dependent details
master with independent details
detail with two masters
What is a text list? 
The text list style list item appears as a rectangular box which displays the fixed number of values. When the text list contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to view and select undisplayed values.
What is term? 
The term is terminal definition file that describes the terminal form which you are using r20run.
What is use of term? 
The term file which key is correspond to which oracle report functions.
What is pop list? 
The pop list style list item appears initially as a single field (similar to a text item field). When the operator selects the list icon, a list of available choices appears.
What is the maximum no of chars the parameter can store? 
The maximum no of chars the parameter can store is only valid for char parameters, which can be upto 64K. No parameters default to 23Bytes and Date parameter default to 7Bytes.
What are the default extensions of the files created by library module? 
The default file extensions indicate the library module type and storage format .pll - pl/sql library module binary
What are the Coordination Properties in a Master-Detail relationship? 
The coordination properties are
Deferred
Auto-Query
These Properties determine when the population phase of block
coordination should occur.
How do you display console on a window ? 
The console includes the status line and message line, and is displayed at the bottom of the window to which it is assigned.To specify that the console should be displayed, set the console window form property to the name of any window in the form. To include the console, set console window to Null.
What are the different Parameter types? 
Text ParametersData Parameters
State any three mouse events system variables? 
System.mouse_button_pressedSystem.mouse_button_shift
What are the types of calculated columns available? 
Summary, Formula, Placeholder column.
Explain about stacked canvas views? 
Stacked canvas view is displayed in a window on top of, or "stacked" on the content canvas view assigned to that same window. Stacked canvas views obscure some part of the underlying content canvas view, and or often shown and hidden programmatically.
What is the difference between SHOW_EDITOR and EDIT_TEXTITEM? 
Show editor is the generic built-in which accepts any editor name and takes some input string and returns modified output string. Whereas the edit_textitem built-in needs the input focus to be in the text item before the built-in is executed.
What are the built-ins that are used to Attach an LOV programmatically to an item? 
set_item_property
get_item_property
(by setting the LOV_NAME property)
What are the different file extensions that are created by oracle reports? 
Rep file and Rdf file.
What is strip sources generate options? 
Removes the source code from the library file and generates a library files that contains only pcode. The resulting file can be used for final deployment, but can not be subsequently edited in the designer.ex. f45gen module=old_lib.pll userid=scott/tiger strip_source YES output_file
What is the Maximum allowed length of Record group Column?
Record group column names cannot exceed 30 characters.
Which parameter can be used to set read level consistency across multiple queries? 
Read only
What are the different types of Record Groups? 
Query Record Groups
NonQuery Record Groups
State Record Groups
From which designation is it preferred to send the output to the printed? 
Previewer
What are difference between post database commit and post-form commit? 
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.
What are the different display styles of list items? 
Pop_listText_listCombo box
Which of the above methods is the faster method? 
performing the calculation in the query is faster.
With which function of summary item is the compute at options required? 
percentage of total functions.
What are parameters? 
Parameters provide a simple mechanism for defining and setting the valuesof inputs that are required by a form at startup. Form parameters are variables of type char,number,date that you define at design time.
What are the three types of user exits available ? 
Oracle Precompiler exits, Oracle call interface, NonOracle user exits.
How many windows in a form can have console? 
Only one window in a form can display the console, and you cannot change the console assignment at runtime.
What are the two repeating frame always associated with matrix object? 
One down repeating frame below one across repeating frame.
What are the master-detail triggers?
On-Check_delete_masterOn_clear_detailsOn_populate_details
Can you pass data parameters to forms? 
No
Is it possible to link two groups inside a cross products after the cross products group has been created? 
no
What are the different modals of windows? 
Modalless windows
Modal windows
What are modal windows? 
Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.
What are the different default triggers created when Master Deletes Property is set to Non-isolated? 
Master Deletes Property Resulting Triggers
----------------------------------------------------
Non-Isolated(the default) On-Check-Delete-Master
On-Clear-Details
On-Populate-Details
What are the different default triggers created when Master Deletes Property is set to isolated? 
Master Deletes Property Resulting Triggers
---------------------------------------------------
Isolated On-Clear-Details
On-Populate-Details
What are the different default triggers created when Master Deletes Property is set to Cascade? 
Master Deletes Property Resulting Triggers
---------------------------------------------------
Cascading On-Clear-Details
On-Populate-Details
Pre-delete
What are the difference between lov & list item? 
Lov is a property where as list item is an item. A list item can have only one column, lov can have one or more columns.
What is the advantage of the library?
Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library modules. When you can call library program units from triggers menu items commands and user named routine, you write in the modules to which you have attach the library. When a library attaches another library, program units in the first library can reference program units in the attached library. Library support dynamic loading-that is library program units are loaded into an application only when needed. This can significantly reduce the run-time memory requirements of applications.
What is lexical reference? How can it be created? 
Lexical reference is place_holder for text that can be embedded in a sql statements. A lexical reference can be created using & before the column or parameter name.
What is system.coordination_operation? 
It represents the coordination causing event that occur on the master block in master-detail relation.
What is synchronize? 
It is a terminal screen with the internal state of the form. It updates the screen display to reflect the information that oracle forms has in its internal representation of the screen.
What use of command line parameter cmd file? 
It is a command line argument that allows you to specify a file that contain a set of arguments for r20run.
What is a Text_io Package? 
It allows you to read and write information to a file in the file system.
What is forms_DDL? 
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL
What are the different styles of activation of ole Objects? 
In place activationExternal activation
How do you reference a Parameter? 
In Pl/Sql, You can reference and set the values of form parameters using bind variables syntax. Ex. PARAMETER name = '' or :block.item = PARAMETER Parameter name
What is the difference between object embedding & linking in Oracle forms? 
In Oracle forms, Embedded objects become part of the form module, and linked objects are references from a form module to a linked source file.
Name of the functions used to get/set canvas properties? 
Get_view_property, Set_view_property
What are the built-ins that are used for setting the LOV properties at runtime? 
get_lov_property
set_lov_property
What are the built-ins used for processing rows? 
Get_group_row_count(function)
Get_group_selection_count(function)
Get_group_selection(function)
Reset_group_selection(procedure)
Set_group_selection(procedure)
Unset_group_selection(procedure)
What are built-ins used for Processing rows? 
GET_GROUP_ROW_COUNT(function)
GET_GROUP_SELECTION_COUNT(function)
GET_GROUP_SELECTION(function)
RESET_GROUP_SELECTION(procedure)
SET_GROUP_SELECTION(procedure)
UNSET_GROUP_SELECTION(procedure)
What are the built-in used for getting cell values? 
Get_group_char_cell(function)
Get_groupcell(function)
Get_group_number_cell(function)
What are the built-ins used for Getting cell values? 
GET_GROUP_CHAR_CELL (function)
GET_GROUPCELL(function)
GET_GROUP_NUMBET_CELL(function)
Atleast how many set of data must a data model have before a data model can be base on it? 
Four
To execute row from being displayed that still use column in the row which property can be used? 
Format trigger.
What are different types of modules available in oracle form? 
Form module - a collection of objects and code routines Menu modules - a collection of menus and menu item commands that together make up an application menu library module - a collection of user named procedures, functions and packages that can be called from other modules in the application
What is the remove on exit property? 
For a modelless window, it determines whether oracle forms hides the window automatically when the operators navigates to an item in the another window.
What is WHEN-Database-record trigger? 
Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. c generally occurs only when the operators modifies the first item in the record, and after the operator attempts to navigate out of the item.
What is a difference between pre-select and pre-query? 
Fires during the execute query and count query processing after oracle forms constructs the select statement to be issued, but before the statement is actually issued. The pre-query trigger fires just before oracle forms issues the select statement to the database after the operator as define the example records by entering the query criteria in enter query mode.Pre-query trigger fires before pre-select trigger.
What are built-ins associated with timers? 
find_timercreate_timerdelete_timer
What are the built-ins used for finding object ID functions? 
Find_group(function)
Find_column(function)
What are the built-ins used for finding Object ID function? 
FIND_GROUP(function)
FIND_COLUMN(function)
Any attempt to navigate programmatically to disabled form in a call_form stack is allowed? 
False
Use the Add_group_row procedure to add a row to a static record group 1. true or false? 
False
Give the sequence of execution of the various report triggers? 
Before form , After form , Before report, Between page, After report.
What are the common Import/ Export problems? (for DBA )
ORA-00001: Unique constraint (...) violated - You are importing duplicate rows. Use IGNORE=NO to skip tables that already exist (imp will give an error if the object is re-created).
ORA-01555: Snapshot too old - Ask your users to STOP working while you are exporting or use parameter CONSISTENT=NO
ORA-01562: Failed to extend rollback segment - Create bigger rollback segments or set parameter COMMIT=Y while importing
IMP-00015: Statement failed ... object already exists... - Use the IGNORE=Y import parameter to ignore these errors, but be careful as you might end up with duplicate rows.
Why is it preferable to create a fewer no. of queries in the data model? 
Because for each query, report has to open a separate cursor and has to rebind, execute and fetch data
Where is the external query executed at the client or the server?
At the server.
Where is a procedure return in an external pl/sql library executed at the client or at the server? 
At the client.
What is coordination Event? 
Any event that makes a different record in the master block the current record is a coordination causing event.
What is the difference between OLE Server & Ole Container? 
An Ole server application creates ole Objects that are embedded or linked in ole Containers ex. Ole servers are ms_word & ms_excel. OLE containers provide a place to store, display and manipulate objects that are created by ole server applications. Ex. oracle forms is an example of an ole Container.
What is an object group? 
An object group is a container for a group of objects; you define an object group when you want to package related objects, so that you copy or reference them in other modules.
What is an LOV? 
An LOV is a scrollable popup window that provides the operator with either a single or multi column selection list.
At what point of report execution is the before Report trigger fired? 
After the query is executed but before the report is executed and the records are displayed.
What are the built -ins used for Modifying a groups structure? 
ADD-GROUP_COLUMN (function)
ADD_GROUP_ROW (procedure)
DELETE_GROUP_ROW(procedure)
What is an user exit used for? 
A way in which to pass control (and possibly arguments ) form Oracle report to another Oracle products of 3 GL and then return control ( and ) back to Oracle reports.
What is the User-Named Editor? 
A user named editor has the same text editing functionality as the default editor, but, because it is a named object, you can specify editor attributes such as windows display size, position, and title.
What is a Static Record Group? 
A static record group is not associated with a query, rather, you define its structure and row values at design time, and they remain fixed at runtime.
What is a record group? 
A record group is an internal Oracle Forms that structure that has a column/row framework similar to a database table. However, unlike database tables, record groups are separate objects that belong to the form module which they are defined.
What is a property clause? 
A property clause is a named object that contains a list of properties and their settings. Once you create a property clause you can base other object on it. An object based on a property can inherit the setting of any property in the clause that makes sense for that object.
What is a physical page ? & What is a logical page ? 
A physical page is a size of a page. That is output by the printer. The logical page is the size of one page of the actual report as seen in the Previewer.
How can a group in a cross products be visually distinguished from a group that does not form a cross product? 
A group that forms part of a cross product will have a thicker border.
What is the frame & repeating frame? 
A frame is a holder for a group of fields. A repeating frame is used to display a set of records when the no. of records that are to displayed is not known before.
What is a combo box? 
A combo box style list item combines the features found in list and text item. Unlike the pop list or the text list style list items, the combo box style list item will both display fixed values and accept one operator entered value.
What are three panes that appear in the run time pl/sql interpreter?
1. Source pane.
2. interpreter pane.
3. Navigator pane.
What are the two panes that Appear in the design time pl/sql interpreter? 
1. Source pane.
2. Interpreter pane
What are the two ways by which data can be generated for a parameters list of values? 
1. Using static values.
2. Writing select statement.
What are the various methods of performing a calculation in a report ? 
1. Perform the calculation in the SQL statements itself.
2. Use a calculated / summary column in the data model.
What are the default extensions of the files created by menu module? 
.mmb,
.mmx
What are the default extensions of the files created by forms modules? 
.fmb - form module binary
.fmx - form module executable
To display the page no. for each page on a report what would be the source & logical page no. or & of physical page no.? 
& physical page no.


What is the difference between ON-VALIDATE-FIELD trigger and a POST-CHANGE trigger ? 
When you changes the Existing value to null, the On-validate field trigger will fire post change trigger will not fire. At the time of execute-query post-change trigger will fire, on-validate field trigger will not fire.
When is PRE-QUERY trigger executed ? 
When Execute-query or count-query Package procedures are invoked.
How do you trap the error in forms 3.0 ?
using On-Message or On-Error triggers.
How many pages you can in a single form ? 
Unlimited
While specifying master/detail relationship between two blocks specifying the join condition is a must ?
True or False. ? 

True
EXIT_FORM is a restricted package procedure ?
a. True b. False 

True
What is the usage of an ON-INSERT,ON-DELETE and ON-UPDATE TRIGGERS ? 
These triggers are executes when inserting, deleting and updating operations are performed and can be used to change the default function of insert, delete or update respectively. For Eg, instead of inserting a row in a table an existing row can be updated in the same table.
What are the types of Pop-up window ? 
the pop-up field editor
pop-up list of values
pop-up pages.
Alert :
What is an SQL *FORMS ? 
SQL *forms is 4GL tool for developing and executing; Oracle based interactive application.
How do you control the constraints in forms ? 
Select the use constraint property is ON Block definition screen.
BLOCK
What is the difference between restricted and unrestricted package procedure ? 
Restricted package procedure that affects the basic functions of SQL * Forms. It cannot used in all triggers except key triggers. Unrestricted package procedure that does not interfere with the basic functions of SQL * Forms it can be used in any triggers.
A query fetched 10 records How many times does a PRE-QUERY Trigger and POST-QUERY Trigger will get executed ? 
PRE-QUERY fires once.
POST-QUERY fires 10 times.
Give the sequence in which triggers fired during insert operations, when the following 3 triggers are defined at the same block level ? 
a. ON-INSERT b. POST-INSERT c. PRE-INSERT
State the order in which these triggers are executed ? 
POST-FIELD,ON-VALIDATE-FIELD,POST-CHANGE and KEY-NEXTFLD. KEY-NEXTFLD,POST-CHANGE, ON-VALIDATE-FIELD, POST-FIELD. g.
What the PAUSE package procedure does ? 
Pause suspends processing until the operator presses a function key
What do you mean by a page ? 
Pages are collection of display information, such as constant text and graphics
What are the type of User Exits ? 
ORACLE Precompliers user exits
OCI (ORACLE Call Interface)
Non-ORACEL user exits.
Page :
What is the difference between an ON-VALIDATE-FIELD trigger and a trigger ? 
On-validate-field trigger fires, when the field Validation status New or changed. Post-field-trigger whenever the control leaving form the field, it will fire.
Can we use a restricted package procedure in ON-VALIDATE-FIELD Trigger ? 
No
Is a Key startup trigger fires as result of a operator pressing a key explicitly ? 
No
Can we use GO-BLOCK package in a pre-field trigger ? 
No
Can we create two blocks with the same name in form 3.0 ? 
No
What does an on-clear-block Trigger fire? 
It fires just before SQL * forms the current block.
Name the two files that are created when you generate the form give the filex extension ? 
INP (Source File)
FRM (Executable File)
What package procedure used for invoke sql *plus from sql *forms ? 
Host (E.g. Host (sqlplus))
What are the different types of key triggers ? 
Function Key
Key-function
Key-others
Key-startup
What is the difference between a Function Key Trigger and Key Function Trigger ? 
Function key triggers are associated with individual SQL*FORMS function keys You can attach Key function triggers to 10 keys or key sequences that normally do not perform any SQL * FORMS operations. These keys referred as key F0 through key F9.
Committed block sometimes refer to a BASE TABLE ? 
False
Error_Code is a package proecdure ? 
a. True b. false

False


Form Interview Questions-1

What are different types of modules available in oracle form?
Form module – a collection of objects and code routines.
Menu module – a collection of menus and menu item commands that together make up an application menu.
Library module – a collection of user named procedures, functions and packages that can be called from other modules in the application.

What are the default extensions of the files created by forms modules?
.fmb – form module binary
.fmx – form module executable

What are the default extensions of the files created by menu module?
.mmb, .mmx

What is data block & control block?
Data Block:-It is a Logical Collection of Items.
Control Block:-It is a data block which is totally independent of Database Table or View.
Note: – A data block can have control block items but not vice versa.

What is property class & visual attributes?
Property Class:
A property class is a named object that contains a list of properties and their settings. Once you create a property class you can base other objects on it. An object based on a property class can inherit the setting of any property in the class that makes sense for that object. Property class inheritance is an instance of subclassing. Conceptually, you can consider a property class as a universal subclassing parent.
Visual Attributes:
Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application’s interface. Visual attributes can include the following properties: Font properties: Font Name, Font Size, Font Style, Font Width, Font Weight Color and pattern properties: Foreground Color, Background Color, Fill Pattern. Every interface object has a Visual Attribute Group property that determines how the object’s individual visual attribute settings (Font Size, Foreground Color, etc.) are derived. The Visual Attribute Group property can be set to Default, NULL, or the name of a named visual attribute defined in the same module.

What is the difference between property class and visual attribute?
We can change Visual Attribute properties dynamically at runtime, but we cannot change Property class properties. When you inherit the both Visual Attribute properties and Property class properties to an item Visual Attribute properties overrides the Property class properties.

What is object group?
An object group is a container for a group of objects. You define an object group when you want to package related objects so you can copy or subclass them in another module. Object groups provide a way to bundle objects into higher-level building blocks that can be used in other parts of an application and in subsequent development projects.

What is Record Group?
It is an internal memory data structure and a separate object in the form module. It’s main usage is to provide data to the LOV and dynamically to the list item and to perform client level validations.

What are the types of Record-Groups?
Static Record Group:- A static record group is not associated with a query; instead, you define its structure and row values at design time, and they remain fixed at runtime. Static record groups can be created and modified only at design time.
Query Based Record Group: – A query record group is a record group that has an associated SELECT statement. The columns in a query record group derive their default names, data types, and lengths from the database columns referenced in the SELECT statement. The records in a query record group are the rows retrieved by the query associated with that record group.
Non Query Record Group:- A non-query record group is a group that does not have an associated query, but whose structure and values can be modified programmatically at runtime. Non-query record groups can be created and modified only at runtime.

How to change Record Group dynamically?
By Using Non-Query Record Group.

What is Library?
A library is a collection of subprograms, including user-named procedures, functions, and packages. We can attach a library to any other form, menu or library module. It provides an easy method of reusing objects and enforcing standards across the entire development organization.

What are the types of canvases available in forms & what is the default canvas?
Content:-it is the base view of window which occupies the entire surface of window. It can have any no of canvases but at a time only one is visible.
Stacked:-It is always displayed above the content canvas because the content Canvas is the base view. It can have any no of stacked canvases and more than one stacked canvas can be displayed at a time.
Tool bar:- A toolbar canvas often is used to create toolbars for individual windows. There are two types of tool bars Horizontal and Vertical Tool bar Canvas. Horizontal tool bar canvases are displayed at the top of window and only one horizontal tool bar can be attached to a form module. Vertical tool bar is used to display top to bottom on the left side of the window.
Tab:-It is a collection of one or more tab pages. It is mainly used to display a large amount of related information a single dynamic form builder canvas object.
Content Canvas is the default canvas.

What are Alerts?
An alert is a modal window that displays a message notifying the operator of some application condition. There are three styles of alerts: Stop, Caution, and Note.
To display an alert, your application must execute the SHOW_ALERT built-in subprogram from a trigger or user-named subprogram. SHOW_ALERT is a function that returns a numeric constant.
Show_Alert(alert_name) Return NUMBER;

What are LOVs?
An LOV is a scrollable popup window that provides the end user with either a single or multi-column selection list. LOV values are derived from record groups. The LOVs in the Form Builder interface have the same auto-reduction and searching functionality as the LOVs you create for your own applications.
There are two built-in subprograms that can be used to display an LOV:
1) LIST_VALUES
2) SHOW_LOV

List the system variables related in Block and Field?
1. System.block_status
2. System.current_block
3. System.current_field
4. System.current_value
5. System.cursor_block
6. System.cursor_field
7. System.field_status

What is a master detail relationship?
A master detail relationship is an association between two base table blocks- a master block and a detail block. The relationship between the blocks reflects a primary key to foreign key relationship between the tables on which the blocks are based.

What are the Various Master and Detail Relationships?
The various Master and Detail Relationship are:
a) NonIsolated :: The Master cannot be deleted when a child is existing.
b) Isolated :: The Master can be deleted when the child is existing.
c) Cascading :: The child gets deleted when the Master is deleted.

What are the procedures that will be created when a master details form created?
CHECK_PACKAGE_FAILURE
CHECK_ALL_MASTER_DETAILS
QUERY_MASTER_DETAILS

What is mouse navigate property of button?
When Mouse Navigate is True (the default), Oracle Forms performs standard navigation to move the focus to the item when the operator activates the item with the mouse. When Mouse Navigate is set to False, Oracle Forms does not perform navigation (and the resulting validation) to move to the item when an operator activates the item with the mouse.

What is difference between PL/SQL library and object library in Forms?
PL/SQL library contains only pl/sql codes which can be used for standardizing the validations etc. in forms whereas Object Library is used to create, store, maintain, and distribute standard and reusable Form objects.

What are the different default triggers created when Master Deletes Property is set to Nonisolated?
On-Check-Delete-Master
On-Clear-Details
On-Populate-Details

What are the different default triggers created when Master Deletes Property is set to Cascade?
On-Clear-Details
On-Populate-Details
Pre-delete

What are the different default triggers created when Master Deletes Property is set to isolated?
On-Clear-Details
On-Populate-Details

What is the difference between SHOW_EDITOR and EDIT_TEXTITEM?
Show_editor is the generic built-in which accepts any editor name and takes some input string and returns modified output string. Whereas the edit_textitem built-in needs the input focus to be in the text item before the built-in is executed.

What is the “LOV of Validation” Property of an item? What is the use of it?
When LOV for Validation is set to True, Oracle Forms compares the current value of the text item to the values in the first column displayed in the LOV whenever the validation event occurs. If the value in the text item matches one of the values in the first column of the LOV, validation succeeds, the LOV is not displayed, and processing continues normally. If the value in the text item does not match one of the values in the first column of the LOV, Oracle Forms displays the LOV and uses the text item value as the search criteria to automatically reduce the list.


What is a display item?
Display items are similar to text items but store only fetched or assigned values. Operators cannot navigate to a display item or edit the value it contains.

How many maximum number of radio buttons can you assign to a radio group?
Unlimited no of radio buttons can be assigned to a radio group.

Can you change the default value of the radio button group at run time?
No.

What triggers are associated with the radio group?
Only when-radio-changed trigger associated with radio group.

What are the various states of a form?
CHANGED: Indicates that the form contains at least one block with a Changed record.
NEW: Indicates that the form contains only New records.
QUERY: Indicates that a query is open.

What are the different objects that you cannot copy or reference in object groups?
objects of different modules
another object groups
individual block dependent items
program units

What are the different modals of a window?
Modeless windows
Modal windows

What are Modeless windows?
More than one Modeless window can be displayed at the same time, and operators can navigate among them if your application allows them to do so . On most GUI platforms, Modeless windows can also be layered to appear either in front of or behind other windows.

What are modal windows?
Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.

How do you display console on a window ?
The console includes the status line and message line, and is displayed at the bottom of the window to which it is assigned. To specify that the console should be displayed, set the console window form property to the name of any window in the form. To include the console, set console window to Null.

Can you have more than one content canvas attached with a window?
Yes. Each window you create must have at least one content canvas assigned to it. You can also create a window that has manipulate content canvas. At run time only one of the content canvas assign to a window is displayed at a time.

How many windows in a form can have console?
Only one window in a form can display the console, and you cannot change the console assignment at runtime.

What are the different window events activated at runtimes?
When_window_activated
When_window_closed
When_window_deactivated
When_window_resized

When a form call a pl/sql routine if there is an error in the pl/sql routine how do you place custom message in the form?
FND_MESSAGE.SHOW displays an informational message in a forms modal window or in a concurrent program log file only.
fnd_message.set_string(‘Message Text’);
fnd_message.show;
FND_MESSAGE.HINT to display a message in the forms status line and FND_MESSAGE.ERASE to clear the forms status line. FND_MESSAGE.HINT takes its message from the stack, displays the message, and then clears that message from the message stack.

List the built-in routines for controlling a window during run-time?
Find_window,
get_window_property,
hide_window,
move_window,
resize_window,
set_window_property,
show_View

What built-in is used for changing the properties of a window dynamically?
Set_window_property

What built-in is used for showing an alert during run-time?
Show_alert

Can you change alert messages at run-time?
Yes. By Set_alert_property.

What is the built-in function used for finding the alert?
Find_alert

What built-in routines are used to display editor dynamically?
Edit_text item
show_editor

What is the difference between COPY and NAME_IN ?
Copy is package procedure that writes values into a field. Name_in is a package function that returns the contents of the variable to which you apply.

Can you attach an lov to a field at run-time?
Yes. By Set_item_proprety

What is the built-in used to get and set lov properties during run-time?
Get_lov_property
Set_lov_property

Give built-in routines related to a record groups?
Create_group (Function)
Create_group_from_query(Function)
Delete_group(Procedure)
Add_group_column(Function)
Add_group_row(Procedure)
Delete_group_row(Procedure)
Populate_group(Function)
Populate_group_with_query(Function)
Set_group_Char_cell(procedure)

What is the built-in routine used to count the no of rows in a group?
Get_group_row_count

What are the built-ins that are used to attach an LOV programmatically to an item?
set_item_property
get_item_property

How many number of columns a record group can have?
A record group can have an unlimited number of columns of type CHAR, LONG, NUMBER, or DATE provided that the total number of column does not exceed 64K.

What is the Maximum allowed length of Record group Column?
Record group column names cannot exceed 30 characters.

What are the built-ins used for Creating and deleting groups?
CREATE-GROUP (function)
CREATE_GROUP_FROM_QUERY(function)
DELETE_GROUP(procedure

What are the difference between Lov & List Item?
Lov is a property where as list item is an item. A list item can have only one column while a lov can have one or more columns.

What are the different display styles of list items?
Pop List
Text List
Combo box

What is Pop List?
The pop list style list item appears initially as a single field (similar to a text item field). When the operator selects the list icon, a list of available choices appears.

What is a Text List?
The text list style list item appears as a rectangular box which displays the fixed number of values. When the text list contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to view and select undisplayed values.

What is a Combo Box?
A combo box style list item combines the features found in list and text item. Unlike the pop list or the text list style list items, the combo box style list item will both display fixed values and accept one operator entered value.


What is the difference between Pre-Form and When-New-Form-Instance trigger?
Pre-Form trigger will be fired before entering into the form. It is the first trigger that fires when a form is run; fires before the form is visible. It is useful for setting access to form items, initializing global variables, and assigning unique primary key from an Oracle sequence.
When-New-Form-Instance trigger will be fired whenever form is ready to accept the data from the user.
Another main difference between the two is that you cannot navigate in a pre-from trigger (restricted) whereas you can navigate in a when-new-form-instance trigger. For example : go_block and execute-query will only work in when-new-form-instance trigger not in pre-from trigger.

What are the triggers fired while creating Master Detail form?
On-Clear Details (Form Level)
On-Populate-Details (Block Level)
On-Check-delete-Master (Block Level)

How will you get the block Name in a form?
By using SYSTEM.CURRENT_BLOCK

What is the difference between Pre-insert and On-insert trigger?
Pre-insert trigger fires during the Post and Commit Transactions process, before a row is inserted. It fires once for each record that is marked for insert. On-insert trigger fires during the Post and Commit Transactions process when a record is inserted. Specifically, it fires after the Pre-Insert trigger fires and before the Post-Insert trigger fires, when Form Builder would normally insert a record in the database. It fires once for each row that is marked for insertion into the database.

What is the difference between Pre-Query and Post-Query trigger?
Pre-Query trigger validates the current query criteria or provide additional query criteria programmatically, just before sending the SELECT statement to the database. Post-Query trigger perform an action after fetching a record, such as looking up values in other tables based on a value in the current record. It fires once for each record fetched into the block.

What is the trigger sequence while opening a form?
Pre-Form,
Pre-Block,
Pre-Record,
Pre-Item,
When-new-form-Instance,
When-new-block-Instance,
When-new-Record-instance,
When-new-Item-instance,
Post-item,
post-record,
Post-block,
Post-form

What is the difference between new form, open form & call form?
New_form:-Once we move into the destination automatically source will be closed.
Open_form:- It is a two way connection between source and destination. Opens the indicated form. Use OPEN_FORM to create multiple-form applications, that is, applications that open more than one form at the same time.
Call_form:- Call_form() runs an indicated form while keeping the parent form active. Without closing the destination one cannot come back to the source.

How to call a Report from a form?
By using RUN_PRODUCT Built-in.

Can we write Commit statement in forms triggers?
Yes

What is the usage of an ON-INSERT,ON-DELETE and ON-UPDATE TRIGGERS ?
These triggers are executes when inserting, deleting and updating operations are performed and can be used to change the default function of insert, delete or update respectively.

A query fetched 10 records. How many times does a PRE-QUERY Trigger and POST-QUERY Trigger will get executed ?
PRE-QUERY fires once. POST-QUERY fires 10 times.

How can you execute the user defined triggers in forms?
To execute a user-named trigger, you must call the EXECUTE_TRIGGER built-in procedure, as shown here: Execute_Trigger(‘my_user_named_trigger’);

What are Restricted Built-in Subprograms in forms?
Any built-in subprogram that initiates navigation is restricted. This includes subprograms that move the input focus from one item to another, and those that involve database transactions. Restricted built-ins are not allowed in triggers that fire in response to navigation.
For example, the GO_ITEM and NEXT_SET built-ins are both restricted procedures. GO_ITEM moves the input focus from a source item to a target item, which requires navigation. Similarly, the NEXT_SET procedure causes Oracle Forms to navigate internally to the block level, fetch a set of records, and then navigate to the first item in the first record. (Note that this navigation happens internally as a result of default processing, and may not be apparent to the form operator.) Because GO_ITEM and NEXT_SET both initiate navigation, they cannot be called from triggers that fire in response to internal navigational events; that is, triggers that fire while navigation is already occurring. Thus, a restricted procedure cannot be called from a Pre-Block trigger, because the Pre-Block trigger fires during internal navigation. In fact, restricted subprograms are not allowed from any PRE- or POST- navigational triggers. You can, however, call a restricted built-in subprogram from a When-New-Instance trigger. For example, the When-New-Item-Instance trigger fires after navigation to an item has succeeded, when the form is waiting for input.

What are System Variables in forms?
A system variable is a Oracle Forms variable that keeps track of an internal Oracle Forms state. You can reference the value of a system variable to control the way an application behaves.

List system variables available in forms 10g?
SYSTEM.CURRENT_FORM
SYSTEM.CURRENT_ITEM
SYSTEM.CURRENT_VALUE
SYSTEM.CURSOR_BLOCK
SYSTEM.CURSOR_ITEM
SYSTEM.CURSOR_RECORD
SYSTEM.CURSOR_VALUE
SYSTEM.FORM_STATUS
SYSTEM.LAST_FORM
SYSTEM.LAST_QUERY
SYSTEM.LAST_RECORD
SYSTEM.MASTER_BLOCK
SYSTEM.MESSAGE_LEVEL
SYSTEM.SUPPRESS_WORKING…..etc.

What are the triggers associated with the image item?
When-Image-activated(fires when the operator double clicks on an image Items)
When-image-pressed(fires when the operator selects or deselects the image item)

What are the built-in routines available in forms to create and manipulate a parameter list?
Add_parameter
Create_Parameter_list
Delete_parameter
Destroy_parameter_list
Get_parameter_attr
Get_parameter_list
set_parameter_attr

What are the built-ins used to trapping errors in forms?
Error_type : Returns the error message type(character)
Error_code : Returns the error number
Error_text  : Returns the message text of the Oracle Forms error
Dbms_error_code : Returns the error number of the last database error that was detected.
Dbms_error_text : Returns the message number (such as ORA-01438) and message text of the database error

What is the predefined exception available in forms ?
The FORM_TRIGGER_FAILURE exception is a predefined PL/SQL exception available only in Oracle Forms.

What are the Built-ins used for sending Parameters to forms?
You can pass parameter values to a form when an application executes the call_form, New_form, Open_form or Run_product.

How do you reference a Parameter?
In pl/sql, You can reference and set the values of form parameters using bind variables syntax.

How do you reference a parameter indirectly?
To indirectly reference a parameter use the NAME_IN or COPY built-ins.

What is forms_DDL?
It issues dynamic sql statements at run time, including server side pl/sql and DDL

What is Text_io Package?
It allows you to read and write information to a file in the file system.

What is When-Database-Record trigger?
It fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. It generally occurs only when the operator modifies the first item in the record, and after the operator attempts to navigate out of the item.

What is the difference between $$DATE$$ & $$DBDATE$$?
$$DBDATE$$ retrieves the current database date
$$DATE$$ retrieves the current operating system date.

What is a timer?
Timer is a “internal time clock” that you can programmatically create to perform an action each time the timer expires.

What are built-ins associated with timers?
find_timer
create_timer
delete_timer

What is the difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.

What is the form development process?
a) open template form 
b) Save as <your form>.fmb
c) Change the form module name as form name.
d) Delete the default blocks, window, and canvas
e) Create a window.
f) Assign the window property class to window
g) Create a canvas   
h) Assign canvas property class to the canvas
i) Assign the window to the canvas and canvas to the window
j) Create a data block       
k) Modify the form level properties. (sub class item à Text item)
l)  Modify the app_cusom package. In the program unit.
m) Modify the pre-form trigger (form level)
n) Modify the module level properties
o) Save and compile the form.
p) Place the .fmx in the server directory.
q) Register in the AOL
APPLICATION à FORMà FUNCTIONà MENU

What is template?
The TEMPLATE form is the required starting point for all development of new Forms. The TEMPLATE form includes platform–independent attachments of several Libraries.
APPSCORE :- It contains package and procedures that are required of all forms to support  the MENUS ,TOOLBARS.
APPSDAYPK :- It contains packages that control the oracle applications CALENDER FEATURES.
FNDSQF  :- It contains packages and procedures for MESSAGE DICTONARY, FLEX FIELDS, PROFILES AND CONCURRENT PROCESSING.
CUSTOM :- It allows extension of oracle applications forms with out modification of oracle application code, you can use the custom library for customization such as zoom    ( such as moving to another form and querying up specific records)

Where exactly you place your forms in APPS environment?
/apps/visappl/au/11.5.0/forms/US

What are the Different PLL’s used in Forms?
CUSTOM.pll
FNDSQF.pll
APPCORE.pll
APPCORE2.pll
appdaypk.pll
APPSTAND.pll

What are the triggers that can be modified during Forms Customization?
Pre-Forms
When-New-Form-Instance
Query_Find
Post-Form
Key-Clrfrm
Accept

What are the triggers that cannot be modified during Forms Customization?
STANDARD_ATTACHMENT
ZOOM
FOLDER_ACTION
KEY-HELP
KEY-EXIT
KEY-COMMIT
WHEN-WINDOW_CLOSED
CLOSE_WINDOW






2 comments: