Wednesday, 2 May 2012



  Re: Is it is necessary to create P_CONC_REQUEST_ID parameter in the development of oracle apps reports
# 1    

Yes, the concurrent manager assigns the request id to the report parameter P_CONC_REQUEST_ID .
Using this request id the SRW.USER_EXIT('FND SRWINIT') will try to access the context details from the fnd_concurrent_request table and using which these context value the report can gain access to views, profile options , values etc.....

If SRWINIT is used without the P_CONC_REQUEST_ID then the user exit will fail
 Re: what are the difference between oracle discoverer and report6i
# 1    


1.More features available.
2.Pivot Analysis and Drill Down Options given to User.
3.Graph is Dynamic and can be designed by End User itself.
4.Data can be exported to MS Excel and other formats.
5.Group Sorting can be changed any time.
6.Layouts are Dynamic and
7.Parameters Values can be changed at any time. it takes very less effort to do changes.


1.Less features available.            
2.Pivot,drill down option not available.
3.Graph is changed by developer only not by end user.
4.Exported to PDF only.
5.Sorting can be changed beofore invoking
6.Layouts are static.
7.Parameters Values can be changed before invoking report only.
8.Takes more efforts to do changes.


 Re: what is the standard program for blanket po to process data from interface table to bace table
# 3    

import standard purchase order-- transfer the data from
interface table base table
 Re: What are the files we submit while your program move to testing instance?
# 1    

Concurent program name and error file if any erros

 Re: What are the files we submit while your program move to testing instance?
# 3    

Whatever you have developed like .rdf first u need to
download it from dev instance server by using FNDLOAD
command so that all ldt files of .rdf, the script and
concurrent programs u need to upload on test instance
server using same FNDLOAD command. Just change the keyword
download to upload rest of the things are same.

Hope this will helpout

Re: what is the invoice matching
# 1    

Invoice Matching is nothing but matching invoices with respect to purchase orders. purchase orders have three types of matching options. 1. Two way matching  2. Three way matching
3. Three way matching. If you are good at backend tables, observe po_line_locations_all Table, we have two columns called inspection_required and Receipt required. if both are flagged 'Y' then invoice is 4 way match to PO i.e, while creating receipt manual inspection of goods is required. in other words we need to enter quantity manually in receipts and creation of receipt is mandatory in this process. In 3 way Match Approval Option receipt required is Y and Inspection required is N Here inspection of goods received is not mandatory. In two way Match approval Both flags are 'N' in this case receipt creation is not necessary to pay for the purchase order.

 Re: what is the invoice matching
# 2    

Different ways of Invoie Matching

Level of Matching

Two–Way: Purchase order and invoice quantities must match
within tolerance before the corresponding invoice can be

Three–Way: Purchase order, receipt, and invoice quantities
must match within tolerance before the corresponding
invoice can be paid.

Four–Way: Purchase order, receipt, accepted, and invoice
quantities must match within tolerance before the
corresponding invoice can be paid.

Level of Matching is set up in the PO and cannot be changed
while matching the invoice.

The Invoice Match Option( e.g: Receipt ) and
the Match Approval Level( PO set-up) are
independent options. One can perform whichever Invoice
Match Option he wants regardless of the Match Approval

  Re: Hoe to skip middle of the record by using SQL*Loader?
# 1    

1. Use When Clause to load selective records to base tables.
2. Unwanted records get skipped and placed in warning files.
3. If you want skip warning then load unwanted records to temporary tables and then delete them.


 Re: what is inbound and outbound interface?
# 1    

Inbound Interface will be used to upload the data from legacy system (Flat files) into
Oracle Applications base tables.
While Developing the Inbound interface  we will use SQL * loader to import the data
into base taqbles.

Outbound Interface will be used to extract the data from oracle Database tables into
the flat files.
While developing the outbound Interface we will use UTL_File to Extract the data.

 Re: In 11i we didn't have AP_Invoice_Lines Table, but in R12 this table is available, what is reason, advantage?
# 1    

Using AP_INVOICE_LINES table in R12, we can manage distributions against each line as against the distributions for the entire invoice in 11i. This gives more control on how much amount is paid against each line of the invoice. Payments made against one of the multiple lines of an invoice can be discarded which will automatically reverse the distribution lines of the line discarded. In 11i, it may have been required to cancel the whole AP invoice and create a new one.

 Re: What is template?
# 1    

Templates are Generic classes/Functions or sometimes called
parameterized classes , where we pass the parameter in
which we specifies the type of data and data, means by
using templates we can perform operations on different data
types by using single definition.It reduced the code
size,saves memory.

      Re: What is template?
# 2    

Template is a collection of objects,it will be atached to

 Re: In developer Reports::there are 3 parameters.can you pass the paramter1+paratmeter2 value to the third parameter??
# 1    

YES. We can assign parameter1+parameter2 into parameter3
into the Before trigger
 Re: Why do we need Three environments Like DEV, UAT, PROD. Need detailed answer please
# 1    

We need three environments like DEV UAT PROD
since in an company or organization if all are accessing the same live database for getting data, obvious there will be low performance ...
so the companies have found a new technique
DEV is for developer and they will have an sample data of the historical db to test there coding
UAT is User Acceptance Testing which uses 80 percentile of data from the database to test their coding
PROD is for production which have an Live database for accessing the db and testing too.
PRIDE is for the managers and some people too for accessing the live db which has been split from the actual live db.

LIVE db have recent files too
but sample doesnt have live db
80 percentile has the live db before few days like historical only

note:PRIDE is not used in all organisation.


 Re: What is Listner?? How to get the status of the Listner?
# 1    

simply saying it is used to communicate between the os &
database i.e. when user sends a request it listens to it and
in turn sends it to database to answer.
The status of listner can be seen as fallows
ora<sid>:lsnrctl -status
<sid>adm:execute r3trans -R, then a log file is created named
as trans.log there u can see the status listner.

Re: What is Listner?? How to get the status of the Listner?
# 2    

lsnrctl -status


Start--> Run--> Services.Msc--> check for listner.. If it
shows running then Listner is up & running.

Re: What is check point?? chkpt??
# 1    

Checkpoint is the point in time when the db process checks
for the database consistency. The point at which recovery
can be done.... to bring database in consistent state

 Re: What is check point?? chkpt??
# 2    

Check point is a DB background processor. In DB buffer
cache, there are data blocks. with in the Data blocks many
modified data will be stored. Those modified bulk datas will
be returned to HD [ sapdata's ]. This process is done when
chkpt signals..
  Re: can you use flat file for lookup table?why?
# 1    

yes we can....we can definitly use the flat file as
lookup .....but we can not use the xml files as look
up...if u want to use then u have to change the xml file to
another database or flatfile..dn u can able to use

 Re: PO made for 100 pcs and GR for 100 Pc but received the invoice for 110 pcs. How you will address this ? what is the account entry????
# 1    

Entry at GR (MIGO)
Stock A/c Debit (BSX)  100
GR/IR A/c Creidt (WRX) 100-

Entry at IR (MIRO)
GR/IR A/c Debit (WRX)         100
Pricee Diff A/c Debit  (PRD)   10  
Vendor Account Credit            110-


i want send my all duplicate record one tar and all uniq
records one target how we will perfome explain
input data
out put/target1
out put/target2
how we will bring

 Re: i want send my all duplicate record one tar and all uniq records one target how we will perfome explain example: input data eid 251 251 456 456 951 985 out put/target1 251 251 456 456 out put/target2 951 985 how we will bring
# 2    

First use the seq filestage then use the copy stage after
the copy stage one link is going to agregator stage there we
will calculate the count of records after the agregator
stage use filter stage for finding uniq records then those
records are connected to the lookup as a reference link. the
main link for lookup is comming from copy stage. Then
matching records are uniq else duplicate.

         |        |

In agregator use count rows.
 Re: what is journal entry ? please describe in detail.
# 1    

Journal entry is the posting of business transactions in the accounting books. A journal entry will have same amount of debit and credit.

when sales occured in a company, entry will be,

Cash A/c Dr

  To sales A/c Cr

 Re: what is journal entry ? please describe in detail.
# 2    

RAM A/C-----DR

 Re: How do you avoid duplicate records with out using source qualifier,expression,aggrigator,sorter and lookup transformations ?
# 1    

u can use unix command in pre session as sort -u file1

 Re: I have prompt date prompt (from and to), country and city, how to get data from jan1/2012 to jan31-2012.
# 1    

For example if  you are in Mar2012:-

_add_months(sysdate,-2) which takes you into Jan2012.
After this convert the _add_months(sysdate,-2) to t0_char or to_date as required.

Re: how to retrive xml data for using sql query?
# 1    

       ("Emp", XMLELEMENT("name", e.fname ||' '|| e.lname),
               XMLELEMENT ( "hiredate", e.hire))
FROM employees e
WHERE employee_id > 200 ;

This query produces the following typical XML result:

  <name>John Smith</name>
  <name>Mary Martin</name>

 Re: Why do flat file load is faster if you compare that with table load ? Please answer me. Advance Thanks, Manojkumar
# 1    


Flat file doesn't contain any indexes or keys so it will
directly load into it. whereas in a table it will first
check for indexes and keys while loading into table so it is
 slow when compared to flat file loading.

  Re: Why do flat file load is faster if you compare that with table load ? Please answer me. Advance Thanks, Manojkumar
# 3    

another reason is that when we load the data into table
integration service also verifies data type and will do
parsing if needed. But in case of flat file there is no need
of parsing and checking data types.
Re: in what case consultant will suggest for more than one operating unit, reasons?
# 1    

If the company wants to have a subsidiary ledger that will
partition the accounts payables, accounts receivables and
balance sheet of either two separate companies or division
of the company.
       Re: how do i change an item's UOM????
# 1    

we can change item's UOM in Item master responsibility..

if the Item Code is already transacted then we can't change
the  UOM .
if the item code is not transacted then we can chaenge the
 Re: how do i change an item's UOM????
# 2    

Once an item is transacted, you cannot change the UOM without the possibility of corrupting data.  If the item has not been transacted or you are adding/changing a UOM, this is done on the Item Master page that defines the item.  On this page you can change the Purchase UOM and the Unit of Issue.

Usually, you will not be changing an item base UOM unless it is a new vendor that ships it differently (inactivate the item and make a new one), you will be adding a conversion and new UOM which is done in the setup Unit of Measure > conversions.


  Re: What is the different between 11i and R12 in oracle ?
# 1    

The major differences between 11i and R12 are

2. Subledger accounting
3. acess of banks
4. tax
Re: what is global temporary tables and how use that tables in pl/sql packages
# 1    

You can not specify a tablespace with global temporary
tables. GTT's are built in the TEMP tablespace.
Global temporary tables have three major benefits:

1. Non-interference between private sets of data.

2. Ease of getting rid of 'scratch' data. In a heap table
you either rollback, or delete it. But in a GTT, you can
truncate explicitly, without affecting anyone else (or allow
the implicit "truncate on commit / exit" effect to do
the same thing).

3. Decreased redo generation as, by definition, they are


Mixing temporary tables (GTTs) with permanent tables usually
causes some grief to the CBO. It has no information
about the number of rows in the GTT, and therefore guesses

Even if you analyze table .. or
dbms_stats.gather_table_stats() you don't get stats on the
temporary table.

Set the init parameter dynamic_sampling to at least 2 for
GTTs to be sampled at run-time.

Note: All DDL includes two implicit commits so any rows in a
GTT specified with ON COMMIT DELETE ROWS will empty the

 Re: How would you convince your customer?
# 1    

it is not easy to convince the customer. actually every
customer says the are not interested to buy anything . first
of all we have to say "  do not buy just listen about this
product for few minutes   after that one its up to you ... "
so the thing is we have to make them listen even though they
are not interested ...
  Further Tecnical Apps Interview Questions
Sunday, 22 June 2008 14:48 Anil Passi
User Rating: / 5

These questions were emaied to me by a job seeker.

1) How did you generate the PDF on the report builder?

2) How will you develop the report if my organization is having two operating units one is in India and one is US. I want two operating units data in the report separately? How?

3) If I run the report with query like select * from emp? First which trigger will fire?

4) In which directory init.ora is stored.

5) I want to get a particular report periodically to my email account how?

6) Where you will execute your pl/sql code in reports i.e. in which trigger?

7) Performance point of view which is good? Decode or case?

8) How u reduce the time execution of query?

9) How do you track a Request Set? If an error occurs in the first program in a Request Set, I need to control the execution of other programs in the Request Set, How do you achieve this

11) How can I join if I have one set of books and 5 operating units?

12) How will you debug your reports?

13) Suppose I have written one report no data is found. How will you tell the user that no data found. After the end of report means last page user should be able to see the message end of report

14) Can we set Index for primary key? If so what is the name of the Index?

15) How to find how many ‘a’ are there in the specified string ‘aasfdhhjkgjaaaa’?

16) Can we pass Pl/sql table as a parameter to another procedure or not if so how to pass?

17) Can you use placeholder column with out using formula column?

18) How do you stop inserting records after 50 records are inserted from flat file through sql*loader

19) Why an application is needed in creation of responsibility at 3 places, After Responsibility Name, After Data Group, After Request Group?

20) I need one gap for every 3 rows in a report. How?

21) Is v$parameter updatable?

22) Develop a report to change color for maximum and minimum salaries, what is the logic?

23) Try to find positive salary on one column and negative salary on one column

24) Try to find total members belong to each department and find all the total members

25) Can I have a report with out data model query?

26) I need to return two values from a function. How?

27) How u reduce the time execution of query?

28) I developed a master child report using link option. One report I have developed using joins in single query and I separated by dragging the master group. Now the question which performs better. Why?

29) When you query Multi-Org tables in SQL*Plus or any tool (like TOAD), we get zero rows, though actually those tables got data? What is the reason? What do you do then?

30) What is auto reduction?

31) Can we define cursor inside package if so how to call cursors inside the package?

32) When you will go for XML reports and when you will go for Discoverer reports.

33) How will you get the legacy system from your client?

34) Once we transfer the Invoice Data from AP to GL in which column we can find that

We have transferred or not?

35) What are hidden values?

36) Can you generate the numbers in triggers?

37) How to print your client name in the report?

38) Suppose we have created one table value set and in that we are getting duplicate rows. How can we avoid the duplicate rows from table value set?

39) How many ways are there to receive the flat file from the client?

40) Instead of flat file, we will receive other one from client .what is that?

41) We use standard program to move values from interface table to base tables. Instead of the using the standard program, I want to use API .what is that API?

42) Instead of using the staging table can we use the global temporary table?

43) In between the MD50 and MD70 we receive one issue. What is that?

48) Suppose I have given a functional spec, What are the steps we do from receiving functional spec (md50) to delivery process?

44) If supplier will send bid quotation? Is it possible to create standard PO?

45) Suppose I have 100 records are there? 50 records went to interface table and 50 records are errored out? Now what we have to do? Either correcting/deleting/updatable? if u are correcting means how to correct it?

46) What is the difference between supplier and vendor?

47) In which table the damaged good information is stored?

50) How will you register the concurrent program through UNIX?

51) While customizing how will you work with bit maps. What will you do before customizing and before ftp the file to the local directory?
Please find a list of possible technical interview questions in Oracle Apps. All the contents on this website are Copyright protected.

I will try to keep this upto date with any new questions that I come accross. New apps questions will be added to the top of this post.

Most of the Oracle apps interview questions listed here are technical in natue. These interview questions span various Oracle Apps modules plus FND & OA Framework. For Oracle HRMS and Payroll interview questions visit HRMS Interview Questions

For Oracle iProcurement interview questions, kindly visit iProc Interview Questions .

Question: How will you migrate Oracle General Ledger Currencies and Sets of Books Definitions fromone environment to another without reKeying? Will you use FNDLOAD?
Answer: FNDLOAD can not be used in the scenario. You can use migrator available in "Oracle iSetup" Responsibility

Question: This is a very tough one, almost impossible to answer, but yet I will ask. Which Form in Oracle Applications has most number of Form Functions?
Answer: "Run Reports". And why not, the Form Function for this screen has a parameter to which we pass name of the "Request Group", hence securing the list of Concurrent Programs that are visible in "Run Request" Form. Just so that you know, there are over 600 form functions for "Run Reports"

Question: Which responsibility do you need to extract Self Service Personalizations?
Answer:Functional Administrator

Question: Can you list any one single limitation of Forms Personalization feature that was delivered with 11.5.10
Answer:You can not implement interactive messages, i.e. a message will give multiple options for Response. The best you can get from Forms Personalization to do is popup up Message with OK option.

Question: You have just created two concurrent programs namely "XX PO Prog1" & "XX PO Prog2". Now you wish to create a menu for Concurrent Request submission such that only these two Concurrent Programs are visible from that Run Request menu. Please explain the steps to implement this?
a) Define a request group, lets say with name "XX_PO_PROGS"
b) Add these two concurrent programs to the request group "XX_PO_PROGS"
c) Define a new Form Function that is attached to Form "Run Reports"
d) In the parameter field of Form Function screen, enter
e) Attach this form function to the desired menu.

Question: Does Oracle 10g support rule based optimization?
Answer: The official stance is that RBO is no longer supported by 10g.

Question: Does oracle support partitioning of tables in Oracle Apps?
Answer: Yes, Oracle does support partitioning of tables in Oracle Applications. There are several implementations that partition on GL_BALANCES. However your client must buy licenses to if they desire to partition tables. To avoid the cost of licensing you may suggest the clients may decide to permanently close their older GL Periods, such that historical records can be archived.
Note: Before running the archival process the second time, you must clear down the archive table GL_ARCHIVE_BALANCES (don’t forget to export archive data to a tape).

Question: What will be your partitioning strategy on GL_BALANCES? Your views please?
Answer: This really depends upon how many periods are regularly reported upon, how many periods are left open etc. You can then decide to partition on period_name, or period ranges, or on the status of the GL Period.

Question: Does Oracle support running of gather stats on SYS schema in Oracle Apps?
Answer: If your Oracle Applications instance is on 10g, then you can decide to run stats for SYS schema. This can be done by exec dbms_stats.gather_schema_stats('SYS');
Alternately using command dbms_stats.gather_schema_stats('SYS',cascade=>TRUE,degree=>20);
I will prefer the former with default values.
If you wish to delete the stats for SYS use exec dbms_stats.delete_schema_stats('SYS');
You can schedule a dbms_job for running stats for SYS schema.

Question: Can you use concurrent program "Gather Schema Statistics" to gather stats on sys schema in oracle apps?
Answer: No, "Gather Schema Statistics" has no parameters for SYS schema. Please use dbms_job.

Question: Which table is used to provide drill down from Oracle GL into sub-ledger?

Question: What is the significance of profile option “Node Trust Level” in Oracle Apps.
Answer: If this profile option is set to a value of external against a server, then it signifies that the specific mid-tier is External i.e. it will be exposed to the www. In other words this server is not within the firewall of your client. The idea behind this profile option is to flag such middle-tier so that special restrictions can be applied against its security, which means a very restricted set of responsibilities will be available from such Middle-Tier.

Question: What is the significance of profile option “Responsibility Trust Level”.
Answer: In order to make a responsibility accessible from an external web tier, you must set profile option “Responsibility Trust Level” at responsibility level to “External”. Only those responsibilities that have this profile option against them will be accessible from External Middle tiers.

Question: What else can you suggest to restrict the access to screens from external web tiers?
Answer: You may use URL filtering within Apache.

Question: What is the role of Document Manager in Oracle Purchasing?
Answer: POXCON is an immediate concurrent program. It receives pipe signal from the application when a request is made for approval/reservations/receipts.

Question: How to debug a document manager in Oracle Apps?
Answer: Document manger runs within the concurrent manager in Oracle Applications. When an application uses a Document Manager, it sends a pipe signal which is picked up by the document manager.
There are two mechanisms by which to trace the document manager
1. Set the debugging on by using profile option
STEP 1. Set profile option "Concurrent:Debug Flags" to TCTM1
This profile should only generate debugs when set at Site level(I think, as I have only tried site), because Document Manager runs in a different session.
STEP 2. Bounce the Document Managers
STEP 3. Retry the Workflow to generate debugs.
STEP 4. Reset profile option "Concurrent:Debug Flags" to blank
STEP 5. have a look at debug information in table fnd_concurrent_debug_info

2. Enable tracing for the document managers
This can be done by setting profile option “Initialization SQL Statement – Custom” against your username before reproducing the issue. The value of this profile will be set so as to enable trace using event 10046, level 12.

Question: You have written a Java Concurrent Program in Oracle Apps. You want to modify the CLASSPATH such that new class CLASSPATH is effective just for this program.
Answer: In the options field of the concurrent program you can enter something similar to below.
-cp <your custom lib pathused by Java Conc Prog> :/home/xxvisiondev/XXDEVDB/comn/java/

Question: How will you open a bc4j package in jdeveloper?
Answer: Oracle ships a file named server.xml with each bc4j package. You will need to ftp that file alongside other bc4j objects(VO’s, EO’s, AM, Classes etc).
Opening the server.xml will load the complete package starting from AM(application module). This is a mandatory step when building Extensions to framework.

Question: In OA Framework Self-Service screen, you wish to disable a tab. How will you do it?
Answer: Generally speaking, the tabs on a OA Framework page are nothing but the SubMenus. By entering menu exclusion against the responsibility, you can remove the tab from self service page.

Question: In self service, you wish to change the background color and the foreground text of the OA Framework screens to meet your corporate standards. How will you do it?
Answer: You will need to do the below steps
a….Go to Mid Tier, and open $OA_HTML/cabo/styles/custom.xss
b…Enter below text( change colours as needed)
<style name="DarkBackground">
<property name="background-color">#000066</property>
<style name="TextForeground">
<property name="color">#0000FF</property>
c… cd $OA_HTML/cabo/styles/cache
d…Take a backup of all the css files.
e…Delete all the files of following pattern oracle-desktop*.css
The idea here is to delete the cache. Next time when you logon to Oracle Apps Self Service, the Framework will rebuild the css file if found missing for your browser.

Question: Can you extend and substitue a root AM ( Application Module) in OA Framework using JDeveloper.
Answer: You can extend the AM in jDeveloper, but it doesn’t work( at least it didn’t work in 11.5.9). I am hopeful that Oracle will deliver a solution to this in the future.

Question: In a workflow notification, you have a free text response field where the user enters the Vendor Number for the new vendor. You want to validate the value entered in the notification response field upon the submission of a response. How will you do it?
Answer: You will need to attach a post notification function to the Workflow Notification.
The PL/SQL code will look similar to below:-
The below code will display an error in the notification when user attempts to create a Duplicate Vendor Number.
PROCEDURE validate_response_from_notif
itemtype IN VARCHAR2
,itemkey IN VARCHAR2
,actid IN NUMBER
,funcmode IN VARCHAR2
) IS
l_nid NUMBER;
l_activity_result_code VARCHAR2(200);
v_newly_entered_vendor_num VARCHAR2(50);
CURSOR c_get_response_for_new_vendor IS
SELECT wl.lookup_code
FROM wf_notification_attributes wna
,wf_notifications wn
,wf_message_attributes_vl wma
,wf_lookups wl
WHERE wna.notification_id = l_nid
AND wna.notification_id = wn.notification_id
AND wn.message_name = wma.message_name
AND wn.message_type = wma.message_type
AND wna.NAME = wma.NAME
AND wma.format = wl.lookup_type
AND wna.text_value = wl.lookup_code
IF (funcmode IN ('RESPOND'))
l_nid := wf_engine.context_nid;
OPEN c_get_response_for_new_vendor;
FETCH c_get_response_for_new_vendor
INTO l_activity_result_code;
CLOSE c_get_response_for_new_vendor;
v_newly_entered_vendor_num := wf_notification.getattrtext(l_nid,'NEWLY_ENTERED_VENDOR_NUM_4_PO');
IF l_activity_result_code = 'NEW_VENDOR'
AND does_vendor_exist(p_vendor => v_newly_entered_vendor_num)
RESULT := 'ERROR: VendorNumber you entered already exists';
END validate_response_from_notif;

Question: How to make concurrent program end with warning?
Answer: If the concurrent program is of type PL/SQL, you can assign a value of 1 to the “retcode” OUT Parameter.
For a Java Concurrent program, use the code similar to below
ReqCompletion lRC;
//get handle on request completion object for reporting status
lRC = pCpContext.getReqCompletion();
lRC.setCompletion(ReqCompletion.WARNING, "WARNING");

Question: How do you link a Host type concurrent program to Concurrent Manager?
Answer: Assuming your executable script is LOADPO.prog, then use the commands below
cd $XXPO_TOP/bin
ln -s $FND_TOP/bin/fndcpesr $XXPO_TOP/bin/LOADPO

Question: How do you know if a specific Oracle patch has been applied in apps to your environment.
Answer: Use table ad_bugs, in which column bug_number is the patch number.
SELECT bug_number
,to_char(creation_date, 'DD-MON-YYYY HH24:MI:SS') dated
FROM apps.ad_bugs
WHERE bug_number = TRIM('&bug_number') ;

Question: How do you send a particular Oracle Apps Workflow Activity/Function within a workflow process into background mode.
Answer: If cost of the workflow activity is greater than 50, then the workflow activity will be processed in background mode only, and it won’t be processed in online mode.

Question: What are the various ways to kick-off a workflow
Answer: You can eiter use wf_engine.start_process or you can attach a runnable process such ghat it subscribes to a workflow event.

Question: When starting (kicking off) an oracle workflow process, how do you ensure that it happens in a background mode?
--a)if initiating the process using start_process, do the below
wf_engine.threshold := -1;
wf_engine.startprocess(l_itemtype, l_itemkey)
--B) When initiating the workflow process through an event subscription, set the Execution Condition Phase to be equal to or above 100 for it to be executed by background process.

Question: On 10g, how will you use awr?
Answer: By running below scripts. These are both the same scripts, but with differing parameters.

Question : How will you configure Apache to run in Debug mode, specifically usefull when debugging iProcurement ( prior to 11.5.10).
Answer: After 11.5.10, FND Logging can be used for debugging Oracle iProcurement.
Prior to 11.5.10
cd $ORACLE_HOME/../iAS/Apache
vi $ORACLE_HOME/../iAS/Apache/Jserv/etc/ssp_init.txt

vi $ORACLE_HOME/../iAS/Apache/Jserv/etc/jserv.conf
ApJServLogLevel debug

vi $ORACLE_HOME/../iAS/Apache/Jserv/etc/

Question: How will you add a new column to a List Of Values ( LOV ) in Oracle Applications Framework? Can this be done without customization?
Answer: Yes, this can be done without customization, i.e. by using OA Framework Extension coupled with Personalization. Implement the following Steps :-
a) Extend the VO ( View Object ), to implement the new SQL required to support the LOV.
b) Substitute the base VO, by using jpximport [ similar to as explained in Link ]
c) Personalize the LOV Region, by clicking on Add New Item. While adding the new Item, you will cross reference the newly added column to VO.

Question: Can you do fnd_request.submit_request from SQL Plus in Oracle?
Answer: You will need to initialize the global variables first using fnd_global.initialize
v_session_id INTEGER := userenv('sessionid') ;
SESSION_ID => v_session_id
,USER_ID => <your user id from fnd_user.user_id>
,RESP_ID => <You may use Examine from the screen PROFILE/RESP_ID>
,RESP_APPL_ID => <You may use Examine from the screen PROFILE/RESP_APPL_ID>
,LOGIN_ID => 3115003--Any number here
) ;
commit ;
Optionally you may use fnd_global.apps_initialize, which internally calls fnd_global.initialize
fnd_global.apps_initialize(user_id => :user_id,
resp_id => :resp_id,
resp_appl_id => :resp_appl_id,
security_id => :security_id,
server_id => :server_id);
By doing the above, your global variables upon which Concurrent Managers depend upon will be populated. This will be equivalent to logging into Oracle Apps and submitting the concurrent request from a responsibility.

Question: You are told that the certain steps in the Oracle Apps Form/Screen are running slow, and you are asked to tune it. How do you go about it.
Answer: First thing to do is to enable trace. Preferably, enable the trace with Bind Variables. This can be done by selecting menu Help/Diagnostics/Trace/”Trace With Binds and Wait”
Internally Oracle Forms issues a statement similar to below:-
alter session set events='10046 trace name context forever, level 12' ;
Enable Trace with Bind Variables in Apps
Enable Trace with Bind Variables in Apps

This will enable the trace with Bind Variable values being shown in the trace file.
The screen in Oracle Apps will also provide the name of the trace file which is located in directly identified by
select value from v$parameter where name like '%us%r%dump%'
Doing a tkprof with explain plan option, reviewing plans and stats in trace file can help identify the slow performing SQL.

Question: What is the difference between running Gather Stats and “Program – Optimizer[RGOPTM]” in Oracle General Ledger?
Answer: “Gather Stats” will simply gather the stats against existing tables, indexes etc. However Gather Stats does not create any new indexes. But “Program – Optimizer[RGOPTM]” can create indexes on GL_CODE_COMBINATIONS, provided accounting segment has the indexed flag enabled,

Question: You have written a piece of code in POR_CUSTOM_PKG for Oracle iProcurement, but its not taking any effect? What may be the reason?
Answer: Depending upon which procedure in POR_CUSTOM_PKG has been programmed, one or more of the below profile options must be set to Yes
POR: Enable Req Header Customization
POR: Enable Requisition Line Customization
POR: Enable Req Distribution Customization

Question: What is the key benefit of punching out to suppliers catalogs rather than loading their catalogs locally in Oracle iProcurement?
Answer: Punchout has several advantages like, Catalogs don’t need to be loaded locally saves space on your system. You can get up-to-date list of catalogs by punching out and also you get the benefit of up-to-date pricing information on vendor items.

Question: Does oracle have a test environment on exchange?

Question: Does Oracle Grants use its own schema or does it uses Oracle Project Accounting schema?
Answer: Although Oracle Grants has its own schema i.e. GMS, it reuses many of the tables with in Oracle Projects Schema like PA_PROJECTS_ALL, PA_EXPENDITURE_ITEMS_ALL, PA_EXPENDITURE_TYPES etc.

Question: How to make an Oracle Report Type concurrent program produce an excel friendly output?
Answer: Comma can be concatenated between the column values, however a better option is to create tab delimited file, as it takes care of commas within the string.
For this, use SQL similar to below in the report
select 'a' || chr(9) || 'b' from dual;

Question: What are the settings needed for printing bitmap reports?
Answer: Get your DBA to configure two files i.e. uiprint.txt & default.ppd
For details, refer to Metalink Note 189708.1

Question: For a PL/SQL based concurrent program do you have to issue a commit at the end?
Answer: The concurrent program runs within its own new session. In APPS, the default database setting enforces a commit at the end of each session. Hence no explicit COMMIT is required.

Question: What is the best way to add debugging to the code in apps?
Answer: Use fnd_log.string , i.e. FND Logging. Behind the scenes Oracles FND Logging uses autonomous transaction to insert records in a table named fnd_log_messages.
For example
fnd_log.STRING(log_level => fnd_log.level_statement
,module => 'xxxx ' || 'pkg/procedurename '
,message => 'your debug message here');
Three profile options effecting FND Logging are
FND: Debug Log Mode
FND: Debug Log Enabled
FND: Debug Log Module

Question: If you wish to trigger of an update or insert in bespoke table or take some action in response to a TCA record being created or modified, how would you do it? Will you write a database triggers on TCA Tables?
Answer: There are various pre-defined Events that are invoked from the Oracle TCA API’s.
TCA was Oracle’s first initiative towards a fully API based approach, which means the screen and the processes all use the same set of APIs for doing same task.
In order to take an action when these events occur, you can subscribe a custom PL/SQL procedure or a Custom Workflow to these events. Some of the important TCA events are listed below:-

Question: In Oracle OA Framework, is the MDS page/document definition stored in database or in the file system?
Answer: The MDS document details are loaded into database, in the following sets of tables.
The Document is loaded via XMLImporter, as detailed in XMLImporter Article

Question: In a Oracle Report data group, you have a “data link” between two queries. How do you ensure that the data link is made Outer Joined?
Answer: The data link is an Outer Join by default.

Question: How does substitution work in OA Framework?
What are the benefits of using Substitution in OA Framework?
Answer: Based on the user that has logged into OA Framework, MDS defines the context of the logged in user. Based upon this logged in context, all applicable personalization are applied by MDS. Given that substitutions are loaded as site level personalizations, MDS applies the substituted BC4J objects along with the personalizations. The above listed steps occur as soon as Root Application module has been loaded.
The benefit of using Substitution is to extend the OA Framework without customization of the underlying code. This is of great help during Upgrades. Entity Objects and Validation Objects can be substituted. I think Root AM’s can’t be substituted given that substitution kicks off after Root AM gets loaded.

Question: In OA Framework, once your application has been extended by substitutions, is it possible to revert back to remove those substitutions?
Answer: yes, by setting profile option “Disable Self-Service Personal%” to Yes, keeping in mind that all your personalizations will get disabled by this profile option. This profile is also very useful when debugging your OA Framework based application in the event of some error. By disabling the personalization via profile, you can isolate the error, i.e. is being caused by your extension/substitution code or by Oracle’s standard functionality.

Question: How can you import invoices into Oracle Receivables?
Alternately you may decide to use API ar_invoice_api_pub.create_single_invoice for Receivables Invoice Import.

Question: How do you setup a context sensitive flexfield
Answer: Note: I will publish a white paper to sho step by step approach.
But for the purpose of your interview, a brief explanation is…a)Create a reference field, b) Use that reference field in “Context Field” section of DFF Segment screen c) For each possible value of the context field, you will need to create one record in section “Context Field Value” ( beneath the global data elements).

Question: Does Oracle iProcurement use same tables as Oracle Purchasing?
Answer: Yes, iProcurement uses the same set of requisition tables as are used by Core Purchasing.

Question: What is the name of the schema for tables in tca
Answer: AR (at least till 11.5.10, not sure about 11.5.10).

Question: Are suppliers a part of TCA?
Answer: Unfortunately not yet. However, Release 12 will be merging Suppliers into TCA.

Question: What is the link between order management and purchasing
Answer: Internal Requisitions get translated into Internal Sales Orders.

Question: How would you know if the purchase order XML has been transmitted to vendor, looking at the tables.
Answer: The XML delivery status can be found from a table named ecx_oxta_logmsg. Use the query below
SELECT edoc.document_number
,decode(eol.result_code, 1000, 'Success', 'Failure') AS status
FROM ecx_oxta_logmsg eol
,ecx_doclogs edoc
,ecx_outbound_logs eog
WHERE edoc.msgid = eol.sender_message_id
AND eog.out_msgid = edoc.msgid
ORDER BY edoc.document_number

Question: You have done forms personalization, now how will you move it from one environment to another?
Answer: Use FNDLOAD. For examples visit FNDLOAD Article

Question: What are the key benefits of forms personalization over custom.pll?
-->Multiple users can develop forms personalization at any given point in time.
-->It is fairly easy to enable and disable forms personalizations.
-->A programmer is not required to do simple things such as hide/disable fields or buttons.
-->Provides more visibility on customizations to the screen.

Question: Tell me some limitations of forms personalization when compared to CUSTOM.pll?
-->Can't create record group queries, hence can’t implement LOV Query changes.
-->Can't make things interactive, i.e. can’t have a message box that gives multiple choices for example Proceed or Stop etc.

Question: Give me one example where apps uses partitioning?

Question: Give me one example of securing attributes in iProcurement.
Answer: You can define Realm to bundle suppliers into a Category. Such realm can then be assigned to the User using Define User Screen. Security Attribute ICX_POR_REALM_ID can be used. By doing so, the user will only be made visible those Punchout suppliers that belong to the realm against their securing attributes.

Question: Can you send blob attachments via workflow notifications?
Answer: Yes, you can send BLOB Attachments.
For details on how to do this, refer to link for BLOG atachments to notifications

Re: How to migrate .rdf file from dev instance to test instance?
# 1    

Normal procedure is download that .rdf from dev
instance server (appldev/ap/12.0/Reports/US)
and FTP it to testing instance (appltest/ap/12.0/Reports/US).
this procedure will be done normally after applying
ldts in testing instance.
MATCH_OPTION COLUMN / METHOD MISSING IN Purchasing Documents Open Interface

                             PROBLEM DESCRIPTION
     There is no column that accepts the value for match_option (invoice
    matching 'P'or'R') in PO_LINES_INTERFACE. (The enhanced PDOI now supports
   standard PO import.) If there is a method to populate the matching
   option value via the PDOI, it should be documented in the PDOI update
    release note. "matching option" is stored in the following table in EBS.   

                            ADDITIONAL DETAILS
Via Email or ess30 upon request.
Open POXPOEPO and update the option for all imported POs, which is rediculous.

EBS 11.5.3
Please ask if you need specific file versions.


Defaulting of match_option is as follows
 1. From Supplier Site
2. From Supplier
3. From Financials System Parameters
The HLD for STD PO do not mention anything about this column.
Will be an ER to create the column in CASE and to add the necessary

PREMCOR REFINING GROUP is requesting this ER be changed to a priority 3 bug so
a fix can be included in a future PO Family Pack.   They have 100's of PO's
 that they import from a 3rd party system (Maximo) using the PDOI.  These
multi-line POs are primarily Service Type POs and whether the line can either
be Invoice Match Option to Receipt or Invoice Match Option to Purchase Order
 needs to be controlled at the Line level when inserting into the PO Interface

Here is the solution for the invoice matching, someone needs to update the
bug to include this solution:

Invoice matching, populate the following columns in PO_LINES_INTERFACE table:
'2WAY'  inspection_required_flag = 'N'
         receipt_required_flag    = 'N'

'3WAY'  inspection_required_flag = 'N'
          receipt_required_flag    = 'Y'

'4WAY'  inspection_required_flag = 'Y'
         receipt_required_flag    = 'Y'

No comments:

Post a Comment