Wednesday, April 30, 2008

Oracle Questions and Answers : SQL
1. To see current user name Sql> show user;
2. Change SQL prompt name SQL> set sqlprompt “Manimara > “ Manimara > Manimara >
3. Switch to DOS prompt SQL> host
4. How do I eliminate the duplicate rows ? SQL> delete from table_name where rowid not in (select max(rowid) from table group by duplicate_values_field_name); or SQL> delete duplicate_values_field_name dv from table_name ta where rowid <(select min(rowid) from table_name tb where ta.dv=tb.dv); Example. Table Emp Empno Ename 101 Scott 102 Jiyo 103 Millor 104 Jiyo 105 Smith delete ename from emp a where rowid < ( select min(rowid) from emp b where a.ename = b.ename); The output like, Empno Ename 101 Scott 102 Millor 103 Jiyo 104 Smith
5. How do I display row number with records? To achive this use rownum pseudocolumn with query, like SQL> SQL> select rownum, ename from emp; Output: 1 Scott 2 Millor 3 Jiyo 4 Smith
6. Display the records between two range select rownum, empno, ename from emp where rowid in (select rowid from emp where rownum <=&upto minus select rowid from emp where rownum<&Start); Enter value for upto: 10 Enter value for Start: 7
ROWNUM EMPNO ENAME --------- --------- ---------- 1 7782 CLARK 2 7788 SCOTT 3 7839 KING 4 7844 TURNER
7. I know the nvl function only allows the same data type(ie. number or char or date Nvl(comm, 0)), if commission is null then the text “Not Applicable” want to display, instead of blank space. How do I write the query?
SQL> select nvl(to_char(comm.),'NA') from emp;
Output :
NVL(TO_CHAR(COMM),'NA') ----------------------- NA 300 500 NA 1400 NA NA
8. Oracle cursor : Implicit & Explicit cursors Oracle uses work areas called private SQL areas to create SQL statements. PL/SQL construct to identify each and every work are used, is called as Cursor. For SQL queries returning a single row, PL/SQL declares all implicit cursors. For queries that returning more than one row, the cursor needs to be explicitly declared.
9. Explicit Cursor attributes There are four cursor attributes used in Oracle cursor_name%Found, cursor_name%NOTFOUND, cursor_name%ROWCOUNT, cursor_name%ISOPEN
10. Implicit Cursor attributes Same as explicit cursor but prefixed by the word SQL
SQL%Found, SQL%NOTFOUND, SQL%ROWCOUNT, SQL%ISOPEN
Tips : 1. Here SQL%ISOPEN is false, because oracle automatically closed the implicit cursor after executing SQL statements. : 2. All are Boolean attributes.
11. Find out nth highest salary from emp table SELECT DISTINCT (a.sal) FROM EMP A WHERE &N = (SELECT COUNT (DISTINCT (b.sal)) FROM EMP B WHERE a.sal<=b.sal);
Enter value for n: 2 SAL --------- 3700
12. To view installed Oracle version information SQL> select banner from v$version;
13. Display the number value in Words SQL> select sal, (to_char(to_date(sal,'j'), 'jsp')) from emp; the output like,
SAL (TO_CHAR(TO_DATE(SAL,'J'),'JSP')) --------- ----------------------------------------------------- 800 eight hundred 1600 one thousand six hundred 1250 one thousand two hundred fifty If you want to add some text like, Rs. Three Thousand only. SQL> select sal "Salary ", (' Rs. ' (to_char(to_date(sal,'j'), 'Jsp')) ' only.')) "Sal in Words" from emp / Salary Sal in Words ------- ------------------------------------------------------ 800 Rs. Eight Hundred only. 1600 Rs. One Thousand Six Hundred only. 1250 Rs. One Thousand Two Hundred Fifty only.
14. Display Odd/ Even number of records Odd number of records: select * from emp where (rowid,1) in (select rowid, mod(rownum,2) from emp); 1 3 5 Even number of records: select * from emp where (rowid,0) in (select rowid, mod(rownum,2) from emp) 2 4 6
15. Which date function returns number value? months_between
16. Any three PL/SQL Exceptions? Too_many_rows, No_Data_Found, Value_Error, Zero_Error, Others
17. What are PL/SQL Cursor Exceptions? Cursor_Already_Open, Invalid_Cursor
18. Other way to replace query result null value with a text SQL> Set NULL ‘N/A’ to reset SQL> Set NULL ‘’
19. What are the more common pseudo-columns? SYSDATE, USER , UID, CURVAL, NEXTVAL, ROWID, ROWNUM
20. What is the output of SIGN function? 1 for positive value, 0 for Zero, -1 for Negative value.
21. What is the maximum number of triggers, can apply to a single table? 12 triggers.
FREQUENTLY ASKED QUESTIONS AND ANSWERS FOR SRW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. What do I need to do to upgrade reports from SRW 1.0 to 1.1?

User must export all the 1.0 SRW tables and import them into database
with SRW 1.1. Then he should use 'moverep' to move all the data in
these 1.0 tables to 1.1 tables. 1.0 tables prefixed 'FR_' while
1.1 tables prefixed 'SRW_'.

2. Can I use 'dumprep' to dump my 1.0 reports and load them into 1.1 SRW
by using 'loadrep'?

Even though SRW provides utilities called 'dumprep' dumping reports
from database into .rex files and 'loadrep' to load these ascii .rex
on other hosts and operating systems, user should not use them to
upgrade their SRW from 1.0 to 1.1, due to different table structures
and definitions between these 2 versions.

3. When installing SRW, it asks if I want to install one central set of
tables or each user has its own set of tables, which one should
I choose? Why?

All the report data and format info are stored in tables.
These so called 'SRW_' tables may be created under the 'system' account
such that they may be shared by all SRW users, or these tables may be
created under individual accounts - each user has his own set of
tables.
In order to use one set of central tables, the user must have TPO
installed. Having one set of central tables makes managing SRW easier
and causes all the reports be shared by all users.

4. Why do I get message 'Unable to access the SQL*ReportWriter V1.1 tables.'
when logging in SRW, even though the user is a valid database account?

If SRW is installed with one set of central tables, then all SRW users
except 'system' need to be added by running a script called 'srw.admin'
under ?/sqlreport/admin.
If SRW is installed with local tables for each user, then the 'SRW_'
tables must be created under the user account. The script needs to be run
is called 'srw_iloc.sql' under ?/sqlreport/admin or the 'srw.admin' and
choose the right option.

5. What is srw.admin? How should I make use of it?

Srw.admin is a script for SRW administrative uses. It adds, drops a user,
relinks user exit into the executables, etc.
One should go to ?/sqlreport/admin directory, set enviornment variable
by 'setenv LOG test' for error logs when running the script. Then type
'srw.admin' and choose the appropriate actions.
'srw.admin' runs other sql script within the same directory, such as
srw_icen.sql, srw_grnt.sql, etc.

6. How do I relink user exits into SRW executables?

In the IUG there is a section regarding creating user exits, but not very
clear. The steps for creating forms user exits in the IUG will be also
helpful.
After the iapxtb.o is created, one should use the 'srw.admin' script
and choose the 'Relink the executables with user exits'. Remember to
set the 'LOG' enviornment variable for error checking and move your
own copy of iapxtb.o to the directory you desire.

7. Why do I get 'ORA-2112 pcc: select...into returns too many rows' when
running SRW?

It is likely that user has duplicate rows in the system.product_profile
table. The reason may due to duplicate import or install of SRW system
tables.
The way to deal with the problem is to remove all the duplicate rows
in this table.

8. What is the product_profile table for?

The product_profile table gives DBA control of application usage and
resouce limit, such as restricting the page limit for SRW users, or
removing the host command from normal SQL*Plus users.
Currently only SRW and SQL*Plus make use of this table.
Refer 'SQL*Plus User's Guide and Reference 3.0' Appendix E and sql
script 'pupbld.sql' under ?/sqlplus/admin for more info.

9. When looking at the system SRW table, I find 'SRW_SUMMARY' and
'SRW__SUMMARY', what is the difference?

The difference is that 'SRW_SUMMARY' is a view of 'SRW__SUMMARY'.
Overall, 'SRW_' are views with slight modification of the original
tables 'SRW__'.

10. Why do I get 'Out of space on device' when I try to print out a
report on printer?

The 'Out of space' message usually comes from /tmp being full.
The reason is that SRW first generates a temporary file in the
/tmp directory, then spool it out through 'spoolcmd' under
?/sqlreport/admin/printer.
The workaround to this problem is to set enviornment variable
SRW_TMP to directory with more disk space.

11. Why does SRW generate a temporary file in /tmp?

SRW uses a two-pass scheme for generating report. For example, in order
to print out '1 of 10 pages' at the top of each page, the first pass
gives the total number of pages, while the second pass fill in the
number '1' at the appropriate page.
The temporary file generated in /tmp with file name such as 'SRW06536001'
makes the second pass possible.

12. What is the difference between spoollp.sh, spoolpr.sh and spoolcmd?

'Spoolcmd' is usually linked with either spoollp.sh or spoolpr.sh,
depending on the version of unix system (att or bsd). 'spoollp.sh'
uses 'lp' to spool reports, while 'spoollpr.sh' uses 'lpr'.

13. I tried to print out reports on a DEC printer and have specified
the printer definition as 'decland' for landscape mode. However,
the report still came out in protrait mode. What did I do wrong?

User who wants to print out landscape report should first find
the escape sequence which will change the printer from protrait
mode to landscape mode. Then he should modify the ':is=' cause
within the 'printdef.dat' file under ?/sqlreport/admin/printer
by adding the escape sequence.
Generate a new 'decland' printer definition file using SRW
utility 'printdef' (refer SRW User's Guide for the usage).

14. Is it possible to mail a report to an Oracle*Mail user within SRW?

'Mail' is one of the options for 'DESTYPE' parameter. User should
also specify the 'DESNAME' as Oracl*Mail userid whom the report is
supposed to be sent.
FORMS 3.0 BASIC 1.What is an SQL *FORMS? SQL *forms is 4GL tool for developing and executing; Oracle based interactive application. 2. What is the maximum size of a form? 255 character width and 255 characters Length. 3. Name the two files that are created when you generate the form give the filex extension? INP (Source File) FRM (Executable File) 4. How do you control the constraints in forms? Select the use constraint property is ON Block definition screen. BLOCK 5. Commited block sometimes refer to a BASE TABLE? True or False. False. 6. Can we create two blocks with the same name in form 3.0? No. 7. While specifying master/detail relationship between two blocks specifying the join condition is a must? True or False. True. 8. What is a Trigger? A piece of logic that is executed at or triggered by a SQL *forms event. 9. What are the types of TRIGGERS? 1. Navigational Triggers. 2. Transaction Triggers. 10. What are the different types of key triggers? Function Key Key-function Key-others Key-startup 11. What is the difference between a Function Key Trigger and Key Function Trigger? Function key triggers are associated with individual SQL*FORMS function keysYou can attach Key function triggers to 10 keys or key sequences that normally do not perform any SQL * FORMS operations. These keys refered as key F0 through key F9. 12. What does an on-clear-block Trigger fire? It fires just before SQL * forms the current block. 13. How do you trap the error in forms 3.0? using On-Message or On-Error triggers. 14. 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. 15. What is the usuage 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. 16. When will ON-VALIDATE-FIELD trigger executed? It fires when a value in a field has been changed and the field status is changed or new and the key has been pressed. If the field status is valid then any further change to the value in the field will not fire the on-validate-field trigger. 17. 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. 18. 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-chage trigger will fire, on-validate field trigger will not fire. 19. 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. 20. What is the difference between a POST-FIELD trigger and a POST-CHANGE trigger? Post-field trigger fires whenever the control leaving from the filed.Post-change trigger fires at the time of execute-query procedure invoked or filed validation status changed. 21. When is PRE-QUERY trigger executed? When Execute-query or count-query Package procedures are invoked. 22. Give the sequence in which triggers fired during insert operations, when the following 3 triggers are defined at the smae block level? a. ON-INSERT b. POST-INSERT c. PRE-INSERT PRE-INSERT,ON-INSERT & POST-INSERT. 23. Can we use GO-BLOCK package in a pre-field trigger? No. 24. Is a Keystartup trigger fires as result of a operator pressing a key explicitly? No. 25. How can you execute the user defined triggers in forms 3.0? Execute_Trigger (trigger-name) 26. When does an on-lock trigger fire? It will fires whenever SQL * Forms would normally attempt to lock a row. 26. What is Post-Block is a . a. Navigational Trigger. b. Key trigger c. Transaction Trigger. Navigational Trigger. 27. What is the difference between keystartup and pre-form? Key-startup trigger fires after successful navigation into a form. Pre-form trigger fires before enter into the form. 28. What is the difference between keystartup and pre-form? Key-startup triigger fires after successful navigation into a form.Pre-form trigger fires before enter into the form. PACKAGE PROCEDURE & FUNCTION 29. What is a Package Procedure? A Package proecdure is built in PL/SQL procedure. 30. What are the different types of Package Procedure? 1. Restricted package procedure. 2. Unrestricted package proecdure. 31. What is the difference between restricted and unrestricted package procedure?Restricted package procedure that affects the basic basic functions of SQL * Forms. It cannot used in all triggers execpt key triggers. Unrestricted package procedure that does not interfere with the basic functions of SQL * Forms it can be used in any triggers. 32. Classify the restricted and unrestricted procedure from the following. a. Call b. User-Exit c. Call-Query d. Up e. Execute-Query f. Message g. Exit-From h. Post i. Break a. Call - unrestricted b. User Exit - Unrestricted c. Call_query - Unrestricted d. Up - Restricted e. Execute Query - Restricted f. Message - Restricted g. Exit_form - Restricted h. Post - Restricted i. Break - Unrestricted. 33. Can we use a restricted package procedure in ON-VALIDATE-FIELD Trigger? No. 34. What SYNCHRONIZE procedure does? It synchoronizes the terminal screen with the internal state of the form. 35. What are the unrestricted procedures used to change the popup screen position during run time? Anchor-view Resize -View Move-View. 36. What Enter package procedure does? Enter Validate-data in the current validation unit. 37. What ERASE package procedure does? Erase removes an indicated global variable. 38. What is the difference between NAME_IN and COPY? Copy is package procedure and writes values into a field.Name in is a package function and returns the contents of the variable to which you apply. 38. Identify package function from the following? 1. Error-Code 2. Break 3. Call 4. Error-text 5. Form-failure 6. Form-fatal 7. Execute-query 8. Anchor_View 9. Message_code 1. Error_Code 2. Error_Text 3. Form_Failure 4. Form_Fatal 5. Message_Code 40. How does the command POST differs from COMMIT? Post writes data in the form to the database but does not perform database commitCommit permenently writes data in the form to the database. 41. What the PAUSE package procedure does? Pause suspends processing until the operator presses a function key 42. What package procedure is used for calling another form? Call (E.g. Call(formname) 43. What package procedure used for invoke sql *plus from sql *forms? Host (E.g. Host (sqlplus)) 44. Error_Code is a package proecdure? a. True b. false False. 45. EXIT_FORM is a restricted package procedure? a. True b. False True. 46. When the form is running in DEBUG mode, If you want to examine the values of global variables and other form variables, What package procedure command you would use in your trigger text? Break. SYSTEM VARIABLES 47. 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. 48. What is the difference between system.current_field and system.cursor_field? 1. System.current_field gives name of the field. 2. System.cursor_field gives name of the field with block name. 49. The value recorded in system.last_record variable is of type a. Number b. Boolean c. Character.b. Boolean. User Exits: 50. What is an User Exits? A user exit is a subroutine which are written in programming languages using pro*C pro *Cobol , etc., that link into the SQL * forms executable. 51. What are the type of User Exits? ORACLE Precompliers user exitsOCI (ORACLE Call Interface)Non-ORACEL user exits. Page: 52. What do you mean by a page? Pages are collection of display information, such as constant text and graphics. 53. How many pages you can in a single form? Unlimited. 54. Two popup pages can appear on the screen at a time? a. True b. False a. True. 55.What is the significance of PAGE 0 in forms 3.0? Hide the fields for internal calculation. 56. Deleting a page removes information about all the fields in that page? a. True. b. False a. True. Popup Window: 57. What do you mean by a pop-up window? Pop-up windows are screen areas that overlay all or a portion of thedisplay screen when a form is running. 58. What are the types of Pop-up window? the pop-up field editor pop-up list of values pop-up pages. Alert: 59. What is an Alert? An alert is window that appears in the middle of the screen overlaying a portion of the current display.
Forms 4.5

1. Which triggers are created when master -detail relation? master delete property
NON-ISOLATED (default): on check delete master, on clear details, on populate details
ISOLATED: on clear details, on populate details
CASCADE: per-delete, on clear details, on populate details.

2. Which system variables can be set by users?
SYSTEM.MESSAGE_LEVEL
SYSTEM.DATE_THRESHOLD
SYSTEM.EFFECTIVE_DATE
SYSTEM.SUPPRESS_WORKING

3. 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.

4. What are referenced objects?
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.

5. Can you store objects in library?
NO

6. Is forms 4.5 object oriented tool? Why?
Yes, partially. 1) PROPERTY CLASS - inheritance property
2) OVERLOADING: procedures and functions.

7. Can you issue DDL in forms?
Yes, but you have to use FORMS_DDL.

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.
Any string expression up to 32K:
· a literal
· an expression or a variable representing the text of a block of dynamically created
PL/SQL code
· a DML statement or · a DDL statement
Restrictions:
The statement you pass to FORMS_DDL may not contain bind variable references in the string, but the values of bind variables can be concatenated into the string before passing the result to FORMS_DDL.

8. What is SECURE property?
Hides characters that the operator types into the text item. This setting is typically used for password protection.


9. 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.
Key Triggers: Key Triggers are fired as a result of Key action.
e.g. Key-next-field, Key-up, Key-Down
Mouse Triggers: Mouse Triggers are fired as a result of the mouse navigation.
e.g. When-mouse-button-pressed, when-mouse-double clicked, etc
Navigational Triggers: These Triggers are fired as a result of Navigation.
E.g. Post-Text-item, Pre-text-item.
We also have event triggers like when–new-form-instance and when-new-block-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 an 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.
The sequence of firing in a text item are as follows:
a) pre - text
b) when new item
c) key-next
d) when validate
e) post text

10. What are property classes? Can property classes have trigger?
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. By simply changing the definition of a property class, you can change the definition of all objects that inherit properties from that class.

Yes, all type of triggers.

11. 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.

12. 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:
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.
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.
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.

13. What are ALERT?
An ALERT is a modal window that displays a message notifying operator of some application condition.

14. Can a button have icon and label at the same time? NO

15. 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.

16. What is FORMS_MDI_WINDOW?
Forms run inside the MDI application window. This property is useful for calling a form from another one.

17. What are timers? When when-timer-expired does not fire?
The When-Timer-Expired trigger cannot fire during trigger, navigation, or transaction processing.

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

19. How many types of canvases are there.
There are 2 types of canvases called as Content and Stack Canvas.
Content canvas is the default and the one that is used mostly for giving the base effect. It’s like a plate on which we add items.
Stacked canvas is used for giving 3 dimensional effects.

20. What are user-exits?
It invokes 3GL programs.

21. 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.

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

23. Can you call WIN-SDK thru' user exits?
YES.

24. Does user exits supports DLL on MS-WINDOWS?
YES.



25. What is path setting for DLL?
Make sure you include the name of the DLL in the FORMS45_USEREXIT variable of the ORACLE.INI file, or rename 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.

26. 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 registry.

27. What is pre-compiler?
It is similar to C pre-compiler directives.

28. Can you connect to non - oracle data source? How?
Yes.

29. What are key-mode and locking mode properties? level?
Key Mode Property: Specifies how oracle forms uniquely identifies rows in the database. This property includes for application that will run against NON-ORACLE data sources .
Level Key setting
unique (default.)
dateable
n-updateable.
Locking mode Property:
Specifies when Oracle Forms should attempt to obtain database locks on rows that correspond to queried records in the form.
Level a) immediate
b) delayed

30. What are save point mode and cursor mode properties? level?
Save Point Mode: Specifies whether Oracle Forms should issue savepoints 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.

Cursor mode: define cursor state across transaction
Level: Open/close.

31. 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.

32. 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)









33. What does invoke built-in do?
This procedure invokes a method.
Syntax:
PROCEDURE OLE2.INVOKE
(object obj_type,
method VARCHAR2,
list list_type := 0);
Parameters:
object Is an OLE2 Automation Object.
method Is a method (procedure) of the OLE2 object.
list Is the name of an argument list assigned to the OLE2.CREATE_ARGLIST function.


34. What are OPEN_FORM, CALL_FORM, NEW_FORM? Difference?
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 save point.
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.

35. 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.

36. Can u port applications across the platforms? how?
Yes we can port applications across platforms. Consider the form developed in a windows system. The form would be generated in unix system by using f45gen my_form.fmb scott/tiger

37. What is a 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.

38. Diff. between VAT and Property Class? Imp
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 are ignored.





39. Which trigger related to mouse?
When-Mouse-Click
When-Mouse-DoubleClick
When-Mouse-Down
When-Mouse-Enter
When-Mouse-Leave
When-Mouse-Move
When-Mouse-Up

40. 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.

41. 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.

42. Can u set default font in forms?
Yes. Change windows registry(regedit). Set form45_font to the desired font.

43. Can u have OLE objects in forms?
Yes.

44. Can u have VBX and OCX controls in forms?
Yes.

45. What r the types of windows (Window style)?
Specifies whether the window is a Document window or a Dialog window.

46. What is OLE Activation style property?
Specifies the event that will activate the OLE containing item.

47. Can u change the mouse pointer? How?
Yes. Specifies the mouse cursor style. Use this property to dynamically change the shape of the cursor.





















Forms 6i

1. Which of the following tools assists with the formatting of items and is linked to the execution of the Data Block Wizard?
Format Wizard

2. What is the most common trigger associated with a push button?
WHEN_BUTTON_PRESSED

3. You are using a global variable in your application and you want to ensure that the global has been initialized before running the WHEN-NEW-FORM-INSTANCE. You also want to make sure that you do not overwrite the current value if the global variable has a value.
Referring to the situation above, what built-in can be used to initialize the global variable?
Choice 1 SET_ITEM_PROPERTY
Choice 2 CREATE_VAR
Choice 3 DEFAULT_VALUE
Choice 4 INITIALIZE
Choice 5 COPY

4. What are Smart Triggers?
They are templates for creating triggers

5. What is the primary purpose of PL/SQL Libraries?
To enhance compatibility between program units

6. How do you capture an ORA error to perform exception handling on it?
ORA-EXCEPTION

7. COPY(NAME_IN('INVENTORY.PARTNO'),'ORDERS.PARTNO');

What does the sample code above do?
Updates :INVENTORY.PARTNO to reflect the number of parts ordered in ORDERS.PARTNO

8. XX denotes the forms version. For example FORMSXX_OUTPUT would be FORMS45_OUTPUT for Developer 1.6.1 and FORMS50_OUTPUT for Developer 2.1.
Referring to the above sample. What environment variable tells Forms where to look for all of its dependent objects like FMXs, PLLs, and MMXs?
FORMSXX_PATH

9. Which of the following list items allows the user to type a choice not offered in the list?
Combo Box

10. Which of the following is a valid Record Group data source?
Multi-dimensional arrays

11. What built-in would you use to open another form in a modal window? CALL_FORM

12. How can you control text wrapping in a multi-line display item so that the line break automatically occurs after the last complete word and continues on the next line?
Set the Wrap Style property to Word

13. You want to use a poplist to allow the users to select a value from the list and populate text items based on the value that is chosen. Currently, users have to manually enter this information.
Referring to the situation above, what trigger could you use to populate text items when the user makes a selection from the list item?
WHEN-NEW-ITEM-INSTANCE

14. What built-in will allow you to display that a particular line of code is firing and can be used to show the values of variables?
MESSAGE

15. Which button do you press to run a form from within the Form Builder environment?
Green Light

16. Users have requested that they be able to open another form that has a separate database connection within the same application. This will allow them to undo changes to one form without affecting the information that has been entered in the other form.
Referring to the above situation, which of the following parameter needs to be passed while opening the new form?
SHARE_LIBRARY_DATA

17. Which of the following can be used to maximize the forms MDI window?
SET_WINDOW_PROPERTY

18. Which of the following can be used to dynamically hide or display a tab within a tab canvas?
SET_TAB_PAGE_PROPERTY

19. What is the standard data source type for a data block?
Table

20. You have a text item that is in a data block but is not based on the database. You are getting an error message when querying information in that data block.
Referring to the situation above, what property needs to be changed to tell Forms that the text item is not based on the database?
Data Source

21. What PL/SQL Library file format contains both source code and compiled code?
PLL

22. You have decided to create a chart item manually. Which of the following file types can you use as a chart item?
OLE





23. PROCEDURE testit(p_number NUMBER) IS
BEGIN
IF :SYSTEM.CURSOR_RECORD > p_number THEN
WHILE :SYSTEM.CURSOR_RECORD > p_number LOOP
PREVIOUS_RECORD;
END LOOP;
ELSIF :SYSTEM.CURSOR_RECORD < p_number THEN
WHILE :SYSTEM.CURSOR_RECORD < p_number LOOP
NEXT_RECORD;
END LOOP;
ELSE NULL;
END IF;
END;
Referring to the sample code above, what built-in contains the same basic functionality as this program unit?
SYSTEM.TRIGGER_RECORD

24. Which of the following button properties can you change to display a picture instead of a label?
Iconic

25. Which of the following is a surface on which you place the interface items and boilerplate objects that end users interact with when they run the form?
Canvas

26. DECLARE
group_id RecordGroup := Find_Group('rg_data');
total_rows NUMBER;
new_row NUMBER;
BEGIN
total_rows := Get_Group_Row_Count(group_id);
Add_Group_Row(group_id, END_OF_GROUP);
new_row := total_rows + 1;
Set_Group_Char_Cell('rg_data.col1, new_row, 'xyz company');
Set_Group_Char_Cell('rg_data.col2', new_row, 'district 12');
Set_Group_Number_Cell('rg_data.col3', new_row, 400);
END;
What does the sample code above do?
Inserts a row of data into the Record Group

27. You created your form and laid out the items in a frame. You decide to remove one item, add two others, show the items in a tabular format, change the number of rows displayed from 1 to 10, and add a vertical scrollbar.
Referring to the situation above, which of the following tools can you use to make these changes with minimal effort?
Layout Formatting Wizard

28. What is SYSTEM.CURSOR_ITEM?
The block.item location where focus is currently located

29. Which of the following can be set to prevent a number of system messages from being displayed?
SYSTEM.SUPPRESS_MESSAGES


30. How can you select more than one value at a time from a List of Values?
Hold down the CTRL button and click on the appropriate choices

31. You want to display a green circle when a record meets certain criteria and a red circle when it does not. You have a primary application canvas and would like the circle to be displayed in the upper right corner of that canvas.
Referring to the example above, Which of the following can be used to programmatically display the circles?
Background

32. You want to ensure that users enter a value that is in the List of Values. You want to display the List of Values only if the user enters a value that is not in the List of Values or if they specifically request to display it.
Referring to the situation above, what property would you set to get this functionality?
List of Values Property Palette -> Perform Validation

33. What are the Layout Editor buttons shown above used to do?
To create chart objects

34. How can you enter more than one line of text in a push button?
Press Enter between lines

35. Which of the following are NOT triggers?
WHEN-BUTTON-PRESSED, ON-FORM-SUCCESS, ON-COMMIT

36. In the Object Navigator, what does an asterisk (*) to the right of a program unit mean?
It needs to be compiled

37. You need to display a picture of the product for each image. The image file is a GIF file and is stored on a network file server. Each client system has a drive mapped to the L: drive and the images are stored in the PRODUCTS directory.
Referring to the above situation, what would you do to incorporate this functionality into your application?
Import every GIF file using Import Image and control, which one is displayed during runtime

38. FILE,EDIT,VIEW,FORMAT,ARRANGE,PROBLEM,TOOLS, WINDOW,HELP
Referring to the menu selections above, which of the following menu items can be used to start the Layout Wizard?
Tools

39. What internal Forms data structure is like a two-dimensional array?
Record Group

40. What file type is edited in Form Builder with the Menu Editor?
MMB







41. You are using a global variable in your application and you want to ensure that the global has been initialized before running the WHEN-NEW-FORM-INSTANCE. You also want to make sure that you do not overwrite the current value if the global variable has a value.
Referring to the situation above, what built-in can be used to initialize the global variable?
COPY

42. What built-in can be used to determine the name of the current form?
GET_APPLICATION_PROPERTY

43. Which one of the following is the default validation unit?
Item

44. Which tool can be used to make creating a master-detail relationship within the form easier?
Data Block Wizard

45. You have received feedback from test users who say that they find the "FRM-40100: At first record" message distracting and would like to prevent it from being displayed.
Referring to the situation above, what line of code could you add to a WHEN-NEW-FORM-INSTANCE to suppress the FRM-40100 message?
: SYSTEM.SUPPRESS_WORKING := 'TRUE';

46. Which of the following built-in runs a report from forms?
RUN_PRODUCT

47. Which of the following can you use to ensure that users enter data into a text item in a specific format such as 04/07/2001?
Format Mask

48. Why are control blocks used?
Control blocks are required for the creation of control items such as buttons, list items, radio groups, and display items

49. Referring to the user requirements above, how would you implement this in your application?
Add the appropriate letter in the Access Key property for the button






















1. Generating a form module compiles all of its code objects and creates .FMX runfile (True)
2. The forms complier component is the runtime engine that form operators use to run finished forms application (False)
3. Application built using Oracle forms are portable to a variety of G U I and character mode platforms (True)
4. The items in a block can be arranged in any order on a form and can even be displayed in different windows (True)
5. When you create an object, its properties are automatically set to default settings (True)
6. The Visual View corresponds to the oracle forms object ownership hierarchy :form-black item (false)
7. Each window can have multiple canvas_views and there can be multiple items on a single canvas view (True)
8. Objects can be copied from one module to another, but cannot be moved from one module to another (True)
9. A canvas_view is owned by the window in which it is displayed (false)
10. Boilerplate objects are not named objects and they don’t appear in the object navigator (True)
11. Modules can be saved to the file system or the database (True)
12. The .PLL library file that you work with in the builder includes both the source code required at the design time and the compiled executable code required at runtime (True)
13. An objects named visual attribute setting can be changed programmatically (True)
14. A property class cannot itself be caused on a property class (True)
15. Once an object is based on a class, you cannot override the setting of any inherited property (False)
16. Any Change you make to the source object are inherited by the reference object when you open or regenerate the module that contains the reference object (True)
17. When you copy an object to another module by posting from the clipboard, all object associations are lost. (True)
18. When you reference an object you also reference any objects owned by the object (True)
19. The items in a block can be placed in different canvas view and cannot be displayed in different canvas windows (false)
20. All though the button palette is created at the same time as the base table block it is separate control block that is functionally independent of the base table block (True).
21. The scope of the trigger is defined by the object to which a trigger is attached (True)
22. Some triggers can be defined only at a particular definition level (True)
23. The text of an oracle forms trigger is a named PL/SQL block (False)
24. Restricted built-ins is illegal in triggers that fire in response to navigation (True)
25. Key Triggers have one to one relationships with specific keys (True)
26. At any given point of time only one item in the form has the input focus (True)
27. The undefined state of a check-box is valid only in enter query mode (True)
28. A Populate_List built in subprogram adds to the contents of the current list item, the values from a record group (False)
29. In order to populate a list item from a record group, the record group must have two columns with type CHAR (True)

30. Operations can navigate to display items or edit display item values.
31. You can define a master-detail relationship only at the time of creation of the detail block. (False)
32. To prevent operation from performing master less operations in the detail block of the relation you must set the prevent masterless operation property to true. (True)
33. An alert message can be changed programmatically at runtime by executing the SET_ALERT_PROPERTY built-in procedure. (True)
34. If one relation in a chain of related blocks is set to deferred coordination of all subsequent blocks will also be deferred. (True)
35. You can specify editor attributes such as window display size, position, and title for a default editor. (False)
36. You must assign atleast one canvas view to each window in a form (True)
37. You might create a window that displays two stacked canvas view, A H toolbar canvas view (False)
38. V Toolbars can be displayed along the left or the right side of a window (False)
39. If the operator or the application scrolls the window explicitly, oracle forms does allow the item that currently has input focus to be scrolled out of the view. (True)
40. Windows that do not contain navigable items must always be displayed programmatically. (True)
41. An LOV is a modal window. (True)
42. An LOV can be attached to one or more text items in the form (True)
43. A record group cannot be populated with an array of static values (False)
44. If the SELECT statement used to create a record group, the INTO clause establishes the relationship between the LOV and the return items but does not affect the definition of the resulting record group. (True)
45. You can set the optional LOV for validation property to have oracle forms validate the value of the text item against the values in the LOV. (True)
46. You cannot pass data parameters to forms.
47. Client memory can be conserved when displaying large image items by reducing the number of records that are buffered for the block by setting the buffered block property (True)
48. Global variables are not formally declared the way PL/SQL local variables are (True)
49. Global Variables can store CHAR,NUMBER, or DATE data types (False)
50. Libraries can also be attached to other libraries (True)
51. The default menu is form module (True)
52. You can se the PL/SQL menu item commands to execute operating system commands (True)
53. You can directly assign values to an Oracle forms object or use the copy built-in procedure (False)
54. Oracle forms support four types of special menu items, check, radio and separator and magic (True)
55. These can be more than one background menu in a menu module (False)
56. The initial date column in the record group used to populates a hierarchical tree determines the depth of the node in the true (false)
57. You can set the show play button and show record button properties to NO for a sound item control (false)
58. You can display total item, elapsed time and remaining time information for the sound data (true)
59. In-place activation is available for embedded objects, but it is not available for linked objects (true)
60. The built-in set-custom-item property is used to communicating with the Java components (True)
61. A non-Oracle foreign function cannot access Oracle database (True)

62. An operating system text file can be read using a FFI-function (True)
63. By Associating a PL/SQL subprogram with a foreign function you can invoke the foreign function (True)
64. You cannot invoke a foreign function using an user exit (False)
65. You can perform host language screen I/O from foreign functions (False)

Questions & Answers
1) Libraries are collect of Pl/SQL Procedures & Functions
2) The interface objects that display information to user and allow then to interact with your applications are items.
3) The block of PL/SQL code that you attach to a specific object, and that executes in response to a specific event is called Trigger.
4) Which of the following are interface items supported by Oracle forms OLE Container, Image Items and VBX controls
5) The started application functions performed by the built-in procedures and functions in Oracle Forms are navigation, commit processing, set object properties, and Get Object properties
6) The components of Oracle Forms used to built applications are Forms Designer, Forms Generator and forms run-time
7) Items are logically grouped using Blocks and are visually grouped canvas using views
8) User-Named Procedures, Functions or Packages are collectively known as Program Units
9) PL/SQL is the language used for both client side Oracle Forms applications and server side database triggers and database triggers and procedures.
10) The three types of module in Oracle forms applications are Forms, menus and Libraries.
11) Which of the following is part of the top-level nodes in the navigator
Built in Packages, Database Objects and Libraries
12) Which of the following would invoke a property palette
Tools>Properties, Double clicking the object icon, Double Clicking the item in the layout editor.
13) A list of values (LOV) is a Modal window
14) The tool where you enter and compile code object is PL/SQL editor
15) The symbol that indicates that a navigator entry is collapsed is a +(plus)
16) The Object Navigator provides a hierarchical display of the objects in all open modules.
17) You can toggle property palette synchronization on and off by clicking the freeze/unfreeze button on the property palette toolbar.
18) The Properties window is where you set the properties of objects you create in form and menu modules.
19) The Layout Editor is the graphical design facility for creating and arranging interface items and boilerplate text and graphics in form.
20) A window where you must either select an option or dismiss it before you can perform other operations is called a Model Window.
21) When an Object is inheriting from both A named visual attribute and Property Class
22) To undo changes that are being made to a module since the last time it was saved, select file -> revert
23) To attach a library to a form, menu or to another library, you need only ensure that the library has been compiled and it can be located in the default run times search path.
24) Which of the following can be inherited from a property class Navigation Properties.
25) The built-in procedure which can be used to set the properties of any type of items is set_relation_property

26) If an item is inheriting visual attributes from a property class setting those attributes in layout editor overrides the inherited settings.
27) When you create an application with multiple modules you must deliver all of the .FMX,MMX and .PLL files required for runtime deployment.
28) You attach a custom menu module to a form by setting the property Menu module form property.
29) The Visual Attribute is the separate object in a form or menu module that defines a collection of visual attribute properties.
30) You can specify whether you want modules to be saved to a loaded from the file system or the database by setting the Module access design preference.
31) The copy object options dialogue allows you to specify whether objects that are associated with the object being copied should also be copied.
32) A read only text box whose value must be fetched or assigned programmatically is a display item.
33) Buttons and chart items are control items, hybrid items.
34) Which of the following triggers may be created if you select the integrity constrain when you create a base table block when-validate-item or record and when-remove-record.
35) In the multiple record block the items displayed prorate of an item cannot be set greater than the blocks records displayed property setting.
36) If you copy reference objects, the resulting object is also a preference object.
37) There are two type of blocks base table and control table.
38) The DO-KEY built in tells Oracle forms to execute the key trigger define for the function key, or if no such trigger exists execute the built in subprogram directly.
39) Oracle Forms displays Multiple Instances of each item in a multi record block.
40) Setting the Sequence ID option can specify the Position of the new block in the default block navigation sequence.
41) Key-Next Item is not an internal processing unit.
42) When an event occurs that is within the scope of more than one trigger, the trigger with the lowest definition level takes precedence.
43) The When-Timer-Expired trigger can be defined only at the Form Level
44) A user named trigger can only be executed by calling it from within a Built in Trigger, Menu Item command and User named subprogram
45) The sequence in which the following triggers linked to a text item are fired the sequence is Pre-Text-Item, When-new-item-instance and Post-text-Item.
46) Interface events can be divided into External Interface events and Internal Processing events
47) To call a user named trigger, use the Execute-Trigger built in procedure.
48) Any built in subprogram that initiates navigation is called a restricted subprogram.
49) DDL commands can be issued in a forms application by calling the Forms-DDL built in procedure.
50) The master-detail triggers generated automatically by oracle forms when you define a master-detail relationship between blocks are on-check-delete master, on clear details and on popular details.
51) Radio group it displays a fixed numbers of options and the options are manually exclusive
52) DELETE_LIST_ELEMENT and CONVERT_OTHER_VALUE built-in’s can be used to delete elements from a list item.
53) Record Group is an internal Oracle forms data structure
54) Auto Skip, Secure and Format Mark properties are apply to single-line text items.
55) WHEN_LIST_ACTIVATED and WHEN_LIST_CHANGED triggers can be used to respond to interface events that occur when the operator manipulates a list item.
56) Oracle Forms supports two button styles. They are Text and Iconic

57) A Check box is a low state control that indicates whether a certain condition or value is on or off.
58) The check box other value property applies only to check box values fetched from the database or assigned programmatically at run time.
59) The various list styles available in oracle forms are poplist , textlist and combo box

60) You can specify that a text item accept only values that fall within a valid range by setting the range low and range high rate properties.
61) Isolated option for the master deletes property would allow the master record to be deleted and does not effect the associated detail records in the database.
62) When a coordination causing event occurs, Oracle Forms defers fetching the associated detail records until the operator navigates to the detail block, if the coordination properties deferred on auto query are set to True, False.
63) Either Deferred with auto query or Deferred with no auto query triggers are generated when the master deletes property is set to cascading.
64) SHOW_ALERT built-in subprogram is a function, it returns a numeric constant and it helps indicate which alert button the operator selected.
65) On-clear-details triggers are required for all master detail relations
66) The mechanism that oracle forms used to co-ordinate the population of the details block with the current record in the master block is the copy value from item.
67) An alert is a modal window that displays a message notifying the operator of some application condition.
68) The property of a relation which allows you to specify how the deletion of a record in the master block should affect records in the detail block is Master Deletes property.

69) The three kinds of alerts styles available in oracle forms are Stop, Caution and note.
70) Any event that makes a different record in the master block, the current record is a coordination causing event.
71) Windows which are free floating and can be moved by the operator outside the application window are called dialog window
72) You can replace a window’s current content view programmatically without hiding any stacked canvas-view in the window with the REPLACE_CONTENT_VIEW
73) SET_VIEW_PROPERTY and HIDE_VIEW procedures can be used to hide a view programmatically
74) During navigation Oracle forms raises the canvas-view only if the target item is hidden behind another canvas-view in the same window if Raise on Entry is false
75) Remove on Exit and V/H Scroll bar properties are not valid for a modal dialog window.
76) Canvas View are the background objects on which you place the interface items and boilerplate objects that operators interact with as they run your form.
77) The four types of canvas view are content, stacked, vertical and Horizontal toolbar
78) The MDI-Application window is created by the window manager at runtime, and does not appear in the forms list of windows.
79) To specify whether a modeless window should remain displayed when the operator navigates to another window you can set the remove on ext property.
80) You can designate a primary canvas view for a window by setting the optional view property.
81) An Item in the current form, A global variable and A from parameter qualify as on LOV return item
82) The built-in subprograms which can be used to display an LOV programmatically at runtime are LIST_VALUES and SHOW_LOV.
83) A record group whose structure and row values are defined of design time and remain fixed at runtime is a Static Record Group

84) ADD_GROUP_COLUMN built in subprogram cannot be used with a record group creates of design time.
85) GET_GROUP_ROW_COUNT built-in functions can be used to find the number of rows in a record group.
86) At runtime, Oracle forms displays the LAMP on the status line whenever an LOV is available.
87) LOV values are derived from an internal data structure called a Record Group.
88) Operators can use the LOV Auto Reduction and search features to locate a value in a list.
89) A hidden column is any column that was included in the LOV structure but whose value are not displayed in the LOV window.
90) To specify the record group columns, which are to be, included in the LOV structure you set the column mapping property.
91) To scale image that are larger than the image item border to fill within the image item set sizing style (adjust)
92) You can assign a value to the system variables are SYSTEM.MESSAGE_LEVEL and SYSTEM.SUPRESS_WORKING
93) Form bind variable like system and global variable are always outside the scope of Library modules
94) Attached libraries are read only
95) The field in the attach dialog used to attach libraries, which specifies where oracle forms should look for the library file (the database/file system/both form
96) Parameter list is a named programmatic construct that is simply a list of parameter names and their values.
97) A parameter you include in a parameter list can be either a text parameter or a date parameter.
98) The READ IMAGE-FILE built-in subprogram procedure can be used to get an image from the file system.
99) To destroy a global variable and release its memory, use erase built-in procedure
100) A built-in allows you to reuse code without having to entire it in multiple triggers
101) Menu Items name must follow the PL/SQL naming conventions.
102) The command type property for a menu item having submenus is Menu.
103) The built-in substitution parameters UN in Oracle forms stands for current User name.
104) You must explicitly invoke the enter parameter values dialog when you reference a substitution parameter in a PL/SQL type menu item command by calling the built-in APPLICATION_PARAMETER and QUERY_PARAMETER.
105) Which of the following built-in subprograms apply only to a full-screen menus BACKGROUND_MENU and SHOW_BLACKGROUND_MENU
106) Menudif.mmb is the menu module library file for the default menu that ships with oracle forms.
107) Menus can be created in Pull down, full screen and bar style display styles
108) The run-product built-in procedure can be called form a PL/SQL menu item command to invoke Oracle forms run form, Oracle reports Oracle graphics
109) In a menu module the value of an oracle forms object is determined using the name-in built-in function.
You can populate a hierarchical tree with values contained in A record group & query Text.
110) The order of the triggers are fired is When-Tree-Node-Select , When-Tree-Node-Activated.
111) The default format in which the sound item will be stored is WAVE
112) For a java bean to work with a form, the wrapper’s class definitations must extent the Vbean class
113) You an override any method by using Set Property & Get property
114) All the built-ins related to a Hierarchical tree are located in the FTREE built-in package
115) If you plan to store data in the database, reduce the effect on network performance by setting the Update change Columns property to yes for the second items block.
116) An ActiveX is stand alone software component that provides a user interface and sends events to clients all according to the standards defined by COM
117) Form builder displays the imported methods for ActiveX controls under the Program Units node in the object navigator
118) The Java Bean container sends events to the server via the custom listener, which follows the standard a not event mechanism.
119) Foreign functions can interact with Oracle Database & form variables
120) FFI does not support you to write programs with one of the languages(Basic)
121) To initialize a foreign function you cannot use on the function
ORA_FFI.PRAGMA_REFERENCE
122) The PRAGMA statement invokes foreign function by passing control to the memory location in forms builder that can communicate with DLL
123) The invoice foreign functions from a PL/SQL interface you should use API
124) Float type arguments should be converted to double
125) Foreign functions invoked from PL/SQL must be contained in DLL
126) The ORA_FFI package provides an foreign function for invoking c functions in dynamic library
127) Initializing a foreign functions identifies the dynamic libraries
128) Foreign functions are subprograms written in 3GL programming language
129) The three levels of the standard pull-down menu are main, individual and submenu.
131) Can an oracle forms fmx be moved from windows to unix
FMX files are operating system dependent. FMB's are not. So, you have to regenerate them whenever you change the OS or the Version of Developer 2000 etc.
132) How to suppress or customize the error messages in Oracle Forms
You can either set the message level using the system variable SYSTEM.MESSAGE_LEVEL or trap the errors using the ON-ERROR or ON-MESSAGE triggers.

133) How can I execute Operating System commands in Forms
You can use the HOST command to shell out to the operating system to run an executable, batch script or os command. you can also go about the hard way and implement it using dbms_pipe to a stored procedure that can execute an external procedure

134) why doesn't my Messages do not show on the screen?
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.
135) How can we iterate through items in a specified block?
Use the following code
Ship := TO_NUMBER(:System.Trigger_Record);
First_Record;

LOOP
-- do processing
IF (:System.Last_Record = 'TRUE') THEN
Go_Record(Ship);
EXIT;
ELSE
Next_Record;
END IF;
END LOOP
136) How can I create a custom tool bar?
Create a new block, let's name it "TOOLBAR" and a canvas named "C_TOOLBAR" (for illustration purposes). Put some iconic buttons on your canvas. Use the following properties for these buttons:

Enabled: True
Navigable: False
Mouse Navigate: False
Now set the "Canvas Type" in the canvas property palette to "Horizontal Toolbar" and the "Form
Horizontal Toolbar Canvas" in the module property palette to your canvas name (C_TOOLBAR in our case).

137) How can I minimise/maximise a window in forms?
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',WINDOW_STATE,MAXIMIZE);



138) What happened to the Sql menu from Forms V4.5?

From Forms V4.5, SQL*Menu is fully integrated into Oracle Forms. Application menus can be created by creating Menu Modules (*.MMB) and generate it to Menu Module Executables (*.MMX).

139) How can we issue DDL statements through forms?

DDL (Data Definition Language) commands like CREATE, DROP and ALTER are not directly supported from Forms because Forms are not suppose to manipulate the database structure.

A statement like CREATE TABLE My_table (Ship_id number); 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 my_table (ship_id NUMBER)'

140) How can I read/write OS files from forms?

OS files can be read/written from Forms using the TEXT_IO package in Forms. The TEXT_IO package has a datatype FILE_HANDLE. It also has procedures FCLOSE, GET_LINE, NEW_LINE, PUT, PUT_LINE & PUTF and
a function FOPEN. Example:

DECLARE
file1 TEXT_IO.FILE_TYPE;
file2 TEXT_IO.FILE_TYPE;
str VARCHAR2(80);
BEGIN
file1 := TEXT_IO.FOPEN ( 'input.txt','r' );
file2 := TEXT_IO.FOPEN( 'output.txt', 'w' );
TEXT_IO.GET_LINE( file1, str );
TEXT_IO.PUT_LINE( file2, str );
TEXT_IO.FCLOSE( file1 );
TEXT_IO.FCLOSE( file2 );
END;

141) What should I do when Forms does not allow me to use restricted built-in's?

1. Create a TIMER at the point where you want the navigation to occur. Eg. create_timer('TIMER_Y', 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_y' THEN
Go_Item('ITEM_y');
END IF;
END;

142) Can I execute dynamic SQL from Forms?

Use the FORMS_DDL built-in or call the DBMS_SQL database package from Forms.

Ex: FORMS_DDL('INSERT INTO Y VALUES (' col_list ')');
Just note that FORMS_DDL will force an implicit COMMIT and may de-synchronize the Oracle Forms
COMMIT mechanism.

143) How can I generate all my forms in a batch?

@echo off
@echo. +----------------------------------------------------------
@echo. FMXGNALL.BAT
@echo. +----------------------------------------------------------
@echo.
@echo. Create runtime FMXs from source FMBs
@echo. Will convert ALL of the fmbs in the current direcotry
@echo. Usage : FMXALL.BAT username/password@connect string
@echo.
@echo. +----------------------------------------------------------
@echo.
@echo. Username/Password@connect_string = %1
@echo.

IF %1 == "" GOTO END

@echo Removing old FMX files
del *.fmx

@echo Creating the new FMX files
rem Change f45gen32 to f45gen if in 16 bit environment.
FOR %%F in (*.fmb) DO start /w f45gen32 userid=%1 batch=y module=%%F

@echo.
@echo Done!!! Remember to move the FMX files into your runtime directory.
@echo.

:END

144) How can I run a form on Unix?

You need to design your form on your workstation. FTP or copy the Forms's FMB file to the Unix box. If you generate for a terminal environment (character based), the syntax is:

f45gen USERID=userid/passwd@db_name MODULE_TYPE=FORM MODULE=module_name

If you want to generate a Library file, replace FORM with LIBRARY. Use f45genm to generate your form in a Motif environment.

Use the "f45run" command to run your form.


145) How can I change the mouse pointer in forms?

The SET_APPLICATION_PROPERTY build-in in Oracle Forms allow you to change the mouse pointer.

Ex: SET_APPLICATION_PROPERTY(CURSOR_STYLE, BUSY);




146) Can you tell me a more easier way to put repeating frame around some fields?

You have two options. First, you can place the new repeating frame in the correct place and then use the techniques shown above in the "I moved this field but am still getting a frequency error" to reassign the fields into the new frame. There is also a second choice (which can also be used as a solution to the above). Go ahead and draw the new frame around the fields you want to have placed in it. Now if you try to click on one of the fields you will not be able to as they are fully covered by the new frame. Now go to the "Arrange" menu. You will find the options Send to back, bring to front, move forwards, move backwards. These are used to alter an object position in the Reports layer ordering. You use the "send backwards" option to move the frame backwards until all of the fields have popped to the front and are now enclosed in it. Oracle reassigns the new repeating frame as each object's parent as they pop to the front.

Note that you can only move an object back and forth amongst it's siblings. You cannot set it back below it's parent, nor in front of it's children. This means that once an object has popped to the front and had a reassignment of parent, you cannot move it back using these tools.

147) what is a schema?
It is a logical grouping of database objects based on the user that owns the object.


REPORTS

1. Though I set the page size to 11x8.5, but the printer still prints in portrait?

There is another variable in the system parameters section under the data model in the object navigator called orientation. This sets the printer orientation. Oracle starts by setting it to "default" which means that no matter how you set the page size, the user's default printer setup will be used. You can also set it to either "Landscape" or "Portrait" to force the printer orientation no matter what the user has set as default.

2. Though I moved a field into that repeating frame, but I'm still getting a "frequency below it's group" error?

Moving fields around does not change what enclosing object is considered it's parent group. Oracle carefully remembers what repeating frame a field was originally placed in and assigns that as it's parent. If you then reference a column further down the line of the query structure it will return that error. If you are not exactly sure which repeating frame a field belongs to, try dragging it out of all of them. Whichever frame will not allow it to escape is it's parent. To change a field's parent, first click on the lock button on the speed button bar. It should now look like an unlocked padlock. Now all of the fields on the layout can be repositioned regardless of their original parent items. When you are satisfied with the repositioning click the lock button again to lock the layout. Oracle will parse the layout and assumes that any item fully enclosed in a repeating frame is a child object of that frame. This can be confirmed again by trying to drag an object out of it's parent. (Cntrl - Z or edit..undo will put it back where it came from) Sometimes, for unknown and mysterious reasons, this method does not work. The alternative in this case is to highlight the field (or fields), cut it (cntrl-x), and then paste it into the desired frame. The paste does not initially set it into the right frame, but if you drag and drop it there before clicking on any other objects, and then click on something else, Oracle will usually figure what your intent was and assign the object(s) as a child of that frame. This is my preferred method of changing a field's parent as it works much more consistently then the unlock/lock method. One note though, if you are reassigning a group of fields, make sure the frame you are going to move them into is large enough to accept the whole group at once before you do the cut/paste. If you do the paste and then try to grow the frame to fit, you will have to cut and paste again. Once you de-select an object that has just been pasted, Oracle will assign it as a child of whatever it is in at the time. If this technique also fails, you are probably going to have to delete and then recreate the objects within the desired frame. If the object has triggers attached, save yourself some typing by creating the new object in the right frame, copying over the trigger code, and then deleting the old object .

3. Only a part of the row goes to the next page and not all of it, Why is it so?

This is due to the way the scan works when Oracle is parsing the layout. If the tops of all the fields in a row are aligned and the fields are all of the same height and font, they should all stay together. I suspect, however, that Reports bases it's decision on the printed size rather than the field size you define to determine which objects are too large and must be shifted to the next page. This means that even if you set two fields top-aligned with the same height and font but one of them is bolded, the bolded field could get shifted to the next page due to it's bigger footprint. The solution is to put the whole row into a regular frame which is page protected .

4. What does the 'Print condition' do?

The print condition types First, All, All but first, Last, All but last refer to the frequency with which you want to appear based upon the setting of the print condition object. A print condition object of Enclosing Object is whichever object encloses the current object (could be the parent or a frame within the parent), while Anchoring Object is the parent object (unless you have explicitly anchored the object in which case it is the object to which it is anchored). The key here is that this is about the pages on which the Print Condition Object appears, not the current object. Oracle views First as the first page on which any part of the Print Condition Object is printed, likewise Last is the last page on which any part of the Print Condition Object is printed. For objects inside a repeating frame, this condition is re-evaluated for each instance of the frame

5. Can I highlight and change all the format masks and print conditions of a bunch of fields all at once?

You can. If you highlight a bunch of objects and then right click and select "properties..", Oracle gives you a stacked set of the individual properties forms for each of the selected objects. While this may be useful for some things, it requires changing values individually for each object. However, instead you can select the group of fields and then select "Common properties" from the "Tools" menu which will allow you to set the format mask , print conditions etc. for the whole set of objects at once.

6. How do I change the printed value of a field at runtime?

Triggers are intended to simply provide a true or false return value to determine whether an object should be printed. It is generally not allowed to change any values held in the cursor, make changes to the database, or change the value of it's objects value. That being said, there is a highly unpublicized method of doing just that using the SRW.Set_Field_Char procedure. The syntax is SRW.Set_Field_char(0,) and the output of the object that the current trigger is attached to will be replaced by . There are also SRW.set_fileld_num, and SRW.set_field_date for numeric or date fields. While these options do work, they should only be used if a suitable NVL or DECODE statement in the original query is not possible as they are much, much slower to run. Also, note that this change of value only applies to the formatted output. It does not change the value held in the cursor and so can not be used for evaluating summary totals.

7. The data modal defines only data and its hierarchy (True)

8. Oracle reports create one database column for each column/expression in the select list of a query (True)

9. You cannot create your own columns to perform computations (false)

10. Master / detail data models are very similar to break report data models (True)

11. Queries are generally linked via a common column (True)

12. Oracle reports window displays report output is Previews

13. A layout editor used fasten edge of one object to an edge of another object ensuring that they maintain their relative position is a Anchor

14. Product control break report, Product matrix reports, Summarize data at intermediate levels

15. A column whose value you set via formula columns is Placeholder column

16. The system parameter which refers to the type of device to which to send the report output is DESTYPE

17. External Queries, PL/SQL Libraries and Reports are three types of modules in Oracle reports

18. A data module object used to define a master/detail relationship between a group and a query is called a data link.

19. The file extension .rdf stands for Report definition file

20. There are two types of parameters system and user-created

21. A Break report data model is created using one-query and at least two groups.

22. Repeated frames can enclose, or surround, and layout object, excluding other repeating frames (false)

23. Frames do not have print direction, as do repeating frames (True)

24. You cannot create additional default layouts without disturbing the existing one in the layout editors

25. Oracle reports supplies six default tabular layout styles (True)

26. Using a user-created group filter rather than a packaged filter allows you to parameterize your cutoff values (true)

27. Movement of a frame or repeating moves all objects enclosed in it, this can be overridden by switching off confine mode

28. A filter created by writing Pl/SQL code for the condition is called last filter

29. A matrix report must have at least 4 groups

30. Any processing that will affect the data retrieved by the report should be performed in which of the following triggers After form

31. SRW is an oracle reports package

32. Repeating frames print once for each record of a group and control record-level-formatting

33. Flex mode determines whether the parent object pushes to accommodate any child object being moved within it either vertically or horizontally to expand or shrink.

34. Anchors determines the relative positioning of all objects in the report output

35. There are two types of anchors Implicit and explicit anchors

36. A group filter allows you to choose which record you want to process for on group in the data model.

37. How many types of columns are there and what are they
Formula columns : For doing mathematical calculations and returning one value
Summary Columns : For doing summary calculations such as summations etc.
Place holder Columns : These columns are useful for storing the value in a variable

38. Can u have more than one layout in report
It is possible to have more than one layout in a report by using the additional layout option in the layout editor.

Can u run the report with out a parameter form

Yes it is possible to run the report without parameter form by setting the PARAM value to Null

39. What is the lock option in reports layout
By using the lock option we cannot move the fields in the layout editor outside the frame. This is useful for maintaining the fields.

40. What is Flex
Flex is the property of moving the related fields together by setting the flex property on
How to register a report?
a) Register concurrent à Program à executable
b) Register concurrent à program à Define
c) Attach it to appropriate request group security à responsibility à Request
d) FTP RDF in respective top/report/US

2. How to CREATE a VALUE SET? What are the different types of value sets?
Enter Application à Validation à Set
Types of value set
a) Independent
b) Dependent
c) Table
d) Pair
e) SPECIAL DELIVERY translate dependent
f) Translatable independent

3. Name few types of execution method in concurrent program executable
a) Oracle reports
b) Sql * Plus
c) Host
d) Java stored procedure
e) Pl/sql stored procedure
f) SQL * Loader
g) Spawned
h) Java CCP
i) Multilanguage function
j) Immediate
k) Request set stage function

4. How to register a form?
a) Define Application à form
b) Define Application à function à give link to form defined in step I
c) Go to Application à menu à Attach function to menu
d) FTP from to AU_TOP, generate it and copy to respective TOP

5. What are the steps to develp a form>
a) Copy appstand.fmh, Template.FMB, required pll in local directory
b) Change the registry for pll path. Save template.fmb as the new form name from name and start developing the form
c) FTP form in AU_TOP and generate fmb using f60gen and copy.fmx in respective top/forms/us directory

6. what is the use of custom.pll?
Custom.pll is used for customizations such as form, enforcing business riles and disabling fields that are not required for site without modifying standard apps forms.

7. How to PROGRAMATICALLY submit the request?
a) with the help of standard API
Find_Request. Submit_request
8. What is request set?
With the help of request set we can submit several requests together using multiple execution paths. Its collection of concurrent programs like reports procedures grouped together.

9. What are user exists in reports? What are user exist available in apps?
a) A user exit is a program written and then linked in to the report builder executable user exist are written when content need to be passed from report builder to that pgm, which performs some function and then returns control to report builder.
1. FND SRWINIT, FND SRWEXIT, FND FORMAT_CURRENCY, FND FLEXIDVAL, FND FLEXSQL.
10 What is the API used for file I/o operation ? or which API is used to write to request log and request output?
a) fnd_file.put_line (Fnd_file.log, ‘message’);
b) fnd_file.put_line (fnd_file.out. ‘message’);

11. how do I programmatically capture application user_id?
Fnd_profile.value (‘user_id’) or fnd_global.user_id.

12. what are flexfields?
A flexfield is a field made up of segments . each segment has a name and a set of valid values. There are two types of ff’s: key ff, DFF

13. Which are the 2 parameters required to be defined when a program is registered as pl/sql stored procedure
ERRBUF, RETCODE

14. can we register executable/concurrent program programmatically then how?
Yes we can. It can be done with standard package fnd_program, fnd_program.executable, fnd_program.register.

15. what changes need to be made if a setup is changed from a single org to multi org?
Org_id should be added as a parameter in a report and report should be run for specific org_id only

16. What are sub functions? How is it different from from?
A sub function is a securable subset of a forms functionally
a) forms appear in a navigator window and can be navigated to sub functions do not appear in the navigator window and cant be navigated to
b) forms can exist on this own sub functions can only be called by ____ embodied within a form, they cant exist on their own

17. what is message dictionary?
Message dictionary allows defining messages which can be used in application without hard coding them into forms or programs.

18. What is the token in concurrent à program à parameters window?
For a parameter in an oracle report program, they keyword is parameter specified here. The value is case sensitive for example P_CUSTOMER_NO

19. What are different validation defaults types and default value in current à program à parameter window?
a) constant
b) profile
c) SQL statement
d) Segment

20 I have a concurrent program that involves lot of inserts and updates on a huge basis where do I specify rollback segment etc
concurrent à program à session control

21. How do I change the priority of my concurrent program?
Log on as system admin concurrent à program à program à priority, enter numerical value in this field so it will take the request which has higher priority.

22. What is incompatibility?
When a program or list of programs is defined as incompatible means that defined program is not compatible with incompatible program list and cant run simultaneously in same conflict domain.

23. What is data group?
A data group defines the mapping b/w oracle applications and oracle ID’s. A data group determines oracle database accounts a responsibilities forms, concurrent programs, and reports connect to




SQL /DATABASE
1. What is the difference b/w subquery and correlated subquery?
a) In a normal subquery, the inner query is executed first and then the result are passed off to the parent query.
b) In a correlated subquery, the outer query is executed first and process each row, the subquery is using. The info supplies by the result of the outer query.

2. How to delete duplicate rows from a table?
Delete test t1 where rowed< (Select max(rowed) from test t2 where t2.col1 = t1.col and t2.col2 = t1.col1.

3. what are the types of database triggers?
Ro. Total no of database triggers are 12. They are
a) Row level : once for every row affected by the triggering statement such as a trigger fired by an update statement that updates many rows.
b) Statement level : once for the triggering statement, no matters be many rows it affects.
c) Before : before triggering statement is executed.
d) After: After triggering statement is executed.
e) Instead of : triggers provider a transparent way of modifying that cant be modified through DML statement.

4. what is mutating error on a table?
It happens when a trigger on a table tries to insert, update or ever select the table of where trigger is being executed.

5. What is synonym? What is view?
A synonym is an alias for any table, sequence, procedure function or package. It requires no storage other than its definitions in the data dictionary.
A view is stored query, from one or more tables.

6. What is database link?
A database link is a pointer that defines a one_way communication path from an oracle database server to another database server

7. What is a dynamic SQL?
DDL statement can’t be used within PL/SQL using “Execute Immediate”

8. What are set operator?
Set operators combine the result of two component queries into a single result queries containing set operator are called components queries
UNION : all rows selected by either query
UNION ALL : All rows selected by either query, including all duplicate
INTERSECT : All distinct rows selected by both queries
MINUS : All distinct rows selected by the first query but not the second.

9, What is savepoint?
Savepoint are intermediate markers within the context of a transaction savepoint divide a long transaction into smaller parts we then have to option later of rolling back work performed before the current point in the transaction but after a declared savepoint within the transaction.

10. What are the benefits of using package? Name few oracle supplied package
An entire package is loaded into memory when a procedure within the package is called for the first time. This load is completed in one operation, as opposed to the separate loads required for stand alone procedure. A package body can be replaced and recompiled without affecting the specification. Definition of procedure/variable can be private or public. For example I have 5 procedure out of 3 procedures can be used by a DBMS_SQL, DBMS_JOB, UTL_FILE.

11. What is deadlock?
A deadlock can occur when two or more user are waiting for data locked by each other. Deadlocks prevent some transactions from continuing to work.



REPORTS

1. What is bind variable and lexical variable?
Bind variable in report are parameters that are referenced with a colon in front of them, for example, :P_customer_no. This is considered a Bind reference. If you reference the same parameter proceeded by an ampersand, as & p_customer_no. Then its considered to be a lexical reference. A bind paramerter can only contain one value, while a lexical parameter can replace an entire clause example order by where clause.

2. What is the use of n anchor in the report?
Anchors are used for determining the vertical and horizontal positioning of a child object relative to its parent.

3. What is placeholder column?
Placeholder column datatype and a value can be set in PL/SQL like reports triggers or formula column.

4. What is a data link?
Data link relate the results of multiple queries. A data link causes the child query to be executed once for instance of its parent group.

5. What are the report triggers?
a) Report triggers execute at specific times during the execution and formatting of your report
b) After parameter from trigger
c) After report trigger
d) Before parameter form trigger
e) Before report trigger
f) Between pages trigger.

6. What is the validation trigger in report parameters property
Validation triggers are executed when parameter values are specified on the command line and when u accept the runtime parameter form. This is used for validating parameter foe example “Todate” can’t be earlier than “from date” etc.

7. What is confine mode?
In layout model if confine mode is on child objects can’t be moved outside their enclosing parent object and when it is off child object can be moved outside their enclosing parent objects. Toolbar it shows locks symbol.

8. What is flex mode?
In layout model when it is on parent borders “stretch” when child object are moved against them. And when it is off parent borders remain fixed when child object are moved against them.


FORMS

1. What are alert in D2k forms?
An alert is a model window that displays a message notifying of some application condition. For example, do you want to save changes? Are you sure u want to exit? Or customer name can’t be bland ….

2. What is property class?
A property class is an object that contains a list of properties and their settings. Other objects can be based on property class. An object based on a property class can inherit the setting of any property in the class that makes sense for that object.

3. What is the difference b/w property class and visual attribute?
Visual attributes only for the visual properties of the item like font, color, whereas property class is for all the possible properties of objects.

4. What is an LOV?
LOV is a scrollable popup window that provides the use with selection list.

5. What are record groups and what are its types?
a) A record group is an internal form builder data structure that has a column/row framework similar to a database table.
b) Query record group – associated select statement
c) Non query Record group – doesn’t have query but can be changed programmatically.
d) Static record group – cant be changed programmatically.


6. What is restricted built_ins?
Any built_ins 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 build_ins are not allowed in trigger that fire in response to internal navigation.

7. What are categories of trigger?
a) block – processing triggers. Related to record mgmt in a block eg: when clear block.
b) Interface event triggers : interface event triggers fire in response to events that occur in the form interface eg: when button pressed. When checkbox changed.
c) Master_detail triggers : from builder generates master/detail triggers automatically when a master/detail relation is defined b/w blocks. This is to enforce co-ordination b/w 2 blocks. For example, on clear details.
d) Message handling triggers : message handling triggers fire in response to default messaging events. To trap or recover an error. Eg on_error, on_message
e) Navigational triggers : navigational triggers fire in response to navigational events. For instance clicking on a text item from another block eg: pre block, post text item, when new item instance.
f) Query_item trigger : Eg; pre query and post query
g) Transactional triggers : Fire in response to events that occur as a form interacts with the database. Eg: on_delete, pre_commit
h) Validation trigger : when form validated data in item or record e: when validate item.

8. What is the sequence of events fired while cursor moves from an item from i1st block to an item in 2nd block?
When validate item of that item A
Post_text_item of A
When validate record
Post record
Post block
Pre block
Pre record
Pre text item
When_new_block_instance
When_new_Record_Instance
When_new_item_instance
9. what are types of canvas?
a) Content : The default specifies that the canvas should occupy the entire content area of the window to which it is assigned.
b) Stacked : Specifies that the canvas should be displayed in its window at the same time as the window’s content canvas. They are usually displayed programmatically and overlay some portion of the content view displayed in the same window
c) Vertical toolbar canvas : specifies that the canvas should be displayed as a vertical toolbar under the menu bar of the window.
d) Horizontal toolbar canvas : specifies that the canvas should be displayed as a horizontal toolbar at the left side of the window to which it is assigned.


10. How do I attach menu to a form?
Form à properties à functional à menu source à File
Forms à Properties à functional à menu module à name of menu (main menu

1. What are 2 types of data blocks object?
a) Data blocks : data blocks are associated with data within a database. Data blocks can be based on database table, views, procedure or transactional triggers.
b) Control blocks : in contrast a control block is not associated with the database and the item in or control block do not relate to table columns within a database.

2. How do I dynamically change the title of window?
a) set_window_property built-in

3. Name few system variables in forms?
A system variable is a form builder variable that keeps track of an internal form builder state. For example, system.Block_status, system, mode, system.from_status.


1. How to attach reports in oracle application?
The steps are as follows:
a) Design you report
b) Generate the executable file of the report.
c) Move the executable as well as source file to the appropriate products folder.
d) Register the report as concurrent executable
e) Define the concurrent program for the executable registered
f) Add the concurrent program to the request group of the responsibility

2. What are different report triggers and what is their firing sequence?
There are fiver report trigger:
a) Before report
b) After report
c) Before parameter form
d) After parameter form
e) Between pages
The firing sequence for report trigger is
Before parameter form – After parameter form – before report – between pages – after report.

3. What is the use of cursors in PL/SQL? What is REF Cursor?
The cursor is used to handle multiple row query in PL/SQL. Oracle uses implicit cursors to handle its queries. Oracle uses unnamed memory spaces to store data used in implicit cursors, with REF cursors you can define a cursor variable, which will point to that memory space and can be used like pointers in our 3GL’s

4. What is record group?
Record group are used with LOV’s to hold SQL query for your list of values. The record group can contain static data as well it can access dates from database tables through sql queries
________________________________________________________________________

1. What is flexfield? What are DFF& KFF?
In oracle application field made up of segments each segment has Assigned name and a set of valid values .oracle application uses flexfield to capture into about your organization

2. What are Autonomous Transaction? Give Scenario where you have used Autonomous transaction In your report ?
An Autonomous transaction is an independent transaction started by another transaction , the main transaction ,Autonomous transaction lets you suspend the main transaction do SQL operations ,commit or rollback those operation then resume the main transaction Once started an autonomous transaction fully independent .It shares no locks ,resources .or commit dependencies with the main transaction so ,you can log events increment retry counters ,and soon even if the main transaction rolls back More important, Autonomous transaction help you build modules reusable software component . for example Stored procedures can start and finish autonomous transaction there own .A calling application need not know about a procedures autonomous operations, and the procedures need not know about the application transaction content.
Scenario: you can use autonomous transaction in your report for writing error message in your database table.

3. What is the use of trigger in the form?
Triggers are used in forms for event handling u can write PL/SQL code in trigger to respond to a particular event occurred in your forms like when user presses a button or when he commits the form
The different types to triggers available I forms are
a)Key Trigger
b)Navigational Trigger
c)Transaction triggers
d)Message Triggers
e)Error triggers
f)Query triggers

4. What is the use of temp table and interface table ?
Temporary table are used in I/F programs to hold the intermediate data. The data is loaded into temporary first and then after validation through the PL/SQL program, the data is loaded into the interface table

5. What are the steps to register concurrent program in APPS?
The steps to register the concurrent prom in APPS are follows
a)Register the prom as concurrent prom for the executable
b) Define the concurrent prom for the executable registered
C)Add the concurrent program to the request group of the responsibilities

6. How to pass parameters to a report ? Do you have to register them with AOL?
U can define parameters in the define concurrent prom form there is no need to register the parameters with AOL .But you may have to register the value sets for those parameters
Do you have to register feeder program of interface to AOL?
Yes, U have to register the feeder program as concurrent prom to APPS

7. What are the forms customization steps
Steps are as follows
a)Copy the “Template fmb”1 and “Appstand.fmb” from AU_top/Forms/us. Put it in custom directory .
the Libraries(FNDSQF,APPCORE,APPDAYPK,GLOBE,CUSTOM,JE,JA,VERT)are automatically attached
b)Create/open new forms .then customise
c)save this form in corresponding module.

8. How to use flexfield In report?
There are two ways to use flexfield in reports one is to use the views(table name+`_kfv`or `_dfv`) created by apps, and use the concatenated segment column that holds the concatenated segments of the key or descriptive flexfield
(or)
To use the FND user exits provided by apps

9. what is KFF, DFF?
KFF : # unique identifiers, storing key into # used for entering and displaying key into
For example oracle general uses a KFF called Accounting flex field to uniquely identify a general account.
DFF : # to capture additional info # to provide expansion space on your form with the help of []. [] represents DFF

10 Difference b/w KFF and DFF

KFF
DFF
Unique identifiers
To capture extra info
KFF are stored in segments
Stored in attributes
For KFF there are FF qualifier and segment qualifiers
Context_sensitive ff is a feature of dff. (DFF)

_______________________________________________________________________

1. Will you attach reports in apps?
2. How will you attach forms in apps?
3. what is the use of token in reports?
4, what are various execution methods in reports?
5. How will you get set of books id dynamically in reports?
By using profile option called GL_SET_Of_Books_id
6. How will u capture AFF in reports?
By using user exits
7. What are dynamic insertion?
8. What is code combination Id?
9. Custom.Pll various events in custom.PLL
Zoom_available, custom.standard, Custom.event.
10. When u defined concurrent program u defined in compatibilities
what is the meaning of incompatibilities
simultaneously cant allow running programs
11. What is hierarchy of multi_org?
Business groups à sob à le à operating unit à inv organisation

12. What is difference b/w org_id, organisation_ID
ORG_ID is an operatin unit
Organisation_ID is inventory organisation.

13. What are profile options?
Defines the way application behaves ( more than 200 types)
14. Value set. And validation types
value set define suitable values for your segments
table, none, dependent, independent, special, pair
15. What is flexfield qualifiers?
Additional properties for your segment
16. What is your structure of AFF?
17. How will u enable DFF?
18. How many segments are in AFF?
Minimum, maximum
19. What are user exits?
20. When u defined CCP there is one checkbox use in SRS what is meaning of this suppose I do now want to call report through SRS how will I call report then?
SRS:= (Standard Request submission)
21. What is difference b/w request group and data group?
Request group : group is set of CCP and request sets
Data Group : integrates all your oracle apps modules

22. What is meaning of $flex $dollar
using this we call a value set with another value set.

_______________________________________________________________________

TRIGGERS: is a Stored Procedure that is fired when a DML operation is performed.
Types: before, after, for each row, for each statement
Instead of Triggers: This trigger is defined on a view rather than on a table.

INDEX: It is a database object used to improve the performance of data retrieval.

VIEW: It is a virtual table based on the actual table.

PACKAGE: is a PL/SQL construct that allows related objects to be stored together. Contains package specification and body. Ex: DBMS_SQL, DBMS_JOBS

FUNCTION: is a object that takes one or more arguments and returns only one value.

PROCEDURES: Can return more than one parameters. Function always returns one value whereas procedure may or may not return a value.

TYPES OF BLOCKS: 1.Anonymous 2.Named 3.Subprograms (Procedures, Functions) 4.Triggers

TYPES OF TRIGGERS:

Insert --- - Before - -- each row
Update ------ After ---
Delete --- _ - -- statement level

PURITY LEVEL: What data structure the function can read or modify is based on purity level.
WNDS -> No Database State WNPS -> Write no package State

DELETE DUPLICATE ROWS: Delete from emp where rowid not in (select max(rowid) from emp group by empno);

EXCEPTIONS: is an identifier in PL/SQL that is raised during the execution of block that terminates its main body of actions 1.Oracle error occurs 2.User defined error

PREDEFINED EXCEPTION: 1.NO_DATA_FOUND 2.TOO_MANY_ROWS 3.INVALID_CURSOR 4.ZERO_DEVIDE
Function for trapping the user defined exception: sqlcode & sqlerrm

USERDEFINED EXCEPTION: sql%notfound, Raise exception

If SQL%NOTFOUND THEN
RAISE APPLICATION_ERROR('Not Valid');
END IF;

PL/SQL CURSOR: Two types 1.Implicit 2.Explisit
In order to execution of sql statement Oracle will allocate some memory area called as context area.
Cursor is pointer to this context area.
Cursor Attributes:
%ISOPEN %ROWCOUNT %FOUND %NOTFOUND


DIFFERENCE BETWEEN %TYPW AND %ROWTYPE:

%TYPE provides datatype of variable or a database column to that variable.
%ROWTYPE provides record type that represents an entire row of a table or view or column selected in the cursor.

PRAGMA: Tells the compiler to associate an exception with an Oracle error.

NORMALIZATION: is the process of removing redundant data from relational tables by splitting it to smaller tanbles.

DATAGROUP: is a collection of modules which can integrate with each other through transfer reference and reporting data.

SELF JOIN: Join the table with itself.

EQUI JOIN: Joining two tables by equating two common columns.

NONEQUI JOIN: Joining two tables by NOT equating two common columns.

OUTER JOIN: Joining 2 tables so that the query can retrieve rows that do not have corresponding join value in the other table. (+ is included in the join)

SUBQUERIES: is a query who's return values are used in filtering condition of the main query.

CORRELATED SUBQUERIES: is a query that has the reference to the main query.

INSTR: Returns the n th position.

SUBSTTR: returns character.

CARTESIAN: results from fault query, it is a row in the result.

BIND VARIABLES: are variables to which we can pass data at runtime either character or number.

COMPOSITE DATATYPES: are Table/record/nested table/varray also known as collections. And has internal components that can be manipulated individually.

APPLICTIONS

CONCURRENT MANAGER: 4 Types
1.Internal Manager 2.Standard Manager 3.Conflict Resolution Manager 4.Specialized concurrent Manager.

BACKEND: FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROGRAM

FND_PROGRAM_REGISTER:
---------------------
Application Program: Application
Executable name: Name of the registered Executable
Executable Application: Name of the app where executable ins registered.

FND_PROGRAM_EXECUTABLE:
-----------------------
Executable Name: Name of the executable.
Application: Name of the executable application.
Short Name: Short name of the exe
Execution Method: 'Flex Rpt' 'Flex SQL' 'Host' 'Immediate' 'Oracle Reports' 'PL/SQL stored procedure' 'Sql*loader' 'Sql*Plus' 'Sql*report'
Execution File Name: Regd. for all but immediate prog.

FND_REQUEST.SUBMIT_REQUEST
---------------------------
Name: Submit Request
Application: Short name for the application under which the program is registered.
Program: Concurrent program name for which the request has to be submitted.


REGISTERING TABLE: AD_DD.REGISTER_TABLE
AD_DD.REGISTER_COLUMN

CONCURRENT MANAGER: runs concurrent process allowing multiple tasks simultaneously.

CONCURRENT PROCESS: runs simultaneously with other tasks to help complete multiple tasks at once without interruption.

GENERAL AIM: AIM 10, 20, 30, 40 -> DBA

AIM 50 -> Automatic column mapping
AIM 60 -> Manual column mapping
AIM 70 -> Default values, data assignments to be included.
AIM 80 -> Unit Testing & results of UAT
AIM 90 -> Coding

IF -> Interface, RD -> Requirement Definitions, BR -> Business requirement,
MD -> Module Design, CV -> Conversion

PROCESSING CONSTRAINTS: Restricting particular responsibility on an entered information.

PROFILE LEVEL: 1.Site 2.Application 3.User 4.Responsibility

KEY FLEX FIELDS: A flexible data field made up of segments, each segment has a name we define and a set of values that we specify.

DESCRIPTIVE FLEX FIELD: A flexfield that our organization can customize to capture additional information regd. by our business.


CV 10 -> Define Conversion Scope, objectives and approach
CV 20 -> Prepare Conversion Strategy
CV 30 -> Prepare Conversion Standards
CV 40 -> Prepare Conversion Statements
CV 50 -> Perform Conversion Data Mapping
CV 60 -> Define Manual Conversion Strategy
CV 70 -> Design Conversion Programs
CV 80 -> Prepare Conversion Test Plans
CV 90 -> Develop Conversion Program
CV 100 -> Perform Conversion Unit Test
CV 110 -> Perform Conversion business objects Tests
CV 120 -> Perform Conversion Integration Tests
CV 130 -> Install Conversion Software
CV 140 -> Convert & Verify Data


FORMS

Registering Forms:
We Take Template from .fmb table from AV_TOP/11.50/Forms/us
CHANGE THE RESPONSIBILITY TO Application Developer
Goto Application-Register-Register it
Goto Application -Function Give
Function User Function Give
Click on Form Tab.
Function Form Application
Than goto Application- menu & give submenu function description.
Change responsibility to
Security- Define -User
GLOBAL VARIABLE in forms is declared in when new forms instance
Trigger for LOV in forms : Key-list-value
FORM MODULES : 4 types- 1)Alerts 2)Form Modules 3)Menu modules 4) PL/SQL libraries
Order of TRIGGER FIRING : When new form instance pre-form, when-new-block-instance, when new item interface post form
OBJECT LIBRARY : can be used to store function, procedure, package.
ATTACHED LIBRARY : is used to avoid any change in source code
FORMS IN GL :
FNDFFMDC-Descriptive Flexfield segment
GLXSTBKS-Set of books
GLXSTCAL-Accounting calendar
Alert is a model window which has predefined manager


REPORTS
3 types of Reports-SQL,RDF,RXI
2 Parameters in the reports - 1)user (Lexical, Bind) 2) system
LEXICAL PARAMETERS: Are always Characters type used with the where clause used to facilitate the range parameters i.e., if the wishes to se a list of invoices between two given dates.
DECODE : To Achieve dynamic column order or column constant, we use decode statement in reports
FORMAT TRIGGER/ANCHOR : Allows a developer to show or hide objects using PL/SQL I the simplest form a trigger can be placed on certain columns to show or hide based on user parameters
If two reports differ by say one col the decode statement con be used to consolidate these two reports into one
TOKEN :For user parameters we define a token

REPORT REGISTRATION :
CUS_TOP/REPORTS?US-Object script
GOTO Application Developer
Concurrent -Define Executable.
Give Execution Method -Oracle Reports
Executio filename
THEN goto PROM
Attach the executable to the Application
Click on parameters window
Give seq.parameters & Token
Types of Reports generated-HTML,PCL,PDF
post script, Text& HTML.
CUSTOM REPORTS : Made use of PRIS(Property records information system)which is PACE existing Asset accounting system .An ASCII file will be extracted from PRIS balance after all the month end processing is done for the business period prior to conversion. All the data will be extracted from the legacy source file to load into oracle fixed Asset using interface program FA_MASS_ADDITIONS. The Table that receives data in Orapps are FA_MASS_ADITIONS FA_CATAGORIES FA_LOCATION FA_ASSET_KEY_WORDS. which is used to regenerate reports

5TRIGGER in the reports : Before report ,After report before parameters ,After parameters form between pages.
Before Report -SRW.USER_EXIT(FND,USER_INIT)
After Report -SRW.USER_EXIT(FND.USER_EXIT)

COLUMNS :Summary Column, Formula & Place holders columns
POXPOBPS: Blanket Purchase Order Status Report.
Parameters : PO Numbers from to
Buyer Name Vendors From to
Sort by PO Number Or Buyer
POXPOSTD: PO Detail Report.
Title, Buyer Name, Items from to
PO Number From to Vender
Status : Approved Or in process
User Exit -A user exit is a function written in a 3rd Generation Language Like C, Cobol, FORTRAN Etc, to do special purpose processing which is linked into the SQL* Forms Executable files SQL Statements and Pl/SQL Block can be embedded into a user exit
When the user exit gets called from the from by a SQL* from trigger, processing control is temporarily paused onto the user exit when a user exit is done, it reaches an integer value to the SQL* from which indicates success, failure or Fatal error.
Types of Reports

Tabular
Master detail
Form
Mailing Label
Matrix