Monday, December 23, 2013


Interview Questions

Interview Questions

1.We have 2 different databases,and each system has 2 tables. Know there is a link provided between them. The client want a report to be developed based on the 4 tables that r there in the 2 different databases.The solution must be efficient.
Assume that the two databases be DB1 and DB2. At one time I could connect to only one database say DB1. Now I should able to access the tables in DB2 from DB1. First I create a DBlink in DB1 that access the tables in DB2. Using the DBlink, create snapshots for each of the tables in DB2. Now we can use these Snapshots in query, as if like tables in DB1.
The purpose for creating snapshot is both security and to reduce the network load, for each access of the tables in DB2.

2.what is the difference between _all and with underscore all tables.
Tables that end with all are belong to multi-org. They have a field called ORG_ID.

3.Differences between OE and OM.
None of the new features in R11i Order Management or Shipping Execution have been backported to R11 Order Entry or earlier. The data model changes make the effort impractical.
The database appears to support the older SO_% tables and the newer OE_% tables for Order Management.
The concurrent process, order import, pick up the data from SO_HEADERS_INTERFACE_ALL and populate both the older SO_HEADERS_ALL and the newer OE_ORDER_HEADERS_ALL table. The SO_HEADERS_ALL table is present for those customers who are upgrading from 10.7 to 11i. The tables are there as part of the installation to facilitate the upgrade process.
The 'OE:' profile options are still accessible even though these profile options are not used in 11i. These profile options have been replaced by the 'OM:' profile options.

4. we have a system with 10.7 apps,in that we have 2.5 reports and 4.5 forms. Now there is upgrade from 10.7 to that case the reports and forms must be converted into 6i. What r the steps we perform.list them.There are a minor changes in the PL/SQL Script in Forms 4.5 and Reports 2.5 with that of Forms6i and Reports6i. The differences are…
CHAR replaced by VARCHAR2
String length required for VARCHAR2
OUT and IN OUT default expressions removed
NULL added to RETURN in functions
Obsolete built-in
LENGTH function returns NULL for zero-length string
Passing NULL to overloaded subprogram does not resolve properly
Missing RETURN statement in function
5. The differences between reports 2.5 and 6i
ie 4t question answer

6. The differences between forms 4.5 and forms 6i.
ie 4t question answer

7. How is the stored procedures in the report are called. what is the use of that.
There is no sperate method for calling a database stored procedure in Oracle Reports. When a procedure is called form Oracle Report and a procedure with that name is available at several places namely Program Units, Attached Library and Database. The order will be..
1. Program Units
2. Attached Library
3. Database.

8.what is mutating table and mutating error .Through any example explain how we any over come that error.
A mutating table is a table that is currently being modified by an UPDATE, DELETE, or INSERT statement, or it is a table that might need to be updated by the effects of a declarative DELETE CASCADE referential integrity constraint. The restrictions on such a table apply only to the session that issued the statement in progress.
Tables are never considered mutating for statement triggers unless the trigger is fired as the result of a DELETE CASCADE. Views are not considered mutating in INSTEAD OF triggers.
For all row triggers, or for statement triggers that were fired as the result of a DELETE CASCADE, there are two important restrictions regarding mutating tables. These restrictions prevent a trigger from seeing an inconsistent set of data.
The SQL statements of a trigger cannot read from (query) or modify a mutating table of the triggering statement.

9.what r pl/sql table and explain were in ur project u have used that tables.what r the pl/sql records,and advantages of pl/sql tables and records.
A PL/SQL table can store rows (not just a column) of Oracle data. PL/SQL tables of records make it easy to move collections of data into and out of database tables or between client-side applications and stored subprograms. We can even use PL/SQL tables of records to simulate local database tables. Attributes are characteristics of an object. Every PL/SQL table has the attributes EXISTS, COUNT, FIRST, LAST, PRIOR, NEXT, and DELETE. They make PL/SQL tables easier to use and your applications easier to maintain.
PL\SQL tables give you the ability to hold multiple values in a structure in memory so that a PL\SQL block does not have to go to the database every time it needs to retrieve one of these values - it can retrieve it directly from the PL\SQL table in memory.
"global temporary tables" are not in-memory structures. But they do offer greatly-reduced disk I/O compared to standard tables (and therefore usually a significant performance improvement) and they also offer the ease-of-use of standard tables, since standard SQL can be used with them, no special array-processing syntax is required.
For processes where every bit of performance improvement is critical, PL\SQL tables are the best way to go.

10. what is data mapping and what type of mapping u have done in ur carrer or in the recent projects.
In this task, we map the data elements from the legacy systems to the target Oracle Applications.

11.What is Data cleaning and testing.
Data Cleaning: Transformation of data in its current state to a pre-defined, standardized format using packaged software or program modules.
Testing: The agreed upon conversion deliverables should be approved by the client representatives who are responsible for the success of the conversion. In addition, three levels of conversion testing have been identified and described in the prepare conversion test plans deliverables.
Eg: for Summary Balances in GL we set Test Criteria as Record Counts, Hash Totals, Balances, Journal Debit and Credit.

12.what r the differences between oracle data base 7 and 8.
Oracle 7 is a simple RDBMS, where as Oracle 8 is ORDBMS i.e., RDBMS with Object Support. The main add-ons in version 8 are…
Abstract Datatypes
PL/SQL Tables
Nested Tables
Partitioned Tables

13.what r the lexical parameters and were did u used this in ur project .
We define lexical parameters in Oracle Reports. Lexical parameters can dynamically replace clauses in the Select statement in the data model and even the whole select statement.
A lexical reference replaces any part of a SELECT statement, such as column names, the FROM clause, the WHERE clause, the ORDER BY clause. To create a lexical reference in a query, prefix the parameter name with an ampersand (&). If the parameter object does not exist, Report Builder does not create. We must always create the parameter for a lexical reference in the Object Navigator.

14.while registering a report and a pl/sql block we pass some parameters, for any pl/sql block we pass 2 additional parameters. Can u list them?
It requires 2 IN parameters for a PL/SQL procedure that's registered as a concurrent program in Apps. They are
1. errcode IN VARCHAR2
2. errbuff IN VARCHAR2

15.when “no data found” exception occurs, give any example.A SELECT statement in a PL/SQL block should return one and only one row. If it fails to return a row, then we get this exception.

16.How u can delete the duplicate records from the table.
delete from a
where a.rowid != (select max(b.rowid)
from b
where a. = b. and
a. = b. ...
group by a., a....);
Method 1: SQL> DELETE FROM table_name A WHERE ROWID > (
2 SELECT min(rowid) FROM table_name B
3 WHERE A.key_values = B.key_values);
Method 2: SQL> create table table_name2 as select distinct * from table_name1;
SQL> drop table_name1;
SQL> rename table_name2 to table_name1;
Method 3: (thanks to Kenneth R Vanluvanee)
SQL> Delete from my_table where rowid not in(
SQL> select max(rowid) from my_table
SQL> group by my_column_name );
Method 4: (thanks to Dennis Gurnick)
SQL> delete from my_table t1
SQL> where exists (select 'x' from my_table t2
SQL> where t2.key_value1 = t1.key_value1
SQL> and t2.key_value2 = t1.key_value2
SQL> and t2.rowid > t1.rowid);

17. In matrix reports minimum how many groups are required.
A matrix (crosstab) report contains one row of labels, one column of labels, and information in a grid format that is related to the row and column labels. A distinguishing feature of matrix reports is that the number of columns is not known until the data is fetched from the database.
To create a matrix report, you need at least four groups: one group must be a cross-product group, two of the groups must be within the cross-product group to furnish the "labels," and at least one group must provide the information to fill the cells. The groups can belong to a single query or to multiple queries.

18.How we can call from form to form, form to report.
Form to Form:
i) call_form('your form name', hide, do_replace);
ii) open_form('your form name');
The first version can be used to hide the calling form until the called form has been exited The second version leaves both forms open at the same time.
Form to Report:
Using the RUN_PRODUCT built-in procedure.
Eg: Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
Where pl_id is the parameter list through which we pass parameter values to the report.

19.why is ref cursor is used in the reports.
A ref cursor query uses PL/SQL to fetch data. Each ref cursor query is associated with a PL/SQL function that returns a strongly typed ref cursor. The function must ensure that the ref cursor is opened and associated with a SELECT statement that has a SELECT list that matches the type of the ref cursor. We base a query on a ref cursor when you want to:
i) More easily administer SQL
ii) Avoid the use of lexical parameters in your reports
iii) Share datasources with other applications, such as Form Builder
iv) Increase control and security
v) Encapsulate logic within a subprogram
Furthermore, if we use a stored program unit to implement ref cursors, we receive the added benefits that go along with storing your program units in the Oracle database.

21.what r the transaction types in OM.With the release of Oracle Order Management 11i, Order Cycles have been replaced by Oracle Workflow definitions, and Order Types have been replaced by Order Management Transaction Types. Order Management provides seeded Workflow process definitions for both orders and lines, and Order Management also enables you to define both order header and Order Line transaction types.
Note: Order Management provides NO seeded transaction types. For existing Oracle Order Entry customers, Order Management will update existing Order Types to order and line transaction types during the upgrade process.
Order Management Transaction types:
i) Determine the workflow processes executed for both the order and line
ii) Can act as sources for order and line level attribute defaulting
iii) Can establish order or line level processing constraints
iv) Can default from the Customer, Ship To, Bill To, or Deliver-To site at the order header, and line transaction types can default from the order transaction type.
v) Enable you to group orders and lines
vi) Can specific processing controls for an order or line based upon the transaction type entered. For example, the Scheduling level controls the way scheduling works at the time of order entry for lines.

22.what r the different types of orders in OM.

23. where does u find the order status column, in which table. If the order which comes in from legacy fails due to some validation, where does the order goes from here. what is the next step to deal with that order.
In the base tables, Order Status is maintained both at the header and line level. The field that maintains the Order status is FLOW_STATUS_CODE. This field is available in both the OE_ORDER_HEADERS_ALL and OE_ORDER_LINES_ALL.

24.the order which comes from legacy while it may be a CRM (seibel).it is a service order it must not go to the shipping module ,it must go to AR directly how it will go. can u tell that

25. what r the parameter passed to run a report.

26. what is the schema attached to OA.
APPS schema.

27. when we run the order import program it validates and the errors occurred can be seen in ?
Responsibility: Order Management Super User
Navigation: Order, Returns > Import Orders > Corrections

28.when we create a report we use the tables, there is some difference when we use the multi-org tables and ordinary tables, can u tell the difference?
If we are using Multi-Org tables, we must define a user parameter, P_CONC_REQUEST_ID with Number(15).

29.what is a template and what is its use.we have predefined template and we can define user defined template.can u tell why we use the user definr=ed template.
We can define user-defined templates. Templates are like format that applied on the data. I didn't develop new template in the Reports.

30. How many libraries we can attach to a form
As such there is no limit

31. I moved this 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 speedbutton 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.
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 we drag and drop it there before clicking on any other objects, and then click on something else, Oracle will usually figure what our intent was and assign the object(s) as a child of that frame.
One note though, if we are reassigning a group of fields, make sure the frame we are going to move them into is large enough to accept the whole group at once before we do the cut/paste.
If this technique also fails, we 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.

32. I switched the page size to 11x 8.5,but the printer still prints in Portriat.
Even though we set the page size in the report properties, there is a 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 we set the page size, the user's default printer setup will be used. We can also set it to either "Landscape" or "Portrait" to force the printer orientation no matter what the user has set as default.

33. I must put a repeating frame around these fields. How do I do this easily?.
Oracle looks at the layout, as a sort of layered inheritance model such that anything created on top of and completely inside another object is by definition a child of that object. Creation order is therefore critical to the layout process.
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.
A second choice, Go ahead and draw the new frame around the fields we want to have placed in it. Now if we 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, 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.

34. How do I change the printed value of a field at runtime. What is call form stack?
i) Use Format Trigger for that field. Format triggers are PL/SQL functions executed before the object is formatted. The trigger can be used to dynamically change the formatting attributes of the object. The function must return a Boolean value (TRUE or FALSE). Depending on whether the function returns TRUE or FALSE, the current instance of the object is included or excluded from the report output.
Format triggers do not affect the data retrieved by the report. i.e., the data for the field is retrieved even though the field does not appear in the output.
ii) When successive forms are loaded via the CALL_FORM procedure, the resulting module hierarchy is known as the call form stack.
The call form stack problem, typically happens when we mix OPEN_FORM and CALL_FORMs together. If A issues an OPEN_FORM to start B, and then we issue a CALL_FORM in A to start C, we cannot issue a CALL_FORM from B to start D because we can have only one call form stack open at one time.

35.what is the difference between the snapshot and synonym?
A synonym is another name assigned to a table for easy identification. For example, if we refer to tables residing in other accounts or databases, we may find it convenient to define a synonym for the long string of identifiers. If a table name changes, we can simply redefine the synonym rather than rewrite all related queries. This is particularly useful if we regularly refer to tables with long or oblique names. For example, we could create a synonym 'ORG' for the unwieldy FUNCTIONAL_ORGANIZATION_TABLE, or create an easier-to-remember synonym 'PRODUCT' for the LEDGER_PRODUCT_CHARTFIELD table.
A snapshot refers to read-only copies of a master table or tables located on a remote node. A snapshot can be queried, but not updated; only the master table can be updated. A snapshot is periodically refreshed to reflect changes made to the master table. In this sense, a snapshot is really a view with periodicity.

36. what is the difference between anonymous block and a procedure.Anonymous Block is a block of instructions in PL/SQL and SQL which is not saved under a name as an object in database schema. It is also not compiled and saved in server storage, so it needs to be parsed and executed each time it is run. However, this simple form of program can use variables, can have flow of control logic, can return query results into variables and can prompt the user for input using the SQL*Plus '&' feature as any stored procedure.
A Stored Procedure is a named program running in the database that can take complex actions based on the inputs send to it. Using a stored procedure is faster than doing the same work on a client, because the program runs right inside the database server. Stored procedures are nomally written in PL/SQL.
The Stored Procedure needs to be validated, and if necessary to be recompile.Put it in a package and try pinning the package with dbms_shared_pool.keep('')

37. What are user exits and why do u use them what is their use?
To access profile values, multiple organizations, or Oracle Applications user exits, and for program to be used with concurrent processing at all, we must have the first and last user exits called by your Oracle Reports program be FND SRWINIT and FND SRWEXIT.

38. While importing items from the legacy system through items interface what profile options do u set.
There are two profile options that we need to check, before running the Item Import. They are
i) PRIMARY_UNIT_OF_MEASURE from INV: Define Primary Unit of Measure
ii) INVENTORY_ITEM_STATUS_CODE from INV: Define Item Status

39. Maximum how many libraries can u attach to a form.
This information is older one. It’s included here for conceptual understanding.
The libraries are attached to modules at design time, and although the actual program units are not loaded into memory until they are needed, the .lib file is attached and a file handle is held for future use. Under Windows there is currently a limit of 20 file handles per application, this limit is unchanged by the use of the FILES DOS variable. When using Oracle Forms for example, before the application is executed, Forms has taken up to 10 file handles already for itself. This clearly depletes the number left for the application.
The only modules this limit effects are the libraries, other CDE (Cooperative Development Environment) modules (fmx, mmx files etc.) when executed, are loaded into memory and then closed at the file level. This implies the need for 2 (to be safe) or more 'floating' file handles needed to perform this task.
This now leaves the application a maximum of 8 spare handles, which in turn only allows the application to attach up to 8 libraries. As this is a limit under Windows, there is little the application developer can do to work around this.
If this limit becomes an issue the only solution is to use the referencing facilities within the CDE products.

40. The vendor information in the purchasing module is distributed in 3 to 4 tables which column will keep the tables integrated to get the data I mean by which column we can track the data in different tables.
PO_VENDORS and PO_VENDOR_SITES_ALL are the primary vendor tables. They are connected by a column namely “VENDOR_ID”.

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

42. We can import items from legacy system using item import interface using the SRS. if I want to import using the UNIX Commands or pl/sql with out using SRS how do I do it.
From the operating system, use CONCSUB to submit a concurrent program. It's an easiest way to test a concurrent program.
Normally, CONCSUB submits a concurrent request and returns control to the OS prompt/shell script without waiting for the request to complete. The CONCSUB WAIT parameter can be used to make CONCSUB wait until the request has completed before returning control to the OS prompt/shell script
By using the WAIT token, the utility checks the request status every 60 seconds and returns to the operating system prompt upon completion of the request. concurrent manager does not abort, shut down, or start up until the concurrent request completes. If your concurrent program is compatible with itself, we can check it for data integrity and deadlocks by submitting it many times so that it runs concurrently with itself.
To pass null parameters to CONCSUB, use '""' without spaces for each null parameter.
In words: single quote double quote double quote single quote
Following is an example of CONCSUB syntax with null parameters:
CONCSUB oe/oe OE 'Order Entry Super User' JWALSH CONCURRENT XOE XOEPACK 4 3 '""' 3

To Invoke a Concurrent Program using PL/SQL:
i) Just insert a row in FND_CONCURRENT_REQUESTS with the apropriate parameters and commit.
ii) Invoke the SUBMIT_REQUEST procedure in FND_REQUEST package.
FND_REQUEST.SUBMIT_REQUEST( 'AR', 'RAXMTR', '', '', FALSE, 'Autoinvoice Master Program', sc_time, FALSE, 1, 1020, 'VRP', '01-JAN-00', chr(0), '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');

43. What is an anchor?
Anchors are used to determine the vertical and horizontal positioning of a child object relative to its parent.
Since the size of some layout objects may change when the report runs (and data is actually fetched), you need anchors to define where you want objects to appear relative to one another. An anchor defines the relative position of an object to the object to which it is anchored. Positioning is based on the size of the objects after the data has been fetched rather than on their size in the editor. It should also be noted that the position of the object in the Layout editor effects the final position in the report output. Any physical offset in the layout is incorporated into the percentage position specified in the Anchor property sheet.

44. How many types of repeating frames are there.
Repeating frames surround all of the fields that are created for a group’s columns. The repeating frame prints (is fired) once for each record of the group.
Use repeating frames to define record-level layout information. For example, you can specify the direction in which the records print (e.g., Down, Across, Across/Down, etc.) and the spacing between each record., they provide a subset of repeating frame functionality (e.g., they do not have a Maximum Records per Page property).
There are two types of repeating frames:
Default Repeating Frames When you accept the Default Layout dialog box, Oracle Reports generates one repeating frame for each group in the data model, and places one field inside it for each of the group's columns. Repeating frames can enclose any layout object, including other repeating frames. Nested repeating frames are typically used to produce master/detail and break reports. For each record of the outer repeating frame, Oracle Reports will format all related records of the enclosed repeating frame.
User-created Repeating Frames Create a repeating frame in the Layout editor by clicking on the Repeating Frame tool, dragging a region, then specifying its properties in its property sheet.

45. What are the difficulties u faced when customizing a form.
There is no built-in functionality to validate duplicate record entry in a multi-record block. We need to build a logic to handle this validation.

47. What is the use of item category column in the items interface table.
You can use categories and category sets to group your items for various reports and programs. A category is a logical classification of items that have similar characteristics. A category set is a distinct grouping scheme and consists of categories. The flexibility of category sets allows you to report and inquire on items in a way that best suits your needs.
Multiple Organizations is enabled in Oracle
Applications by partitioning some database tables by the Operating Unit. Other tables are shared across Operating Units (and therefore across set of books). Examples of Applications with partitioned tables are Oracle Payables, Oracle Purchasing, Oracle Receivables, Oracle Projects, Oracle Sales & Marketing etc. The name of each corresponding partitioned table is the view name appended by '_ALL'.

48. What are the difficulties u faced when customizing a form.
There is no built-in functionality to validate duplicate record entry in a multi-record block. We need to build a logic to handle this validation.

BOGE PRASANTH REDDY ORACLE APPLICATIONS BLOG: Interview Questions: Interview Questions 1.We have 2 different databases,and each system has 2 tables. Know there is a link provided between them. The client wa...

No comments:

Post a Comment