Search This Blog


Tuesday, April 23, 2013

Oracle Apps Technical Interview Question - Part 3

Oracle Apps Interview Question - Part 3

71. Mention the table or views where Inventory Org, Items, Set of Books, GL Code Combinations, Operating Unit, Location, Customers, Vendors, and Invoices are stored in Apps.
Set of Books: - GL_SETS_OF_BOOKS 30
GL Code Combinations: - GL_CODE_COMBINATIONS
Customers: - RA_CUSTOMERS

72. What is the profile to be read to find out what Inventory Organization and Operating Unit are you on?
(mfg_organization_id is the Inventory Org)

73)What is Inventory Master Organization?
Items are defined in an Inventory Master Organization.

74)What is the difference between key flexfield and Descriptive flexfield?
Key Flexfield is used to describe unique identifiers that will have a better meaning than using number IDs. e.g a part number, a cost centre etc Desc Flex is used to just capture extra information. Key Flexfields have qualifiers whereas Desc Flexfields do not. Desc Flexfields can have context sensitive segments while Key flexfields cannot.
And one more differenct that KFF displays like text item but DFF displays like [ ] .

75)Which procedure should be called to enable a DFF in a form?

76)Which procedure should be used to make the DFF read only at run time?

77)What is the difference between flexfield qualifier and segment qualifier? 31
Flexfiled qualifier identifies segement in a flexfield and segment qualifier identifies value in a segment.
There are four types of flexfiled qualifier 1) Balancing segment qualifier 2) cost center 3) natural account and 4) intercompnay
segemtn qualifier :- 1) allow budgeting 2) allow posting 3) account type 4) contral account and 5) reconciliation flag

78)Where do concurrent request logfiles and output files go?
The concurrent manager first looks for the environment variable $APPLCSF If this is set, it creates a path using two other environment variables: $APPLLOG and $APPLOUT It places log files in $APPLCSF/$APPLLOG Output files go in $APPLCSF/$APPLOUT So for example, if you have this environment set: $APPLCSF = /u01/appl/common $APPLLOG = log $APPLOUT = out The concurrent manager will place log files in /u01/appl/common/log, and output files in /u01/appl/common/out Note that $APPLCSF must be a full, absolute path, and the other two are directory names. If $APPLCSF is not set, it places the files under the product top of the application associated with the request. So for example, a PO report would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT Logfiles go to: /u01/appl/po/9.0/log Output files to: /u01/appl/po/9.0/out Of course, all these directories must exist and have the correct permissions. Note that all concurrent requests produce a log file, but not necessarily an output file.

79)How do I check if Multi-org is installed?
If MULTI_ORG_FLAG is set to 'Y', Then its Multi Org.

80)How do I find out what the currently installed release of Applications is? /How do I find the name of a form?
We can also find out through Help > About Oracle Applications

81)Why does Help->Tools->Examine ask for a password?
Navigate to the Update System Profile Screen.
(\ navigate profile system) 32
- Select Level: Site
- Query up Utilities:Diagnostics in the User Profile Options Zone.
If the profile option Utilities:Diagnostics is set to NO, people with access to the Utilities Menu must enter the password for the ORACLE ID of the current responsibility to use Examine. If set to Yes, a password will not be required.

82)What are the API used in PO cancellation ?
Ans. For Partial cancellation -> To modify the Ordered quantity
v_return_flag := apps.gems_public_apis_pkg.po_update_po
( x_po_number => v_po_number
, x_release_number => NULL
, x_revision_number => v_revision_num
, x_line_number => v_line_number
, x_shipment_number => v_shipment_num
, new_quantity => p_quantity
, new_price => NULL
, new_promised_date => NULL
, launch_approvals_flag => 'Y'
, update_source => NULL
, x_interface_type => NULL
, x_transaction_id => NULL
, version => '1.0');
For Full cancellation ->
( p_api_version => v_api_version_number
, p_init_msg_list => apps.fnd_api.g_true
, p_commit => apps.fnd_api.g_false
, x_return_status => p_return_status
, p_doc_type => 'PO'
, p_doc_subtype => v_sub_type
, p_doc_id => v_po_header_id
, p_doc_num => NULL
, p_release_id => NULL
, p_release_num => NULL
, p_doc_line_id => v_po_line_id
, p_doc_line_num => NULL
, p_doc_line_loc_id => p_line_loc_id
, p_doc_shipment_num => NULL
, p_action => 'CANCEL'
, p_action_date => SYSDATE
, p_cancel_reason => 'GPO_WAREHOUSE_DENIAL'
, p_cancel_reqs_flag => 'N'
, p_print_flag => 'N'
, p_note_to_vendor => apps.fnd_api.g_miss_char); 33

83)How an API is initialized ?
Ans. apps.gems_public_apis_pkg.fnd_apps_initialize
( user_id => p_user_id
, resp_id => p_resp_id
, resp_appl_id => p_resp_appl_id)

84)What is the name of the API parameter when they are True,False and NULL ?
Ans. apps.fnd_api.g_true, apps.fnd_api.g_false and apps.fnd_api.g_miss_char respectively.

85)What are the different steps in sending a mail from PL/SQL ?
Ans. PROCEDURE glp_send_mail_po_cancel
( p_org_id IN VARCHAR2
, p_feeder_source IN VARCHAR2
, p_subject IN VARCHAR2
, p_message_body IN VARCHAR2
, p_return_status OUT VARCHAR2
, p_error_message OUT VARCHAR2
v_host_name := utl_inaddr.get_host_name();
v_host_ip := utl_inaddr.get_host_address(v_host_name);
v_mailconn := utl_smtp.open_connection(v_host_ip, 25);
v_message := v_message || 'To: ' || v_to_email_tab(v_addr_cnt) || '>' || crlf;,v_message); -- calling mail procedure

86)How do u call a mail program from Shell program ?
Ans. for file in `find . -name "*.com*~$5" -print |cut -c3-120`
echo $file
frm=`echo $file | cut -d'~' -f1`
tom=`echo $file | cut -d'~' -f2 | sed 's/,/ /g'`
echo $frm
echo $tom
echo "Sending mail to $tom"
mailx -r "$frm" -s 'Order Shipment Confirmation' "$tom" < "$file"
if [ $rc != 0 ]
echo 'invalid file name'
fi 34
rm -f "$file"
if [ $rc != 0 ]
echo 'invalid file name'

87)How do submit a concurrent program from PL/SQL ?
Ans. apps.fnd_global.apps_initialize
(user_id => p_user_id
,resp_id => p_resp_id
,resp_appl_id => p_resp_appl_id)
*/ p_error_message := p_error_message ||'Calling Receiving transaction processor'||chr(10);
v_request_id := apps.fnd_request.submit_request
dbms_output.put_line('request id is :'||v_request_id); COMMIT;
p_error_message := p_error_message ||'Receiving Transaction Processing Request id :'||v_request_id ||chr(10) ;
IF (v_request_id > 0) THEN
v_complete := FND_CONCURRENT.wait_for_request ( request_id => v_request_id
, interval => 10
, max_wait => 0
, phase => v_phase
, status => v_status
, dev_phase => v_dev_phase 35
, dev_status => v_dev_status
, message => v_message);

88)How do u register a concurrent program from PL/SQL ?
Ans. apps.fnd_program.executable_exists -> To check if executable file exists
apps.fnd_program.executable -> To make executable file
fnd_program.program_exists -> To check if program is defined
apps.fnd_program.register -> To register/define the program
apps.fnd_program.parameter -> To add parameters
apps.fnd_program.request_group -> To add to a request group

89)How do u initialize an API ?
Ans. apps.gems_public_apis_pkg.fnd_apps_initialize
( user_id => p_user_id
, resp_id => p_resp_id
, resp_appl_id => p_resp_appl_id)
And U can get the parameters from the following script ->
, f4.responsibility_name responsibility_name
, f4.responsibility_id responsibility_id
--, v_responsibility_name
--, v_responsibility_id
FROM applsys.fnd_user_resp_groups f6
, apps.fnd_user f5
, apps.fnd_profile_options f1
, apps.fnd_profile_option_values f2
, apps.fnd_responsibility f3
, apps.fnd_responsibility_tl f4
WHERE SYSDATE BETWEEN f6.start_date AND NVL(f6.end_date,SYSDATE)
AND f5.user_id = f6.user_id
AND UPPER(f5.user_name) like '%GLOBALPARTS%'
AND f6.responsibility_id = f4.responsibility_id
AND f2.profile_option_value = TO_CHAR(13) -- Putting the ORG ID Value
AND f2.profile_option_id = f1.profile_option_id
AND f1.profile_option_name = 'ORG_ID'
AND f3.application_id = 201
AND f2.level_value = f3.responsibility_id
AND f3.responsibility_id = f4.responsibility_id
AND UPPER(f4.responsibility_name) LIKE UPPER('GEMS%PO%MANAGER%') 36

90)How Do u register a table & a column ?
Ans. EXECUTE ad_dd.register_table( 'GEMSQA', 'gems_qa_iqa_lookup_codes', 'T', 512, 10, 70);
EXECUTE ad_dd.register_column('GEMSQA', 'gems_qa_iqa_lookup_codes', 'LOOKUP_CODE', 1, 'VARCHAR2', 25, 'N', 'N');

91) What resources are provided for developing applications which will be
integrated into Oracle Applications Release 11?
a. The Oracle Applications Developer's Guide Release 11 and the Oracle
Applications User Interface Standards Release 11.
b. The AU_TOP/forms/US/TEMPLATE.fmb for developing a new form.
c. The AU_TOP/forms/US/APPSTAND.fmb contains standard property classes
for your runtime platform.
d. The AU_TOP/resource/FNDSQF.pll contains routines for Flexfields,
Function Security, User Profiles, Message Dictionary.
e. The AU_TOP/resource/APPCORE.pll contains standard User Interface routines.
f. The AU_TOP/resource/APPDAYPK.pll contains the Calendar Widget routines.
g. The AU_TOP/resource/CUSTOM.pll for adding custom code which affects Oracle
Applications forms without changing Oracle Applications code.
h. The AU_TOP/resource/GLOBE.pll allows Oracle Applications developers to
incorporate global or regional features into Oracle Applications forms
without modifying the base Oracle Applications forms. Globe calls routines
JA, JE, and JL libraries.
i. The AU_TOP/resource/JA.pll called from Globe and contains Asia/Pacific code.
j. The AU_TOP/resource/JE.pll called from Globe and contains EMEA
(Europe/Middle East/Africa) code.
k. The AU_TOP/resource/JL.pll called from Globe and contains Latin America code.
l. The AU_TOP/resource/VERT.pll allows Oracle Applications developers to
incorporate vertical industry features (for automotive, consumer packaged
goods, energy, and other industries) into Oracle Applications forms
without modifying the base Oracle Applications forms. 37
m. Oracle Developer/2000 Server Release 1.6.1.
NOTE: All FMB and PLL files must be migrated to your desktop if you intend to
develop and integrate custom applications into Oracle Applications
Release 11.

92. What are the supported versions of Forms and Reports used for developing
on Oracle Applications Release 11?
a. The following supported versions are provided in Developer/2000
Release 1.6.1:
i. Forms 4.5
ii. Reports 2.5

93. How do I compile and/or generate an Oracle Applications form?
cd $AU_TOP/forms/US
f45gen module=FNDSCAUS.fmb userid=APPS/APPS output_file=
/appl/v1100000/fnd/11.0.28/forms/US/FNDSCAUS.fmx module_type=form
batch=no compile_all=special
b. Windows NT
cd F:\applr11\au\11.0.28\forms\US
f45gen32 userid=APPS/APPS module=FNDSCAUS.fmb output_file=
applr11\fnd\forms\US\FNDSCAUS.fmx module_type=form batch=no

94. How do I open, compile and/or generate a custom Oracle Applications form on my desktop?
a. To port the AU_TOP/forms/US and AU_TOP/resource files to your Windows
i. Make copies of all required files.
ii. Replicate the AU_TOP directory structure on your desktop.
iii. Move the files to their appropriate AU_TOP/forms/US for FMB and
AU_TOP/resource for PLL.
iv. Include the AU_TOP/forms/US and AU_TOP/resource directories in
your FORMS45_PATH.
v. Open, compile and/or generate forms.
NOTE: The FORMS45_PATH is specified either in your Registry or oracle.ini.
NOTE: It may sometimes be necessary to convert FMB -> FMT and PLL -> PLD before 38
porting from a Unix platform to your desktop.

95. How do I add a CUSTOM_TOP to Oracle Applications?
a. Replicate an existing Oracle Applications product directory structure underneath your APPL_TOP:
| |
b. Make sure all the permissions on the files and directories are the same
as the other product directories.
c. Add the full path to this CUSTOM_TOP to your APPLSYS.env ( Source your
APPLSYS.env) or your Windows NT Registry:
UNIX: /u01/oracle/apps/vd11/xxcus/11.0.28
Windows NT: D:\oa\appltst\vd11\xxcus\11.0.28
d. Login to Oracle Applications using the System Administrator or Application
Developer Responsibility.
e. Navigate: Application -> Register and add your new CUSTOM_TOP to Oracle
Application Short Name Basepath Description
Custom Application XXCUS XXCUS_TOP Custom Application
f. Shutdown and restart your Internal Concurrent Manager (ICM) so that the
concurrent manager will recognize the change to the environment that was
made to the APPLSYS.env and Registry.

96. How to get the data from the views in Multi_ORG views ?
A. Using the profiles and client info package.
SELECT * FROM po_headers – this is multi org view
If we cant get the data with the above query then we have to write a procedure as shown below.
x NUMBER:=0; 39
fnd_client_info.set_org_context (204);
Compile and run the query once again.

97) What is Responsibility / Request Group?
Ans: Responsibility is used for security reason like which Responsibility can do what type of jobs etc.
Set of Responsibility is attached with a Request group. When we attach the request group to a concurrent program, that can be perform using all the Responsibilities those are attached with Request group.

98) What is DFF?
Ans: The Descriptive Flexi field is a field that we can customize to enter additional information for which Oracle Apps product has not provided a field.
Ex. ATP program calculates for those warehouses where Inventory Org Type is DC or Warehouse in DFF Attribute11 of MTL_PARAMETERS table.

99) What is Value Set?
Ans: Value Sets define and store the valid items of data, which may be entered into a field.
Key Flexfields, Descriptive Flexfields and many standard fields use Value Sets.
Oracle already comes with hundreds of Value Sets.
We define additional Value Sets to support our own user-defined Key and Descriptive Flexfields (although we may use any existing standard Value Sets if they suit our purpose).
In defining a new Value Set, we are defining the physical format of valid data, which can reside in that Value Set.
Data in a Value Set can be of several types:
Independently loaded into a Value Set (through a standard form).
Resident in a table (to which we direct the Value Set definition).
There could be No Validation (any data can go into the field, but still subject to the formatting rules.)
Dependent on the value of data in a preceding Independent segment (loaded through a standard form).
Ex: For Supplies & Accessories CC in ATP, we define GEMS_GPO_ASSIGN_SET value set for the assignment set associated with that OU.

100) What is multi-org?
Ans: It is data security functionality in Oracle 10.6 and above. Applicable User responsibilities are created and attached to specific Operating Unit. User can access the data that belongs to the Operating unit they login under. 40
The benefit is it enables multiple operating units to use a single installation of various modules, while keeping transaction data separate and secure by operating unit.
It has an effect on the following modules:
Order Entry
Project Accounting

101) Can you explain the Organization structure?
a) Business Unit / Group : It represents the highest level in Organization structure and has no accounting impact. It determines which employees will be available to Set Of Books and Operating Units.
Ex: Consolidated Enterprise / a major division / an operating company.
b) Set Of Books: It is a financial reporting entity that uses a particular
Chart of accounts,
Functional currency and
Accounting calendar.
It is the highest level with accounting significance. Document Sequencing (important in Europe) is at the Set of Books level. Also Period open/close is at the Set of Books level.
A Set of Books is associated with only one Business Group. A Business Group may be assigned several Sets of Books i.e Multiple sets of books can share the same business group if they share the same business group attributes.

Base Table: apps.gl_sets_of_books

c) Legal Entity: A legal company for which you prepare fiscal or tax reports.
Each Legal Entity is associated with only one Set of Books. A Set of Books may have multiple Legal Entities.
Base Table: apps.hr_legal_entities
d) Operating Unit: An organization that uses oracle order management, cash management, shipping execution, payables, purchasing and receivables.
It may be a sales office, a division, or a department. Standard reports are at the Operating Unit level.
An operating unit is associated with a legal entity.

Base Table: apps.hr_operating_units

e) Inventory Organization : An organization for which you track inventory transactions and balances, and/or an organization that manufactures or distributes products.
An Operating Unit may have multiple Inventory Organizations.
Ex: manufacturing plants, warehouses, distribution centers, and sales offices. 41
Base View: apps.org_organization_definitions
f) Subinventory: An inventory organization has a number of subinventories associated with it.

Base Table: apps.mtl_secondary_inventories (secondary_inventory_name = subinventory name)
g) Locator : These are the different locations in side a subinventory.

Base Table: apps.mtl_item_locations

105)What are the mandatory parameters in Concurrent program?
Ans: errbuf and Retcode (In case pl/sql store procedure)
p_conc_request_id (In case Oracle Report, it is an user-parameter)

106)Why we use token field for Concurrent program?
Ans: The Token is used as for binding purpose. The parameter value is passed to the .rdf/procedure through this token. The input (user) parameter value passes to the report / stored procedure after binding with this token. The concurrent program wont get impact even the user parameter names get changed, but got impacted when the token name changed.

107) What are the mandatory parameters in concurrent programs?
Ans: errbuf

108)Those are IN or OUT parameters.
Ans: Out Parameters

109)What is Request group?
Ans: Responsibility is used for security reason like which Responsibility can do what type of jobs etc.
Set of Responsibility is attached with a Request group. When we attach the request group to a concurrent program, that can be perform using all the Responsibilities those are attached with Request group.

110)What is MultiOrg? 42
Ans: It is data security functionality in Oracle 10.6 and above. Applicable User responsibilities are created and attached to specific Operating Unit. User can access the data that belongs to the Operating unit they login under.
The benefit is it enables multiple operating units to use a single installation of various modules, while keeping transaction data separate and secure by operating unit.
It has an effect on the following modules:
Order Entry
Project Accounting

111)There is an Object type “Spawned” in concurrent program. What is the use
Ans: It is used for Proc*C in executable field

112)How can we call a Report from Form in Apps?
Thru concurrent prog

113) what are the setup we need to do before running into Oracle Apps.
Ans: Go to Oracle Apps > System Administraror (Responsibility) > Create a User using SSO > Add responsibility
Switch to COE Dev Sys Administrator (Responsibility) > Add the Responsibility that is attached to the newly created User > menue > exclude / include the function according to the requirement

114) What is multi_org?
Ans: It is data security functionality in Oracle 10.6 and above. Applicable User responsibilities are created and attached to specific Operating Unit. User can access the data that belongs to the Operating unit they login under.
The benefit is it enables multiple operating units to use a single installation of various modules, while keeping transaction data separate and secure by operating unit.
It has an effect on the following modules:
Order Entry
Project Accounting

115) What is the difference between po_headers & po_headers_all?
Ans: Here comes the concept of multi_org. po_headers contains data that is irrespective of multi_org i.e any supplier can view all the records. In case of po_headers_all 43

116) What is the basic requirement that we need to set before starting a form in Oracle Apps
a) FTP the templet.fmb From $au_top/bin To Local m/c
b) Rename the templet.fmb as User defined name
c) Trigger Level Change: Pre_Form : app_window.set_window_position('BLK_ORG', 'FIRST_WINDOW'); -- 1st Window Name
set_window_property('BLK_ORG',title,'Form name') -- 1st Window Name, caption
Block Level Change: Rename Default_block
Form Level Change: Property Panel > Navigation > First Navigation Data Block > (Set A Block Name)
Program Unit Level: App_custom > (set the 1st window name)

118) What is the API we use to see the message from log file
When we use an API, it automatically stores the error message in a pl/sql table i.e creating a log of the errors.
We can see those error messages thougt fnd_message_pub API

119)There is a check box called Use in SRS. What is its use
SRS stands for Standard Request Submit. We can execute concurrent program by directly passing parameters. On checking this „Use In SRScheck box, we can independently use the concurrent program.

120)Do you know Extension table?
Ans: Unlike database table, it store outside the database like BFile (content store outside the DB but the location store in DB like pointer). It contains metadata only. So no DML operation (except SELECT, Group by, Order By) can possible.

121)Why do we call FND SRWINIT from Before Report Trigger
A. FND SRWINIT fetches concurrent request information and sets up the profile options. It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY features in his report (such as concurrent processing)

122)Why do we call FND SRWEXIT from After Report Trigger
A. FND SRWEXIT frees all the memory allocations done in other Oracle Applications user exits. It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY features in his report (such as concurrent processing)

123) Why do we call FND FLEXSQL from the Before Report Trigger?
A. One need to pass the concatenated segment values from the underlying code combinations table to the user exit so that it can display appropriate data and derive any description and values from switched value sets as needed. One gets this information by calling the AOL user exit FND FLEXSQL from the before report Trigger. 44

124. If u call the user exit FND FLEXSQL with MODE = “ WHERE” from the Before Report Trigger. What will it do?
A. This user exit populates a lexical parameter that you specify with the appropriate SQL fragment at run time. You include this lexical parameter in the WHERE clause of the report query. This user exit is called once for each lexical to be changed.

125. If u call the user exit FND FLEXSQL with MODE = “ ORDER BY” from the Before Report Trigger. What will it do?
A. This user Exit populates the lexical parameter that one specifies with the appropriate SQL fragment at run time. One includes this lexical parameter in the ORDER BY clause of the report query. This user exit is called once for each lexical to be changed.

126. How can we display flexfield segment values, descriptions, and prompts on the report?
A. Create a formula Column. Call the user exit FND FLEXIDVAL as the formula for this column. This user exit automatically fetches more complicated information such as descriptions and prompts so that one does not has to use complicated table joins to the flex field tables.

127. Name some options of the FND FLEXSQL user exit

128. Describe CODE option of the FND FLEXSQL user exit
A. Specify the flex field code for the report (for example, GL#, MCAT).

129. Describe the APP_SHORT_NAME option of the FND FLEXSQL user exit
A. Specifies the short name of the application that owns the flex field (for example: SQLGL, INV)

130. Describe the OUTPUT option of the FND FLEXSQL user exit
A. Specify the name of the lexical parameter to store the SQl fragment. One uses this lexical later in the report when defining the SQL statement that selects the flexfield values. the datatype of this parameter should be character.

131. Describe the MODE option of the FND FLEXSQL user exit
A. Specify the mode to use to generate the SQL fragment . valid mode are :
SELECT: Retrieves all segments values in an internal (non- displayable format).
WHERE: Restrict the query by specifying constraints on flexfield columns. The fragment returned includes the correct decode statement if one specifies MULTINUM. One must also specify an OPERATOR and OPERANDS.
HAVING: Same calling procedures and functionality as WHERE.
ORDER BY: Order required information by flexfield columns. The fragment Orders your flexfield columns and separates them with a comma. The fragment returned includes the correct decode statement, one specifies in MULTINUM.

132. Describe the DISPLAY option of the FND FLEXSQL user exit
A. One uses the DISPLAY token with the MODE token . the DISPLAY parameter allows you to specify segments that represent specified flexfield qualifiers or specified segments numbers , 45
where the segment numbers are the order in that the segments appear in the flexfield window, not the segment number specified in the Define Key Segments form.
Eg. If your MODE is SELECT and you specify DISPLAY = “ALL” then the SELECT statement includes all the segments of the flexfield. . Similarly, if your MODE is WHERE and you specify DISPLAY = “ALL”, then your WHERE clause includes all segments.

133. Describe the SHOWDEPSEG option of the FND FLEXSQL user exit
A. SHOWDEPSEG = “N” disables automatic addition of depended upon segments to the order criteria. The default is “Y”. This token is valid only for MODE = “ODER BY” In FLEXSQL.

134. Describe the NUM option of the FND FLEXSQL user exit
A. Specify the name or lexical or source column that contains the flexfield structure information. If the flexfield uses just one structure, specify NUM only and use a lexical parameter to hold the value. If the flexfield uses multiple structures, specify MULTINUM only and use a source column to hold the value. The default value is 101.

135. Describe the TABLE ALIAS option of the FND FLEXSQL user exit
A. You use TABLE ALIAS if your SELECT joins to other flexfield tables or uses a self – join.

136. Describe the OPERATOR option of the FND FLEXSQL user exit
A. Specify an operator to use in the WHERE clause.

137. Describe the OPERAND1 option of the FND FLEXSQL user exit
A. Specify an operand to use in the WHERE clause,

138. Describe the OPERAND2 option of the FND FLEXSQL user exit
A. Specify a second operand to use with OPERATOR = “BETWEEN”

139. Where is FND FLEXIDVAL user exit used
A. Call this user exit to populate fields for display. You pass the key flex fields data retrieved by the query into this user exit from the formula column. With this exit you can display values, descriptions and prompts by passing appropriate token (any one of VALUE, DECRIPTION<APROMPT or LPROMPT).

140) Name the interface tables used for the customer interface?

141) What is the name of the column in CUSTOMER_INTERFACE_TABLE that indicates whether you are inserting new or updating existing information?
A: When importing data into the interface tables, the column INSERT_UPDATE_FLAG indicates whether you are inserting new or updating existing information. This column is required in RA_CUSTOMERS_INTERFACE. 46

142) If the INSERT_UPDATE_FLAG is not set correctly or the required column is missing the value, will CUSTOMER INTERFACE reject the entire record or just the attributes u want to update?
A Reject the entire record.

143) List some of the required columns for the RA_CUSTOMERS_INTERFACE?
CUSTOMER_NUMBER (if you are not using Automatic Customer Numbering)
If you are importing an address and a business purpose, you must also populate the following columns:
PRIMARY_SITE_USE_FLAG (if you are inserting an address)
LOCATION (if you are not using Automatic Site Numbering)
SITE_USE_CODE (if you are inserting an address)

144) List some of the production tables that Customer Interface transfers customer data from the interface tables into?

145). What validation must be given on the customer_number?
A Must be null if you are using Automatic Customer Numbering. Must exist if you are not using Automatic Customer Numbering. This value must be unique within RA_CUSTOMERS.

146) What validation must be given on the CUSTOMER_STATUS?
A Must equal A for Active or I for Inactive.

147) Name some of the Oracle receivables Interfaces?
A a) Auto Invoice
b) Auto Lockbox
c) Customer Interface 47
d) Sales Tax rate Interface
e) Tax Vendor Extension

148) Give some of the Oracle Payables interface?
A. a) Credit Card Transaction Interface
b) Invoice Import Interface
c) Payables Open Interface
d) Purchase Order Matching

149). Name some of the oracle general ledger Interface?
A a) Budget Upload
b) Importing Journals
c) Loading Daily rates

150). What are the names of the parameters u pass to the Procedure which u register in the apps?
A. 1) retcode in varchar2
2) errbuf in varchar2

151). What is the use of Auto lock Box?
A Auto Lockbox (or Lockbox) is a service that commercial banks offer corporate customers to enable them to outsource their accounts receivable payment processing.

152). Auto Lockbox is a three-step process, what are those?
A. a) Import
b) Validation
c) PostQuickCash

153). What is the order in which Autolock box searches for the types of the matching number?
A. 1. Transaction Number
2. Sales Order Number
3. Purchase Order Number
4. Consolidated Billing Invoice Number
5. Other, user-defined number.

154. What is application short name for General Ledger you specify in FND FLEXSQL user exit?

155) . What are validations to be done in Journal Import interface.
A. Batch level: Set of Books, Period Name, and Batch Name
Journal Level: Set of books, Period name, Source name, Journal entry name, Currency code, Category name, Actual flag, Encumbrance type ID, User conversion type, Accounting date, Budget version ID

156) What subclass in forms6i 48
A Specifies module, storage & name information about the source object and source module for a referenced objects.

157) What is the clause in SQL * Loader to program to override data into table

158). How do you set profile in oracle applications In Application Developer responsibility?
A Open „Profile Function

159). What is the syntax for loading data through SQL * Loader from multiple files simultaneously
A. Sqlldr scott/tiger@orcl control = ctlfile
parfile -- parameter file: name of file that contains parameter specifications
parallel -- do parallel load (Default FALSE)

160) What is the table name for items in Oracle Inventory

161). Tell me names of important production tables & their purpose AP, AR, GL, PO
To store invoices
PO: PO_VENDORS, PO_VENDOR_SITES - For storing vendor data.

162). Name the interface tables used for the LockBox Interface
Lockbox transfers the receipts that pass validation to the Receivables interim tables AR_INTERIM_CASH_RECEIPTS_ALL and AR_INTERIM_CASH_RCPT_LINES_ALL
When you run Post QuickCash, the receipt data is transferred from the QuickCash tables to the following Receipt tables:

163) Name the interface tables used for the Auto Invoice Interface.
A Auto Invoice transfers transaction data from the interface tables
into the following Receivables tables:

164). Different Type of Value Sets. What is exactly Translatable independent and Translatable Dependent Value Sets (Introduced in latest version of 11i).
Ans:- There are 8 types of Values Sets.
a. None (Non Validate at all) (Validation is Minimal)
b. Independent (Input must exist on previous defined list of values)
c. Dependent (Input is checked against a subset of values based on prior Value)
d. Table (Input is checked against a subset of values in an application table)
e. Special (advanced) (Value set uses a flexfield itself)
f. Pair (advanced) (Two Flexfields together specify a range of valid values)
g. Translatable Independent (Input must exist on previous defined list of values. Translated value can be used)
h. Translatable Dependent. (Input is checked against a subset of values based on a prior value; translated value can be used)
(Note:- When you first define your flexfields, you choose how many segments
You want to use and what order you want them to appear. You also
Choose how you want to validate each of your segments. The decisions
You make affect how you define your value sets and your values.)

165) How to run a concurrent program. What all concurrent programs u have
Ans:- (Definition :- A concurrent program is an instance of an execution filealong with
parameter definitions and incompatibilities. Concurrent programs use concurrent program executables to locate the correct execution file.)
Oracle Tool Concurrent Program * A concurrent program written in
Oracle Reports, PL/SQL package procedures,
SQL*Loader, SQL*Plus, Host Scripting.
How to Run : * Write a execution file and place in correct directory.
Establish executables in Oracle apps specify execution file and method.
Define Concurrent Program (Program, Parameters and Incompatibilities)
Call your Program (- Thu application form, from other concurrent program.
- OR through standard request submission, you must check the „USE in SRS check box and register your program parameters when you define your concurrent program. Add your program into the request security group for your custom application.)
I have created reports through concurrent program, load(sql*loader/pl-sql pkg-proc) the file through concurrent program.

166) What is parameter in apps and from where u can create it.
Ans:- Parameters only using in report, you can create in defining the report in
apps (you can create the parameter there only).

167)What all are the tables used in the modules u have worked on.
*In PO- I have worked on PO_HEADER_ALL…..

168)What is Profile? Explain different levels of Profile.
Ans:- A user profile is a set of changeable options that affects the way your
applications run. Oracle Application Object Library establishes a value
for each option in a users profile when the user logs on or changes 50
responsibility. Your user can change the value of profile options at any
time a) To create Profile Option. ( Profile Option can created by developer in application developer area) b)set the value (Values of the profile option , who will have what value at various levels is set by SYSADMIN). Oracle Application Object Library provides many options that. (Edit profile feature for every user is available to set any value to allow the user).your users can set to alter the user interface of your applications to satisfy their individual preferences.

Profile Option – set at run time like – User Related, responsibility, Sequence, Printer, Security.

Values in 4 Levels(HIEARCHY WISE) :-
Application Developer create the profile.
System Administrator make profile option.
(NOTE:- If any change in value, it will active when you re-login or switch
to the responsibility.)
( Usage in the multi-tier, the profile is biggest impact)

169)How to restrict the data for a responsibility as per the ORG-ID
Ans:-Through Multi – Org(MO) u can restrict the data for a responsibility as per the ORG-ID. Only in GL- Set of book Id you set the value to restrict the data for a responsibility.

170) What is Flexfield? What is flexfield qualifier and what is segment qualifier?
Ans:- A flexfield is made up a segments (Which are actually table columns). Each segment has a name that can be assigned, and set of valid value.
Purpose and Application:-
* Flexibility to implement code structure.
* Flexibility to capture additional information.
Two Types of Flexfields in oracle apps.
1. Key Flexfields (KFF)
2. Descriptive Flexfields (DFF)

A key flexfield segment has a name you assign, and set of valid values you specify. Each value has a meaning which can be specified.

Flexfield Qualifier:-flexfield qualifier identifies a particular segment of a key flexfield..
Usually an application needs some method of identifying a particular
segment for some application purpose such as security or computations. However, since a key flexfield can be customized so that segments appear in any order with any prompts, the application needs a mechanism other than the segment name or segment order to
use for segment identification.

Segment Qualifier :- A segment qualifier identifies a particular type of value in a single
segment of a key flexfield.
In the Oracle Applications, only the. Accounting Flexfield uses segment qualifiers. You can think of a segment qualifier as an ”identification tag” for a value. In the Accounting Flexfield, segment qualifiers can identify the account type

171) Which flexfield qualifiers are mandatory?
Ans:- „Balancing Segment flexfield qualifier is mandatory. 51

172) Difference Between versions of Apps.(Front end & Database)
Ans:- In backend- Client server architecture (old)/ Three tire architecture
In font end- Client Server Application (old)/ Web Based application

173)What is MULTI-ORG and what is structure of multi-org.
Ans:- Use a single installation of any oracle applications product to support any number of organizations. if those organizations use different set of books.
Support any number or legal entities with a single installation of oracle applications.
Secure access to data so that users can access only the information that is relevant to them.

Structure :- Business Unit
-GL(Set of Books)(Currency, Calendar, Chart of Account)
Balancing Segment(You can do multiple balancing segment)
-Operating Units (Purchase, Selling, Fixed Asset, Payable,
-Inventory Organizations (Storing Items, Transaction Happening,
Ware Housing)
(Note:- Means if you maintaining GL(set of book id), If u have operating unit, if you
have inventory then its called MULTI-ORG)

174)What is difference between ORG_ID and ORGANIZATION_ID in Multi-Org.
At where we can set ORG_ID and ORGANIZATION_ID level it comes in the
Ans:-A Global Variable exists in the oracle database called CLIENT_INFO, which is 64 bytes long. The first 10 bytes are used to store the operating unit ID(or ORG_ID) for the multiple organization support feature.
Multi-Org views are partitioned by ORG_ID. The ORG_ID value is stored in CLIENT_INFO variable.(It comes in AP,PO,AR,OM level)
ORGANIZATION_ID – Its for Inventory, Mfg, & BOM.
15.Q.What are the default types of parameters. What is the use of each one of it.

175)ORG_ID can be set at master levels or transaction level.
Ans:- ORG_ID can be set at transaction Level.

176)Differnet type of execution methods in Conc.Progs. Explain Each Type.
Ans:- a.Oracle Reports- You can register your report as executable file type is oracle reports.
b. PL/SQL Package Procedure - You can register your PL/SQL Package Procedure as executable file type is oracle PL/SQL Package Procedure.
1. SQL Loader- You can register your SQL Loader SQL Loader is your executable file type.(for data loading)
2. SQL*Plus :- You can register your SQL script as SQL*Plus executable type.
3. Host Scripting:- You can write down Unix Host scripting and register here.

177) What is difference between oracle schema and apps schema.
Ans:-Database Schema-
The APPS schema- is an ORACLE schema that has access to the
complete Oracle Applications data model. This schema is maintained
by Auto Install .

178)What are the objects APPS schema contain. 52
Ans:- The APPS schema contains synonyms to all tables and
sequences as well as all server–side code (stored procedures, views,
and database triggers).
For ERP applications, data partitioning is performed by database
views. These views reside in the APPS Oracle schema and derive the
appropriate operating unit context from an RDBMS variable.

179)When will a New version of flint60 be released?
flint60 is a developer/development tool. Since flint60 can change at any time, the most current flint60 will always obsolete all prior releases. In other words, the development standards implemented in the most current flint60 are the standards to which everyone using flint60 must adhere.
1. How do I register a custom concurrent program?

Step 1: Register a concurrent program executable Navigate to the Define Executable form (AOL Reference manual pg 9-84) This determines the type of program being run, ie an Oracle Report, a C program, a shell script etc. Fill in the executable name, application and execution method. For the Execution File, fill in just the filename. The concurrent manager will look in the appropriate directory under the application's top directory. For spawned programs, the file must be in the bin directory, for Oracle Reports the rdf file must be in the srw directory. For PLSQL concurrent programs, put the name of the stored procedure.
Step 2: Define the concurrent program Navigate to the Define Concurrent Program form (AOL Reference manual pg 9-87) This form links a concurrent program to the executable you just defined, as well as defines the programs parameters, incompatibilities, and other options. Enter the concurrent program name, application, short name and description. Check Standard Submission if you want to be able to submit this program from the Standard Report Submission form. Enter the name of the executable you defined and any report information if necessary. Also define any parameters your program needs here and any incompatibilities.
Step 3: Add the concurrent program to a Report Group First you will need to find the name of the Report Group to use. Go to Security->Responsibility and query the responsibility you want to run the program with. It should show a Report Group name. Query this name in Security->Responsibility->Report Add your new program to the list of available programs. Now when you go to submit a request with this responsibility, you will be able to submit your custom program

180)How do I compile a custom C program?
Spawned programs:
Step 1: Write the code Self-explanatory
Step 2: Compile the source You must use the makefile under $FND_TOP/usrxit Use: make -f $FND_TOP/usrxit/Makefile program.o We do not support using any other makefile
Step 3: Link the program This part is a little tricky. You need to create a custom makefile for this step. Use $FND_TOP/lib/ as a starting point. Copy this file to the lib directory under your applications top directory. Rename it <short name>.mk (ie, etc) Modify this file according to the directions in it. Basically you need to 53
add a target and build commands for your executable. Next, use adrelink to link the executable: adrelink force=y ranlib=y "shortname programname"
" Step 4: Register the program as in the above question
Immediate programs: Just don't do it.

181)How do I run a shell script as a concurrent program?
1: Write the script and call it <name>.prog Place the script under the bin directory under your applications top directory. For example, call the script CUSTOM.prog and place it under $CUSTOM_TOP/bin
2: Make a symbolic link from your script to $FND_TOP/bin/fndcpesr For example, if the script is called CUSTOM.prog use this: ln -s $FND_TOP/bin/fndcpesr CUSTOM This link should be named the same as your script without the .prog extension It should be in the same directory as the script.
3: Register a concurrent program as described above, using an execution method of 'Host' Use the name of your script without the .prog extension as the name of the executable For the example above, you would use CUSTOM CUSTOM
4: Your script will be passed at least 4 parameters, in $1 through $4 These will be: orauser/pwd, userid, username, request_id Any other parameters you define will be passed in $5 and higher. Make sure your script returns an exit status.
define will be passed in $5 and higher. Make sure your script returns an exit status.
5: If your script returns a failure exit status but the concurrent manager does not report the error (shows it as still running normal) apply patch 442824

182)How will u register RDF file and run it? Tell the Sequence?
Steps a. Save the copy of ur reports in rdf file in ur local directory.
b. Transfer or copy the rdf file to cus_top under reports directory through ftp.
C. Then go concurrent program under executable menu where u define executable file and program name
d. Then go to define the program name (which ur executable file name ) and check the srs box and define the parameter and give the parameter name in token
e. Attach the program(request to ur responsibility )
d run the program and view the out put is srs through ur responsibility
What are different types of value sets ?

183)What is translatable Independent & Dependent ?
The value set used to support the multilingual value set.

185))How do I submit a concurrent request from PL/SQL?
ans : using fnd_request.submit_request .
v_request_id := fnd_request.submit_request(applicationshortname,
end 54
if v_request_id > 0 then
dbms_output.put_line('Successfully submitted')
dbms_output.put_line('Not Submitted');

note : to submit a conc program from UNIX/shell scrip we use CONSUB

186) How do I cancel a running concurrent request?
Navigate to the Concurrent Request Summary form Select a request The Sysadmin responsibility can cancel or hold any running request

187) What is the difference between organization id and org_id ?
Organization_id stores inventory organization id ( like 204 for M1)
Org_id stores the OU id corresponding to a operating unit .

188) What is the difference between conversion and interfaces ?
conversion means one time activity interface means periodic activity
example:- to transfer the data old version to new version it is called conversionto transfer the data from staging table to interface table it is called interface , it is process on every day or every hour ........

189) What are the different types of value sets and also explain each briefly ?
Different types of Value sets are,
1) Independent- This Value set contains list of values which does not depends on any other value
2) Dependant- It contains values which depends on any one of the Independant value
3) Pair- combines 2 flex field together to specify range of valid values
4) Special- Uses only 1 flex field structure to specify values
5) Table- This Value set contains list of values from 1 or more than 1 table columns
6) Translatable Dependant- Same as Dependant value set, only translated values are present
7) Translatable Independant- Same as Independant value set, only translated values are present

190) How do you register a table and columns in Oracle Apps>
To register the table and columns in AOL the navigation is: Open Appliaction Developer---> Appliaction--->Database--->table.(In table mention the table name(which you want to register), user table name,columns,user column name). The table & columns which you are going to register should be present in your module specific schema

195) What can we find TEMPLATE.FMB file ?
Template.fmb file can be found in AU_TOP resource directory. This file contains all the Common characterstics all the forms. And also Contains Diffrent libraries. like CUSTOM.pll,APPCORE,APPCOREE2,FNDSQF, JE,JL,JA,VERT,GLOBE etc.. And Template.fmb cotains Diffrent propery classes for all the objects. This Template.fmb can be used for developing the new form 55

196) What are the libraries attached to TEMPLATE form ?
The Template form required 19 .pll in 11i version. Those pll names are :
APPCORE.pll APPCORE2.pll FNDSQF.pll APPDAYPK.pll GLOBE.pll JE.pll JL.pll JA.pll VERT.pll GHR.pll PQH_GEN.pll PSAC.pll PSB.pll PSA.pll IGILUTIL.pll
IGILUTIL2.pll CUSTOM.pll GMS.pll FV.pll OPM.pll

197)What is Concurrent Programming?
Concurrent Processing in Oracle Apps simultaneously executes programs running in the Background with on line operations to fully utilize your hardware capacity.
Use Concurrent Programming for
Long Running – Data intensive tasks such as Posting a Journal or generating a report.

198)What is the Role of Concurrent Managers?
A Concurrent Manager is a component of Concurrent processing that monitors and runs tasks without tying up your computer.

199)What is AOL?
Oracle Applications are constructed and maintained using the Application Object Library (AOL).
The Three main areas of AOL are
Applications Security
Operating Profile
Concurrent Processing

1. What is the Flex field? What are the types of Flex field?
Flex Field is “Flexible Field”
A Flexfield is made up of Segments.
Each segment has a name that can be assigned and has set of valid values.
There are two types of Flex field Key Flex Field and Descriptive Flex Fields.

1. What are the tables related to flex field?