Oracle Reports (Report 6i) – Technical – Interview – Question Answers

Oracle Reports (Report 6i) – Technical – Interview – Question Answers

Question: 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

Question: Can u have more than one layout in report

Answer: It is possible to have more than one layout in a report by using the additional layout option in the layout editor.
Answer: Yes it is possible to run the report without parameter form by setting the PARAM value to Null

Question:  What is the lock option in reports layout

Answer:  By using the lock option we cannot move the fields in the layout editor outside the frame. This is useful for maintaining the fields.
Question: What is Flex

Answer: Flex is the property of moving the related fields together by setting the flex property on

Question: What is the minimum number of groups required for a matrix report

Question: How many different triggers are available in Report?

Answer: There are five types of triggers in report 6i

1) Before report trigger

2) After report trigger

3) Before Parameter trigger

4) After parameter trigger

5) Between pages trigger

Question: What is the Firing sequence of report trigger?

Answer: First the before parameter trigger will raise, after firing this trigger parameter form will displayed, after passing parameter after parameter trigger will fire query will parsed & then before report trigger will fired then if there are number of pages in your report then the between pages trigger will fired but it will fire between first & second & so on pages but it will not fired in reverse condition the after report trigger will fire after closing the runtime parameter form is closed.

Question: What is bind variables?

Answer: Bind variables are used in report 6i for replacing the single parameter in the select statement

Question: What is lexical parameter?

Answer: Lexical Parameter is used to replace the where, order by ………conditions at run time.

Question: What are different types of column in reports?

Answer: There are three types of columns in the report 6i these are:

1) Placeholder Column – Placeholder column is used to store a value for a variable.

2) Formula Column

3) Summary Column

Answer: The minimum of groups required for a matrix report are 4

Question: Can u run the report with out a parameter form

Oracle Applications – Interview Questions (All Modules)

Oracle Applications – Interview Questions (All Modules)

Question: What are the key benefits of forms personalization over custom.pll?
Answer: Multiple users can develop forms personalization at any given point in time.
It is fairly easy to enable and disable forms personalization.
–>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: How can you import invoices into Oracle Receivables?

You can either use AutoInvoice by populating tables RA_INTERFACE_LINES_ALL, RA_INTERFACE_DISTRIBUTIONS_ALL & RA_INTERFACE_SALESCREDITS_ALL.Alternately you may decide to use API ar_invoice_api_pub.create_single_invoice for Receivables Invoice Import.

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: 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 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: 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 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 IRC = pCpContext.getReqCompletion(); lRC.setCompletion(ReqCompletion.WARNING, “WARNING”);

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


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 REQUEST_GROUP_CODE=”XX_PO_PROGS” REQUEST_GROUP_APPL_SHORT_NAME=”XXPO” TITLE=”XXPO:XX_PO_PROGS” e) Attach this form function to the desired menu.

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: 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: How will you migrate Oracle General Ledger Currencies and Sets of Books Definitions from one environment to another without Keying? Will you use FNDLOAD?

Answer: FNDLOAD can not be used in the scenario. You can use migrator available in “Oracle iSetup” Responsibility

Question: How can an end-user be given control to run a script developed by a developer, given that an end user will never have access to apps password (and rightly so)?

Answer: This script can be attached to a Concurrent Program via a concurrent program executable. The user will then be given access to this Concurrent Program.

Question: But how will the end user or Oracle Apps make this script run every 10hours daily?

Answer: A concurrent program can be scheduled to run at desired intervals. The schedule is defined at the time of submission.

Question: What are the basic steps when defining a concurrent program?

Answer: Broadly speaking there are three steps when developing a concurrent program in Oracle Apps Step 1. Make Oracle Apps identify the executable Step 2. Provide a handle to the executable by means of defining a concurrent program Step 3. Make this concurrent program accesible to selected users via their responsibility.

thanks - shivmohan purohit

How To Open A Worksheet Directly From Oracle Applications Menu ?

Hello Friends, many of my past work involve integrating oracle discoverer with oracle applications, here there is one of the ways to leverage both to integrate within applications.

 How To Open A Worksheet Directly From Oracle Applications Menu ?


 If a workbook has 4 worksheets how to default to a particular worksheet. This article will help you to pass the worksheet identifier and parameter directly while opening a workbook. The worksheet identifier and the worksheet parameters for the workbook has to be specified in the form function with below mentioned guidlines.

Form Function  Definition


Function Name

Internal Function Name

Function User Name

Function name (as shown on the menu)




Function description


&PARAMETERS=sheetid~worksheet id*param_parameter name One~Parameter One Value*param_parameter name Two~Parameter Two Value*




 Parameters in the parameter list are delimited by the characters

“param_” at the beginning of each parameter and
“~” as delimiter between parameter name and value and
“*” at the end of each parameter

 ICX interprets the PARAMETER list and passes the parameters to Discoverer in the required URL format.

 Example 1

 If the workbook id is CAHRMS_ABSENCE_CALENDAR_REPORT and worksheet id is 1 then parameter will be as follows


 Example 2

If the workbook id is CAHRMS_ABSENCE_CALENDAR_REPORT , worksheet id is 1 and the value for worksheet parameter “deptname”  to be passed is 10 then parameter will be as follows


 Example 3

If a workbook has two parameters “Company” and “City” you would specify in the Parameter list of the Form funtion:

param_Company~Oracle Corp.*param_City~Redwood Shores* 

Thanks – Shivmohan . do share your feedback

Excel output directly from Oracle Application Concurrent Request Output

Need to create Microsoft Excel style files directly openable from Oracle Applications concurrent request output … without using BI Publisher?

A little know file format with acronym SYKL is a handy tool for create files readable in Microsoft Excel. here’s the recipe for a very simple Excel (SYLK) output concurrent program for an FND_USERS listing with creation date from/to parameters. So, without further ado, here’s the recipe for a very simple Excel (SYLK) output concurrent program for an FND_USERS listing with creation date from/to parameters

   1. Take a PL/SQL package based on the Oracle provided OWA SYLK ppckage (owasylk.sql / owa_sylk.sql) and make some changes: ( )

  • rename it to owa_sylk_apps
  • Change it to use fnd_file.put_line(fnd_file.output instead of utl_file.put_line(g_file
  • Remove parameters for p_file

   2. Create a PL/SQL package for the concurrent program that outputs SYLK file to the concurrent request output.

create or replace package XXXV8_USERS_SYLK_PKG AUTHID CURRENT_USER


procedure main

( errbuf      out varchar2

, retcode     out varchar2

, p_date_from in  varchar2

, p_date_to   in  varchar2




create or replace package body XXXV8_USERS_SYLK_PKG


procedure main

( errbuf      out varchar2

, retcode     out varchar2

, p_date_from in  varchar2

, p_date_to   in  varchar2

) as

  l_date_from date;

  l_date_to   date;


  l_date_from := fnd_date.canonical_to_date(p_date_from);

  l_date_to   := fnd_date.canonical_to_date(p_date_to);

        p_query => ‘select user_id user_id, user_name user_name, ‘

                   ‘       description description, creation_date created ‘

                   ‘from fnd_user ‘

                   ‘where trunc(creation_date) >  :DATE_FROM ‘

                   ‘and   trunc(creation_date) <= :DATE_TO ‘,

        p_parm_names =>

                 owa_sylk_apps.owaSylkArray( ‘DATE_FROM’, ‘DATE_TO’),

        p_parm_values =>

                 owa_sylk_apps.owaSylkArray(l_date_from ,l_date_to),

        p_widths =>



end main;


   3. Setup the concurrent program

   4. Hijack one of the little used Viewer Options (PCL) so that we can get the Concurrent Request output browser to automatically open Microsoft Excel. Note this is optional, you can just create a new Viewer Option but then you may get the “Choose Viewer” box when viewing concurrent request output. NB: Navigation path is System Administrator, Install, Viewer Options

update fnd_mime_types_tl

set    mime_type = ‘application/’

,      description = ‘Excel (SYLK) used to be application/vnd.hp-PCL: Printer Control Language’

,      last_updated_by = 0

,      last_update_date = sysdate

where  file_format_code = ‘PCL’

and    mime_type = ‘application/vnd.hp-PCL’;


   5. Assign the concurrent program to the appropriate request group (e.g. System Administrator, All Reports, Application Object Library) and run the concurrent program to test it all out! And there you have it – Excel style output direct from concurrent request generated by PL/SQL!

Article courtesy and credit goes to  —