Você está na página 1de 135

ORACLE APPS INTERVIEW QUESTIONS AND ANSWERS

1. What is the Diff between APPS Schema and other Schemas?


Apps schema contains only Synonyms we can't create tables in apps schema,where
as other schema s contains tables, & all the objects. Here only we will create the
tables and giving grants on created tables. Almost all every time we will connect to
apps schema only.
2. What is meant by Custom Top and what is the Purpose?
Custom Top is nothing but Customer Top, which is created for customer only. we can
have multiple customtops based on client requirement. It is used to store developed
& customized components. whenever oracle corp applying patches it will over ride
on all the modules except custom top. that's why we will use custom top.
3. What is the Significancy of US Folder?
It is nothing but language specification by default it is in american language. We can
have multiple languages folders based on installed languages. from backend we
can get it from
FND_LANGUAGES -- COL --INSTALLED_FLAG I,B,D
I--INSTALLED,
B--BASE,
D--DISABLE
select language_code,nls_language from fnd_languages where installed_flag like 'B'
4. Where did U find the Applcation short name and basepath names?
select basepath,application_short_name from fnd_application from the backend.
From the from end we can get it Navigation Application Developer.----->
Application---->Register The application name we will get from
FND_APPLICATION_TL
5. Where can U find the release version from backend?
SELECT release_name from FND_PRODUCT_GROUPS; ---11.5.10.2

6.What are the Folders we will find below the 11.5.0 Folder?
Reports,forms,sql,lib,log,out,bin,admin,html,xml,msg,def, etc
7. Can we create Tables in the Apps Schema? No.
8.Can we have custom schema when it it required?
yes, we can have custom schema, when we want to create a new table we required
custom schema.

9. What is meant by concurrent Program?


It is nothing but Instance of the execution along with parameters & Incompatables.
Here Incompatables nothing but if we are submiting cc programs if any one can be
execute in those program , which programs r not imp yet this time we will mention
those programs in incompatables tab.
10.What are the steps we will follow to register Reports as Concurrent
Program?
First develop the report & save it in local machine. upload into
custom_top/11.5.0/reports/us/ go to system administrator open executable form
create executable by mentioning executable method as reports ,executable as
report name which was created. go to cc program form create ccprogram by attach
executable name in executable section. then attach this ccprogram to request
group, Request group to Responsibility.Responsibility to User.
11. What is meant by Request group?
It is nothing but collection of cc programs.
12. What is Application Top? What are the types and Purpose?
A) When we connect to the server we will find the top called application top. Under
application top we have Product top Custom top
Product top is the default top built by the manufacturer. Custom top is used to
select the Client for his business purposes. Customizations are done with the
Custom top.
13. What is US folder in the Custom Top?
It is a language specific folder used to store the G.U.I like reports and forms.
14. What are mandatory parameters of Procedures and what the use of
those?
Errorbuf: It is used to returns the error messages and sent it to the log file.
Retcode: It is used to show the status of the Procedure with 0, 1, and 2 0 for
Completed Normal
1 for Completed Warning
2 for Completed Error
15 What is Apps Schema and Schema?
Schema: Schema is the location in database contains database objects like views,
tables, and synonyms.
Apps Schema: It is used to connect the all schemas to get the information from The
database.

16.What is Token?
a) Use to transfer values to report builder and it is not case sensitive.
17.Difference between FORM, Function and Menu?
a) A menu is a hierarchical arrangement of functions and menus. Each
responsibility has a menu assigned to it. A function is a part of an application that is
registered under a unique name for the purpose of assigning it to be including it
from a menu.
18.Tell me something about SQL-LOADER.
Sql * loader is a bulk loader utility used for moving data from external files into the
oracle database.
Sql* loader supports various load formats, selective loading, and multi-tables loads.
1) Conventional --The conventional path loader essentially loads the data by using
standard insert statement.
2) Direct -- The direct path loader (direct = true) by possess of logic involved with
that, and loads directly in to the oracle data files.
EX:- My data.csv file
1001, scott tiger,1000,40
1002,gvreddy,2345,50
Load data
Infile c:\data\mydata.csv
insert Into table emp Fields terminated by , optionally enclosed by
(empno, empname,sal,deptno)
>sqlldr scott/tiger@vis control=loader.ctl log= gvlog.log bad=gvbad.bad
discard=gvdis.dsc .
19. What is SET-OF-BOOKS?
Collection of Chart of Accounts and Currency and Calendars is called SOB
20. Tell me what r the Base tables in the AR?
hz_parties (party_id) (store info about org, groups and people)
HZ_PARTIES stores information about parties such as organizations, people, and
groups, including the identifying address information for the party.
hz_cust_accounts (cust_account_id)
HZ_CUST_ACCOUNTS stores information about customer relationships. If a party
becomes a customer, information about the customer account is stored in this table.
You can establish multiplecustomer relationships with a single party, so each party
can have multiple customer account records in this table.
hz_cust_acct_sites_all (cust_acct_site_id)
HZ_CUST_ACCT_SITES_ALL stores information about customer sites. One
customer account can have multiple sites. The address is maintained in

HZ_LOCATIONS.
hz_cust_site_uses_all (site_use_id)
HZ_CUST_SITE_USES_ALL stores information about site uses or business purposes. A
single customer site can have multiple site uses, such as bill to or ship to, and each
site use is stored as a record in this table.
hz_party_sites (party_site_id)
HZ_PARTY_SITES stores information about the relationship between Parties and
Locations. The same party can have multiple party sites. Physical addresses are
stored in HZ_LOCATIONS.
hz_locations (location_id)
HZ_LOCATIONS stores information about physical locations.
hz_Person_Profiles (person_profile_id)
HZ_PERSON_PROFILES stores detail information about people.
hz_Organization_Profiles (organization_profile_id)
HZ_ORGANIZATION_PROFILES stores credit rating, financial statistics, socioeconomic
and corporate linkage information for business sites. The primary key for this table
is ORGANIZATION_PROFILE_ID.
21.FND USER EXITS:FND SRWINIT sets your profile option values, multiple organizations and allows
Oracle Application Object Library user exits to detect that they have been called by
an Oracle Reports program.
FND SRWEXIT ensures that all the memory allocated for AOL user exits have been
freed up properly.
FND FLEXIDVAL are used to display flex field information like prompt, value etc
FND FLEXSQL these user exits allow you to use flex fields in your reports
FND FORMAT_CURRENCY is used to print currency in various formats by using
formula column
22. What is Value Set?
The value set is a collection (or) container of values.Whenever the value set
associated with any report parameters. It provides list of values to the end user to
accept one of the values as report parameter value.
If the list of values needed to be dynamic and ever changing and define a table
based values set.
12)What are the validation types?
1) None -------- validation is minimal.
2) Independent ------input must exist on previously defined list of values
3) Dependent ------input is checked against a subset of values based on a Prior
value.
3) Table ----- input is checked against values in an application table
4) Special ------values set uses a flex field itself.
5) Pair ------ two flex fields together specify a range of valid values.
6) Translatable independent ----- input must exist on previously defined list of
values; translated values can be used.

7) Translatable dependent ------- input is checked against a subset of values based


on a prior values; translated value can be used.
23. Form development process?
a) Open template form
b) Save as <your form>.fmb
c) Change the form module name as form name.
d) Delete the default blocks, window, and canvas
e) Create a window.
f) Assign the window property class to window
g) Create a canvas (subclass info)
h) Assign canvas property class to the canvas
I) assign the window to the canvas and canvas to the window
j) Create a data block
k) Modify the form level properties. (sub class item Text item)
l) Modify the app_custom package. In the program unit.
m) Modify the pre-form trigger (form level)
n) Modify the module level properties ((console window, First navigation
p) Save and compile the form.Place the .fmx in the server directory.
24. How does u customize the Reports?
a. Identify the Short name of the standard report in which module we have to
customize
Ex: - if u wants to customize in the AR module path is
Appl top\ar\11.5.0\reports\US\ .rdf
b. Open the .rdf file in Report builder and change the name of the module.
c. Open the data module and modify the query (what is client requirements) assign
the columns to the attributes.
d. Go to report wizard and select, what r the newly created columns.
e. Then Compile it. Then u will get a .rep file in the specified module. If it is not in
the specified directory then we have to put in the server directory.
f. Then Register in the AOL Concurrent Executable and Concurrent Program.
g. Go to system administrator Security Responsibility request.
h. Add and assign a concurrent program to a request group
25. FLEX FIELDS?
26. Difference between Bind and Lexical parameters?
BIND VARIABLE: are used to replace a single value in sql, pl/sql bind variable may be
used to replace expressions in select, where, group, order by, having, connect by,
start with cause of queries.
bind reference may not be referenced in FROM clause (or) in place of reserved
words or clauses.
LEXICAL REFERENCE: You can use lexical reference to replace the clauses appearing
AFTER select,
from, group by, having, connect by, start with. You cant make lexical reference in

pl/sql statements.
27. what is Flex mode and Confine mode?
Confine mode:
On: child objects cannot be moved outside their enclosing parent objects.
Off: child objects can be moved outside their enclosing parent objects.
Flex mode:
On: parent borders "stretch" when child objects are moved against them.
Off: parent borders remain fixed when child objects are moved againstthem.
28. What is Place holder Columns?
A placeholder is a column is an empty container at design time. The placeholder can
hold a value at run time has been calculated and placed in to It by pl/sql code from
anther object.
You can set the value of a placeholder column is in a Before Report trigger.
Store a Temporary value for future reference. EX. Store the current max salary as
records are retrieved.
29. What is Formula Column?
A formula column performs a user-defined computation on another column(s) data,
including placeholder columns.
30.What is Summary columns?
A summary column performs a computation on another column's data. Using the
Report Wizard or Data Wizard, you can create the following summaries: sum,
average, count, minimum, maximum, % total. You can also create a summary
column manually in the Data Model view, and use the Property Palette to create the
following additional summaries: first, last, standard deviation, variance.
31.What is TCA (Trading Community Architecture)?
Ans. Oracle Trading Community Architecture (TCA) is a data model that allows you
to manage complex information about the parties, or customers, who belong to your
commercial community, including organizations, locations, and the network of
hierarchical relationships among them. This information is maintained in the TCA
Registry, which is the single source of trading community information for Oracle EBusiness Suite applications.
32.Difference between Application Developer and System Administrator?
Role of Technical Consultant:
a. Designing New Forms, Programs and Reports

b. Forms and Reports customization


c. Developing Interfaces
d. Developing PL/SQL stored procedures
e. Workflow automations
Role of System Administrator:
a. Define Logon Users
b. Define New/Custom Responsibility
c. Define Data Groups
d. Define Concurrent Managers
e. Define Printers
f. Test Network Preferences
g. Define/Add new Modules
Role of an Apps DBA:
a. Installing of Application
b. up gradation
c. Migration
d. Patches
e. Routing maintenance of QA
f. Cloning of OA
33. What are Flex fields?
A Flex field is a customizable field that opens in a window from a regular Oracle
Applications window. Defining flex fields enables you to tailor Oracle Applications to
your own business needs. By using flex fields, you can:
(a) Structure certain identifiers required by oracle applications according to your
own business environment.
(b) Collect and display additional information for your business as needed.
Key Flex fields: You use key flex fields to define your own structure for many of
the identifiers required by Oracle Applications. Profile Flexfields:Open Key
Window (FND_ID_FLEXS)
Descriptive Flex field: You use descriptive flex fields to gather additional
information about your business entities beyond the information required by Oracle
Applications. Profile Flex fields: Open Descr Window (FND_DESCRIPTIVE_FLEXS)
34. Report registration process?
1.
2.
3.
4.
5.

Create the report using the report builder.


Place the report definition file in the module specific reports directory.
Create an executable for the report definition file.
Create a concurrent program to that executable.
Associate the concurrent program to a request group.

35.Define Request Group?


A request security group is the collection of requests, request sets, and concurrent
programs that a user, operating under a given responsibility, can select from the
Submit Requests window.
36.Value Sets?
Oracle Application Object Library uses values, value sets and validation tables as
important components of key flex fields, descriptive flex fields, Flex Builder, and
Standard Request Submission.
When you first define your flex fields, 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.
You define your value sets first, either before or while you define your flex field
segment structures. You typically define your individual values only after your flex
field has been completely defined (and frozen and compiled). Depending on what
type of value set you use, you may not need to predefine individual values at all
before you can use your flex field.
You can share value sets among segments in different flex fields, segments in
different structures of the same flex field, and even segments within the same flex
field structure. You can share value sets across key and descriptive flex fields. You
can also use value sets for report parameters for your reports that use the Standard
Report Submission feature.
Navigation Path:
Login Application Developer -> Application -> Validation -> Set
38. Incompatibility in report registration and Run Alone?
Identify programs that should not run simultaneously with your concurrent program
because they might interfere with its execution.
You can specify your program as being incompatible with itself.
Application: Although the default for this field is the application of your concurrent
program, you can enter any valid application name.
Name: The program name and application you specify must uniquely identify
aconcurrent program. Your list displays the user-friendly name of the program, the
short name, and the description of the program.
Scope: Enter Set or Program Only to specify whether your concurrent program is
zincompatible with this program and all its child requests (Set) or only with this

program (Program Only).


Run Alone: Indicate whether your program should run alone relative to all other
programs in the same logical database. If the execution of your programinterferes
with the execution of all other programs in the same logical database (in other
words, if your program is incompatible with all programs in its logical database,
including itself), it should run alone.

Oracle interview questions


1. What are the various types of Exceptions ?
User defined and Predefined Exceptions.
2. Can we define exceptions twice in same block ? No.
3. What is the difference between a procedure and a function ?
Functions return a single variable by value where as procedures do not return any
variable by value. Rather they return multiple variables by passing variables by
reference through their OUT parameter.
4. Can you have two functions with the same name in a PL/SQL block ? Yes.
5. Can you have two stored functions with the same name ?Yes.
6.Can you call a stored function in the constraint of a table ? No.
7. What are the various types of parameter modes in a procedure ? IN, OUT
AND INOUT.
8. What is Over Loading and what are its restrictions ?
OverLoading means an object performing different functions depending upon the
no. of parameters or the data type of the parameters passed to it.

9. Can functions be overloaded ? Yes.


10. Can 2 functions have same name & input parameters but differ only
by return datatype
No.
11. What is Ref Cursor in Oracle ?
By using Ref cursor we can change the select statement dynamically at runtime
which is available in the cursor definition based on some validation.For this we need
to define ref cursor type by using following syntax.
type <type_name> is ref cursor return <return_type>;
here <type_name> is the name of the ref cursor and <return_type> will be the
return type of ref cursor it may be %type/%rowtype/record type/plsql table
type/nested table type/varray type.
if <return_type> is mentioned we will called it as strong ref cursor.
if <return_type> is not mentioned we will called it as weak ref cursor.
after this we need to define ref cursor variable by using the following syntax.
v_variable_name ref_cursor_type_name;
then based on validations we can change the ref cursor dynamically.
for example
-----------------declare
type ref_cur is ref cursor;
v_ref_cur ref_cur;
v_deptno emp.deptno%type;
begin
select deptno into v_deptno from emp where empno=7788;
if v_deptno=20 then
open v_ref_cur for select * from emp;
elsif v_deptno=30 then
open v_ref_cur for select * from dept;
else
open v_ref_cur for select * from salgrade;
end if;
end;
What Is a Collection?
A collection is an ordered group of elements, all of the same type. It is a general
concept that encompasses lists, arrays, and other familiar datatypes. Each element
has a unique subscript that determines its position in the collection.
PL/SQL offers these collection types:

Index-by tables, also known as associative arrays, let you look up elements using
arbitrary numbers and strings for subscript values.
(They are similar to hash tables in other programming languages.)
Nested tables hold an arbitrary number of elements. They use sequential
numbers as subscripts. You can define equivalent SQL types, allowing nested tables
to be stored in database tables and manipulated through SQL.
Varrays (short for variable-size arrays) hold a fixed number of elements (although
you can change the number of elements at runtime).
They use sequential numbers as subscripts. You can define equivalent SQL types,
allowing varrays to be stored in database tables.
They can be stored and retrieved through SQL, but with less flexibility than nested
tables.

INBOUND INTERFACES
INVOICE INBOUND INTERFACE
Interface Tables:
AP_INVOICES_INTERFACE
AP_INVOICE_LINES_INTERFACE
AP_INTERFACE_REJECTIONS (Error Table)
Base Tables:
AP_INVOICES_ALL
AP_INVOICE_LINES_ALL (in R12)
AP_INVOICE_DISTRIBUTIONS_ALL
Concurrent Program: Payables Open Interface Import
SUPPLIER INBOUND INTERFACE
Interface tables:
AP_SUPPLIERS_INT
AP_SUPPLIER_SITES_INT
AP_SUP_SITE_CONTACT_INT
AP_SUPPLIER_INT_REJECTIONS (Error table for Supplier, Site and Contact inbound
based on parent_table column)
Base Tables:
PO_VENDORS
PO_VENDOR_SITES_ALL

PO_VENDOR_CONTACTS
Concurrent programs:
Supplier Open Interface Import
Supplier Sites Open Interface Import
Supplier Site Contacts Open Interface Import
Request Set: Supplier Open Interface Request Set (Contain all 3 above mentioned
concurrent programs)
ITEM INBOUND INTERFACE
Interface Tables:
MTL_SYSTEM_ITEMS_INTERFACE
MTL_ITEM_REVISIONS_INTERFACE
MTL_ITEM_CATEGORIES_INTERFACE
MTL_INTERFACE_ERRORS (Error Table)
Base Tables:
MTL_SYSTEM_ITEMS_B
MTL_ITEM_REVISIONS_B
MTL_CATEGORIES_B
MTL_CATEGORY_SETS_B
Concurrent program: Import Items
RECEIPT INBOUND INTERFACE
Interface Tables:
RCV_TRANSACTIONS_INTERFACE
RCV_HEADERS_INTERFACE
PO_INTERFACE_ERRORS (Error Table)
Base Tables:
RCV_SHIPMENT_HEADERS
RCV_SHIPMENT_LINES
RCV_TRANSACTIONS
Concurrent Program: Receiving Transaction Processor
PURCHASE ORDER INBOUND INTERFACE
Interface Tables:
PO_HEADERS_INTERFACE

PO_LINES_INTERFACE
PO_DISTRIBUTIONS_INTERFACE
PO_LINE_LOCATIONS_INTERFACE
PO_INTERFACE_ERRORS where interface_type = PO_DOCS_OPEN_INTERFACE (Error
Table)
Base Tables:
PO_HEADERS_ALL
PO_LINES_ALL
PO_DISTRIBUTIONS_ALL
PO_LINE_LOCATIONS_ALL
Concurrent Program:
Import Standard Purchase Orders (To import Standard Purchase Orders)
Import Price Catalogs(To import Catalog Quotations, Standard Quotations, and
Blanket Purchase Agreements)
REQUISITION INBOUND INTERFACE
Interface Tables:
PO_REQUISITIONS_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL
PO_INTERFACE_ERRORS where interface_type =REQIMPORT (Error Table)
Base Tables:
PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
Concurrent Program: Requisition Import
1) What is SET-OF-BOOKS OR Ledgers?
Collection of Chat of Accounts and Currency and Calendars, Convention is called
SOB
2) How can u call a standard interface program from sql or pl/sql code
FND_REQUEST.SUBMIT_REQUEST (PO,EXECUTABLE NAME,,,,PARAMETERS)
3) APIs FOR CUSTOMER INTERFACE
HZ_CUST_A/C_VZPUB.UPDATE_CUST_A/C
HZ_CUST_A/C_VZPUB.CREATE_CUST_A/C

7) What is template
a) The TEMPLATE form is the required starting point for all development of new
Forms.
b) The TEMPLATE form includes platformindependent attachments of several
Libraries.
APPSCORE :- It contains package and procedures that are required of all forms to
support the MENUS ,TOOLBARS.
APPSDAYPK :- It contains packages that control the oracle applications CALENDER
FEATURES.
FNDSQF :- it contains packages and procedures for MESSAGE DICTONARY, FLEX
FIELDS, PROFILES AND CONCURRENT PROCESSING.
CUSTOM :- it allows extension of oracle applications forms with out modification of
oracle application code, you can use the custom library for customization such as
zoom ( such as moving to another form and querying up specific records)
8) What are ad-hoc reports
Ans.: Ad-hoc Report is made to meet one-time reporting needs. Concerned with or
formed for a
particular purpose. For example, ad hoc tax codes or an ad hoc database query
9) What is responsibility
Responsibility: it Is collection of menus, request security groups and data groups
Menus: collection of forms is nothing but menus
Request security groups: collection of programs.
Data groups: is a group of modules to be made accessible by the user through
Responsibility
System admin
10) What are different execution methods of executabls
FlexRpt The execution file is wrnitten using the FlexReport API.
FlexSql The execution file is written using the FlexSql API.
Host The execution file is a host script.
Oracle Reports The execution file is an Oracle Reports file.
PL/SQL Stored Procedure The execution file is a stored procedure.
SQL Loader The execution file is a SQL script.
SQL Plus The execution file is a SQL Plus script.
SQL Report The execution file is a SQL Report script.
Spawned The execution file is a C or Pro C program.
Immediate The execution file is a program written to run as a subroutine of the
concurrent manager. We recommend against defining new immediate concurrent
programs, and suggest you use either a PL/SQL Stored Procedure or a Spawned C
Program instead.

Composite Data types :


PL/SQL TABLES / PL/SQL RECORDS / Nested TABLE / VARRAY
What is the sequence of functions group by, having , order by in a select
statements
Select..Group byHavingOrder by..
Difference between User and Super User
User : login user or front end user
Super user : it has full access of particular module
11) Oracle E-Business suite
Oracle apps + analytical components software.
(Oracle discover) (Oracle sales analyzer) (Oracle financial analyzer) (Oracle
marketing analyzer)
12) What is multi org
Legal entity has more than one operating unit is called as multi org
a) Business group --- Human resources information is secured by Business group
b) Legal entity. --- inter-company and fiscal/tax reporting.operating unit.
c) Operating unit --- secures AR, OE, AP, PA and PO Information.
d) Organizations --- is a specialize unit of work at particular locations

13) What is ERP and Architecture of apps


A packaged business software system that lets a company automate and integrate
the majority of its business processes; share common data and practices across the
enterprise; [and] produce and access information in a real-time environment.
14)How many types of Execution Methods
Host
Immediate
Java Stored Pricedure
Oracle reprots
PL/SQL Stored Procedures
Java concurrent Program
SQL * Loader
Sql * plus
spawned
perl concurrent program

request set stage function


15 Data Link
- Data links relate the results of multiple queries.
- A data link (Parent - Child Relation Ship) causes the child query to be executed
once for each instance of its parent group.

16 In which tables FF are stored

A) FND - ID - FLEXS
B) FND-ID-FLEX-STRUCTURES 5

17)Oracle Applications Architecture

- Internet computing Architecture is a frame work for 3-tired, distributed computing


that supports Oracle Applications products.
- The Three tiers are
1 Data Base Tier
2 Application Tier
3 Desk Top Tier
- Database tier manages Oracle 8i database.
- Application tier manages Oracle Applications and other tools.
- Desktop tier provides the user interface displace.
- With internet computing architecture, only the presentation layer of Oracle
Applications is on the Desk Top tier in the form of a plug-in to standard internet
brows

18) List of some APIS

FND_PROGRAM.EXECUTABLE
FND_PROGRAM.REGISTER
FND_PROGRAM.PARAMETER
FND_PROGRAM.ADD_TO_GROUP
FND_REQUEST.SUBMIT_REQUEST
FND_PROFILE.VALUE
FND_PROFILE.GET

19)How to get second parameter value based on first parameter


$FLEX$ value set name.

20)How to call WHO columns into the form

By using FND_STANDARD APIS


1. FND_STANDARD.FORM_INFO 6
Provides information about the form.
Should be called form when_new_form - instance - instance trigger.
2. FND_standard.set_who
loads WHO columns with proper user information.
Should be called from PRE_UPDTE and PRE_INSERT
Triggers for each block with WHO fields
If this is used FND-GLOBAL need not be called. (FND_GLOBAL.WHO)
3. FND_STANDARD.SYSTEM_DATE

This is a function which returns date.


Behave exactly like SYSDATE built-in.
4. FNID_STANDARD.USER
This is a function which returns varchar2
Behaves exactly like built in USER.
21) APPCORE APIS
APP_COMBO
APP_DATE
APP_EXCEPTION
APP_FIELD
APP_FIND
APP_ITEM
APP_ITEM_PROPERTY
APP_NAVIGATE
APP_RECORD
APP_REGION 7
APP_STANDARD
APP_WINDOW
22)FNDSQF APIS
FND_CURRENCY
FND_DATE
FND_GLOBAL

FND_ORG
FND_STANDARD
FND_UTILITIES.OPEN_URL
FND_UTILITIES. PARAM_EXISTS

23)How to call flex fields in the form


By using FND_FLEX.EVENT (EVENT varchar 2)
How to register an executable and define a concurrent program through backend
By using concurrent processing APIS
1. FND_CONC_GLOBAL.REQUES_DATA
.SET_REQUEST_GLOBALS
2. FND_CONCURRENT.AF_COMMIT
.AF_ROLLBACK
.GET_REQUEST_STATUS
.WAIT_FOR_REQUEST
.SET_COMPLETION_STATUS
3. FND_FILE . PUT
. PUT_LINE
.NEW_NAME 8
.PUT_NAMES
.CLOSE
4. FND-PROGRAM . MESSAGE

. EXECUTABLE
. REGISTER
. PARAMETER
. IN COMPATIBILITY
. EXECUTABLE_EXISTS
5. FND_REQUEST . SET-OPTIONS
.SET_REPEAT_OPTIONS
.SET_PRINT_OPTIONS
.SUBMIT_REQUEST
.SET_MODE
6. FND_REQUEST_INFO . GET_PARAM_NUMBER
. GET_PARAM_INFO
. GET_PROGRAM
. GET_PARAMETER
7. FND_SET . MESSAGE
.ADD_PROGRAM
.ADD_STAGE
.IN COMPATIBILITY
8. FND_SUBMIT . SET_MODE
.SET_REQUEST_STATUS
.SUBMIT_PROGRAM 9
.SUBMIT_SET

FND_PROGRAM.EXECUTABLE
- is used to define a concurent program executable
- it takes 8 parameters ( all are IN mode )
syntax procedure FND_PROGRAM.EXECUTABLE
(executable IN varchar2,
(Full name)
description IN varchar2 default null
execution_method IN varchar2,
execution_file_name IN varchar2 default null,
icon_name IN varchar2 default null,
language_code IN varchar2 default (VS)
FND_PROGRAM.REGISTER
- this procedure no used to define a concument program.
- It has 30 IN paranmeters. Out of which 9 are mandatory, the remaining are
default.
(program IN varchar2,
application IN varchar2,
enabled IN varchar2,
short_name IN varchar2,
description IN varchar2, default null, 10
executable_application IN varchar2,
mls_function_shelt_name IN varchar2,
mls_function_application IN varchar2,

inerementor IN varhcar2);

24. How to register a table and columns through back end


by using AD_DD package
- for registering a table
- AD_DD BPI doesnt check for the existence of the registered table or column in the
data base schema, but only updates the required SQL tables.
- It should be ensured that, all the tables and columns registered exist actually and
have the same format as that defined using AD_DD API.
- Views need not be registered.

25. How to write to a file through concurrent program.


By using FND_FILE package and it can be used only for log and output files.
1. FND_FILE.PUT
- this is used to write text to a file with out a new line character
- Multilane calls to FND_FILE.PUT will produce consummated text.
Procedure FND_FILE.PUT (which IN Number, Buff IN varchar2);
- can be FND_FILE.LOG or FND_FILE.OUTPUT.
2. FND_FILE.PUT_LINE 11
- this procedure as used to write a line of text to a file followed by a new line
character.
Procedure FND_FILE.PUT_LINE (which IN number, buff IN varchar2);
EX:- FND_FILE.PUT_LINE( FND_FILE.LOG, find_message_get);

3. FND_FILE.NEW_LINE
- this procedure is used to write line terminators to a file
procedure FND_FILE.NEW_LINE (which IN number LINES IN NATURAL:=1);
Ex:- to write two newline characters to a log file
Fnd_file.new_line (fnd_file.log,2);
4. FND_FILE.PUT_NAMES
- this procedure as used to set the temporary log file and output filenames and the
temporary directory to the user specified values.
- This should be called before calling my other FND_FILE procedure and only once
per a session.

26)Function FND_REQUEST.SUBMIT_REQUEST
( application in varchar2 default null,
program in varchar2 default null,
description in varchar2 default null,
start-time in varchar2 default null,
sub_request in bookan default False,
argument1,
arguemnt2,
argument 100) return number;
If this is submitted from oracle forms, all the arguments ( 1 to 100 ) must be
specified. 12

27. How to submit concurrent programs through OS

- From the operating system the utility .CONCSUB is used to submit is concurrent
propgram.
- This is basically used to test a concurrent program .
- By using the WAIT token. The utility checks the request status every 60 seconds
and returns the OS prompt upon completion of the request.
- Concurrent manager doesnot abort, shutdown or start up until the concurrent
request completes.
If the concurrent program is compatible with it self, it can be checked for data
integrity and dead locks by submitting it many times so that it runs concurrently
with it self.
PL/SQL procedures can submit a request to run a program as a concurrent process
by calling.
FND_REQUEST. SUBMIT_REQUEST.
Before submitting a request, the following functions also should be called
optionally.
FND_REQUEST.SET_OPTIONS
FND_REQUEST.SET_REPEAT_OPTIONS
FND_REQUEST.SET_PRINT_OPTIONS
FND_REQUEST.SET_MODE

28. How to checks the request states


- A PL/SQL procedure can check the status of a concurrent request by calling.
FND_CONCURENT.GET_REQUEST_STATUS
FND_CONCURRENT.WAIT_FOR_REQUEST
- FND_CONCURRENT.GET_REQUEST_STATUS

- This function returns the status of a concurrent request


- If the request is already computed, it also returns the completion message.
- This function returns both user friendly (translatable) phase and status values as
well as developer phase and status vales that can drive program logic. 13
( request_id in out number,
application in varchar2 default null,
program in varchar2 default null,
phase out varchar2,
status out varchar,
dev_phase out varchar2,
dev_status out varchar2,
message out varchar2) return BOOLEAN;
- when application and program are specified, the request_id of the last request for
the specified program should be returned to request_id.
- Phase, and status values should be taken from
FND_LOOKUPS
dev_phase dev_status
pending normal, standby, scheduled, paused
running normal, waiting, resuming, terminating.
Complete normal, Error, warning, cancelled, terminated
Inactive disabled, on-hold, No-manager, supended
- FND_REQUEST.WAIT_FOR_REQUEST
- This function waits for request completion, then returns the request phase/status
and completion message to the caller.

- Goes to sleep between checks for request completion.


Syntax
( request_id in number default null,
interval in number default 60,
max_wait in numbe default 0, 14
phase out varchar2,
status out varchar2,
dev_phase out varchar2,
dev_status out varchar2,
message out varchar2) return BOOLEN;
FND_CONCURRENT.SET_COMPLETION_STATUS
- this function should be called from a concurrent program to set its completion
states.
- This function returns TRUE on success, other wise FALSE.
ENT.SET_COMPLETION_STATUS
( status in varchar2,
message in varchar2) return BOOLEAN;
normal
status warning
Error

29. What is the reason for not getting any data when a multi org view is quired

- to get the data correctly, the xxx-ALL must be referenced and the ORG_ID value
should be specified to extract portioned data.
- Multiorg views are partitioned by using ORG_ID.
- So access through multiorg views will not return any roes, as the CLIENT_INFO
Value is not set
- Use HR_OPERATING UNITS to identify the organization _id of the OU on which
query is based.
- Use FND_CLIENT_INFO package to set the value in CLIENT INPO using
set_org_contest.
- Execute fnd_client_info. Set_org_context (<org_id>);
- Now qurying of multiorg views can be done. 15

30. How do you find that muliorg is installed


- multi organization architecture is meant to allow muliple companies or subsidiaries
to store their records with in a single data base.
- Multiple organization Architecture allows this by partitioning data through views in
APPS schema.
- Implementation of Multi org generally includes more than one business group.
To know whether multiorg is existing or not
select multi_org_flag
form fnd_product_groups)
- if the result is Y means the database is group for multiorg

31. what are Handlers

Handler is a group of packaged procedures which is used by Oracle Applications to


organize . PL/SQL code in forms.
- Handlers provide a way to centralize the code so that it becomes easier to
develop, maintain and debug.
- The packaged procedures available in a handler are called form the triggers by
passing the name of the trigger as an argument for the procedure to process.
Handlers are types :- 1) Item Handlers
2) Event Handlers
3) Table Handlers
4) Business Rules
- Handlers reside in program units in the form or in stored packed in the database.

32)Adding Table handler Logic


Coding logic for window and alternative region control.
Adding fin-windows and/or ROW-LOVS and enable query-find.
Coding logic for item relations such as dependent fields.
Coding messages to use message dictionary. 16
Adding FF logic if required.
Adding choices to the special mence and logic to modify choices the default menu
and tool bar behavior is necessary.
Coding any other logic.
Creating a form function for the developed form and registering any sub functions.
Testing the form by it self.
Registering the form with AOL.

Adding the form function to a menu or creating custom mence.


Assigning the menu to the responsibility and assigning the responsibility to the user.
Testing the form within Oracle Applications.

33.what is the differnce between org_id and organization_id


org_id column tables are operating_unit tables,Organization_id tables are inventory
Related tables.

34. What is a Data Group


- A data group is a group of oracle applications and the Oracle IDs of each
application
- Oracle ID grants access privileges to tables in an Oracle Database
- Data group determines which Oracle Data base accounts a responsibilities forms,
concurrent programs and reports connect to.
35. What is a Responsibility
- Responsibility defines Applications Privileges
- A responsibility is a level of authority in Oracle Applications that lets users only
those Oracle Applications functions and data appropriate to their roles in an
organization.
- Each user has at list one or more responsibilities and several users can share the
same responsibility 22
Each responsibility allows access to
- a specific application or a set of applications.
- A set of books
- A restricted list of windows that an user can navigate

- Reports in a specific application.

36. What are security Attributes


- Security Attributes are used by Oracle self service web Applications to allow rows
of data to be visible to specified users responsibilities based on the specific data
contained in the row.

37. What is a Profile Option


- profile options are the set of changeable options that affects how the application
looks and behaves.
- By setting profile options, the applications can be made to react in different ways
for different users depending on the specific user attributes.

38. What are steps involved in developing a flex field


- designing the table structure
- creating fields on the form (Visible/Hidden)
- calling appropriate routines
- registration of the flex field.
- Definition of the flex field.
<Flex fields / key/ Register>
<Flex fields/Descriptions / Register>

39. What is an application /Module


- Application is a collection of forms, function and menus

40)FND_PROGRAM Package
FND_PROGRAM.Executable:Procedure FND_PROGRAM. Executable IS 23
(executable in Varchar2,
application in varchar2, (full name)
short_name in varchar2, (executable short name)
description in varchar2 default NULL,
execution_method in varchar2,
execution_file_name in varchar2 default null,
Subrowline_name in varchar2 default null, (only for spawned immediate)
Icon_name in varchar2 default null,
Language_code in varchar2 default US,
Execution_file_path in varchar2 default null);
For Java Concurrent Program.
FND. PROGRAM. REGISTER:Procedure FND_PROGRAM.Register IS
(Program in varchar2,
application in varchar2,
enabled in varchar2,
short_name in varchar2,
description in varchar2, default null,

executable_short_name in varchar2,
executable_application in varchar2,
execution_options in varchar2, default null,
priority in number default null,
save_output in varchar2 default Y, 24
print in varchar2 dafault Y,
cols in varchar2 default null,
rows in varchar2, default null,
style in varchar2, default null,
style_required in varchar2, default N,
printer in varchar2, default null,
Requets_Type in varchar2, default null,
Request_type_Application in varchar2 default null,
Use_in_Srs in varchar2, default N,
Allow_disabled_valuer in varchar2 default N,
Run_alone in varchar2 default N,
Output_type in varchar2 default TEXT,
Enable_trace in varchar2 default N,
Restart in varchar2 default Y,
nls_complaint in varchar2 default Y,
icon_name in varchar2 default null,
language_code in varchar2, default US,

mls_function_short_name in varchar2 default null,


mls_function_application in varchar2 default null,
incrementor in varchar2 default null);

41) How to submit concurrent program through pl/sql


fnd_request.submit_request(parameters) by using this we can submit the
concurrent program thru pl/sql.
FND_GLOBAL.APPS_INITIALIZE (user_id,resp_id, resp_appl_id)

42) What are the types of Concurrent Managers


3 MASTER CONCURRENT MANAGERS:
1. Internal Conccurent Manager (ICM): This is the one which monitors all other CMs
2. Standard Manager (SM) : This takes care of report running and batch jobs
3. Conflict Resolution Manager (CRM): checks concurrent program definitions for
incompatability checks.
We cannot delete a concurrent manager... but we can disable it... but it's not
recommended.
43) multi org set up in pl/sql block
Begin dbms_application_info.set_client_info('ORG_ID');
end;

44. What is the relation between Responsibility, Menu and Request Group
Responsibility: - A responsibility is a set of authority in Oracle Apps that lets users
access only that functionality of the application appropriate to their roles.
Menu: - A menu is a hierarchical arrangement of functions and menus of functions

that appears in the Navigator. Each responsibility has a menu assigned to it.
Request Group: - it is a collection of reports or concurrent programs. A system
Administrator defines report groups in order to control user access to reports and
concurrent programs. Only a system administrator can create a request group.

45. What is a function, how to create one


A function is apart of an applications functionality that is registered under a unique
name for the purpose of assigning to it to, or excluding it from, a menu (and by
extension, responsibility). There are several types of functions: - Form Functions,
SubFunctions, and
Non-form functions. We often refer to a form function simply as a form.

46. What is meant by APPL_TOP


Environment variable
An operating System variable that describes an aspect of the environment in which
your application runs. For example, you can define an environment variable to
specify a directory path. 26
$APPL_TOP: An environment variable that denotes the installation directory for
Oracle Application Object Library and your other Oracle applications. $APPL_TOP is
usually one directory level above each of the product directories (which are often
referred to as $PROD_TOP or $PRODUCT_TOP or $<prod>_TOP).

47. Explain briefly where are the Custom.pll, Forms, Reports, Sql Loader Control
files, Shell Script source
code and executables files kept
Custom.pll - $AU_TOP/resource
Forms - $PROD_TOP/Forms/US
Reports - $PROD_TOP/Reports/US

SQL Control Files - $PROD_TOP/Bin


Shell Scripts - $PROD_TOP/Bin

48. When is Custom.pll used


Custom.pll is used while making new or customizing standard oraclke forms in apps.
It contains all the forms libraries for apps.

49. What are profile options; at what levels can these be set
A user profile is a set of changeable options that affects the way the applications
run. Oracle
Applications object Library establishes a value for each option in a users profile
when the
User logs on or changes responsibility.
System Profile: - Profile option can be set for the user community.
User Profile: - Provide Oracle Apps with standard information which describes a user,
Application, Responsibility and site. At each profile level user profile options can be
set.

50. How can you know the form (fmb) name when you open a form in Apps
Help

51. Where do you create a table and sequence in Apps Is it APPS schema
In custom schema and then grant privileges on it to APPS schema.

52. Where are Views and Procedures created 27


Views: - Views are to be created only in APPS.
Procedures: - In custom schema and the grant it to APPS schema.

53. How can you tell who last updated a particular row in a form

54. You have logged onto a Responsibility, how do you know what operating unit are
you on

55) Can new profiles be created If so how


Yes. Application Developer.

56)How do you register a report Explain passing of parameters between a


concurrent program
Definition and report
After developing the report (.rdf), FTP it to the UNIX server.
Define executable.
Define concurrent program and attach the executable.
Attach the concurrent program to a request group.
57) What is the approach to create a new form to be used in Oracle Apps
The TEMPLATE form is the required starting point of all development of new forms.
Start
Developing each new form by copying the TEMPLATE.fmb file, located in
$AU_TOP/forms/US(or your language and platform equivalent), to local directory and

Rename it as appropriate.

58. Explain Value Set Difference between a Table Validated and Independent Value
Set
A set of values against which Oracle Application Object Library validates values your
end
users enter when running your program. You define your value set by specifying
validation 28
rules, format constraints and other properties. For example, you could define a
value set to
contain values that are character strings, validated from a table in your application.
You can
Specify that oracle application Object Library use the same value set to validate
different
Report parameters. You can also use value sets that you use in your flex fields to
validate
Your report parameters.

59. How do you create a table validated value set dependent on another value set
Use :$FLEX$.<Value set name> in the where condition.

60. What is difference between a concurrent request and a concurrent request set
Concurrenct Request means containing only one concurrent program,Concurrent
request set containing list of concurrenct programs(group of programs)

61. What are the two mandatory parameters required for running a PL/SQL
Procedure based concurrent program

Errbuf, Retcode

62. How can you ensure that only one instance of a concurrent program runs
Check the "Run Alone" check box in Concurrent program registration window.

63. Within a PL/SQL procedure which API is to be used to extract a profile value
FND_PROFILE.GET

64. How do you set the operating unit context in a report


Begin
Dbms_application_info.set_client_info(<Organization_Id>);
End;

65. Can you submit a concurrent request from the operating system directly
Write a Shellscript.
Login to database
Run the function FND_REQUEST.Submit()

66. Explain how to generate a trace file for a pl/sql concurrent program for tuning
Check theEnable Trace check box in concurrent program registration window.

67. How do you write to the concurrent request Log and Output file
FND_FILE.PUT(FND_FILE.LOG or FND_FILE.OUTPUT, <Text>);

68. What is the difference between Operating Unit and Inventory Organization
Operating Unit :- An Organization that uses Oracle Cash management, Order
management and Shipping Execution, Oracle Payables, Oracle Purchasing, and
Oracle Receivables. It may be a sales Office, a division, or a dept. An operating unit
is associated with a legal entity. Information is secured by operating unit for these
applications. Each user sees information only for their operating unit. To run any of
these applications, you choose a responsibility associated with an organization
classified as an operating unit.
An organization for which you track inventory transactions and balances, and/or an
organization that manufactures or distributes products. Examples, include (but are
not limited to) manufacturing plants, warehouses, distribution centers, and sales
offices. The following applications secure information by inventory organization:
Oracle inventory, Bills of Material, Engineering, and Work in Process, Master
Scheduling/MRP, Capacity, and Purchasing receiving functions. To run any of these
applications, you must choose an organization that has been classified as an
inventory organization.

69. What is Set of Books


A financial reporting entity that uses a particular chart of accounts, functional
currency,
And accounting calendar. Oracle General Ledger secures transaction information
(such as journal entries and balances) by set of books. When you use Oracle
General Ledger, you choose a responsibility that specifies a set of books. You then
see information for that set of books only.

70. What is Item Validation Organization


The organization that contains your master list of items. You define it by setting the
OM: Item Validation Organization parameter. You must define all items and bills in
your Item Validation Organization, but you also need to maintain your items and
bills in separate organizations if you want to ship them from other warehouses.

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.
Inventory Org: - MTL_PARAMETERS/ORG_ORGANIZATION_DEFINITIONS
Items: - MTL_SYSTEM_ITEMS_B
Set of Books: - GL_SETS_OF_BOOKS
GL Code Combinations: - GL_CODE_COMBINATIONS
Operating Unit: - HR_ALL_OPERATING_UNITS
Location: - MTL_ITEM_LOCATIONS
Customers: - RA_CUSTOMERS
Vendors: - AP_SUPPLIER_CONTACTS_ALL
Invoices: - AP_INVOICES_ALL

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


FND_DESCR_FLEX.DEFINE (BLOCK => 'BLOCK_NAME' ,FIELD =>
'FORM_FIELD_NAME' ,APPL_SHORT_NAME => 'APP_NAME' ,DESC_FLEX_NAME =>
'DFF_NAME' );

76)Which procedure should be used to make the DFF read only at run time
FND_DESCR_FLEX.UPDATE_DEFINITION()

77)What is the difference between flexfield qualifier and segment qualifier


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


SELECT MULTI_ORG_FLAG FROM FND_PRODUCT_GROUPS
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 ->
apps.gems_public_apis_pkg.po_control_document
( 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);
utl_smtp.helo(v_mailconn,v_host_ip);
utl_smtp.mail(v_mailconn,v_from_email_id);
utl_smtp.rcpt(v_mailconn,v_to_email_tab(v_addr_cnt));
v_message := v_message || 'To: ' || v_to_email_tab(v_addr_cnt) || '>' || crlf;
utl_smtp.data(v_mailconn,v_message); -- calling mail procedure
utl_smtp.quit(v_mailconn);

86)How do u call a mail program from Shell program


Ans. for file in `find . -name " .com ~$5" -print |cut -c3-120`
do
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"
rc=$
if [ $rc != 0 ]
then
echo 'invalid file name'
fi 34
rm -f "$file"
rc=$
if [ $rc != 0 ]
then
echo 'invalid file name'
fi
done

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
('PO'
,'RVCTP'
,NULL
,NULL
,FALSE
,'BATCH'
,p_batch_id
);
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 ->
SELECT DISTINCT f5.user_id
, f4.responsibility_name responsibility_name
, f4.responsibility_id responsibility_id

--INTO
--v_user_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
AND ROWNUM = 1;

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
Answer-----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


Answer-----a. UNIX
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
compile_all=special

94. How do I open, compile and/or generate a custom Oracle Applications form on
my desktop
Answer

a. To port the AU_TOP/forms/US and AU_TOP/resource files to your Windows


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


Answer
a. Replicate an existing Oracle Applications product directory structure underneath
your APPL_TOP:
APPL_TOP
|
XXCUS_TOP
|
bin------forms-----html-----lib-----log-----mesg-----out-----reports
||
US US
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
Applications.
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.
Eg:
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.
DECLARE
x NUMBER:=0; 39
BEGIN
x:=fnd_profile.value('org_id');

fnd_client_info.set_org_context (204);
END;
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
Receivable
Payable
Purchasing
Project Accounting

101) Can you explain the Organization structure

Ans:
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
errcode.

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
Receivable
Payable
Purchasing
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
Receivable
Payable
Purchasing
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
Ans:
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
Ans:
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 SRS check 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


A CODE, APP_SHORT_NAME, OUTPUT, MODE, DISPLAY, SHOWDEPSEG, NUM or
MULTINUM, TABLEALIAS, OPERATOR, OPERAND1, OPERAND2.

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
A. 1. RA_CUSTOMERS_INTERFACE_ALL
2. RA_CUSTOMER_BANKS_INT_ALL
3. RA_CUST_PAY_METHOD_INT_ALL
4. RA_CUSTOMER_PROFILES_INT_ALL
5. RA_CONTACT_PHONES_INT_ALL

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


A. ORIG_SYSTEM_CUSTOMER_REF
INSERT_UPDATE_FLAG
CUSTOMER_NAME
CUSTOMER_NUMBER (if you are not using Automatic Customer Numbering)
CUSTOMER_STATUS
LAST_UPDATED_BY
LAST_UPDATE_DATE
CREATED_BY
CREATION_DATE
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)
ADDRESS1

144) List some of the production tables that Customer Interface transfers customer
data from the interface tables into
A. AR_CUSTOMER_PROFILES
AR_CUSTOMER_PROFILE_AMOUNTS
RA_ADDRESSES
RA_CONTACTS

RA_CUSTOMERS
RA_CUSTOMER_RELATIONSHIPS
RA_CUST_RECEIPT_METHODS
RA_PHONES
RA_SITE_USES
AP_BANK_ACCOUNT_USES
AP_BANK_ACCOUNTS
AP_BANK_BRANCHES

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
A. SQLGL

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

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

A. REPLACE

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

A MTL_SYSTEM_ITEMS, MTL_CATEGORIES

161). Tell me names of important production tables & their purpose AP, AR, GL, PO

A AP: AP_INVOICES_ALL, AP_INVOICE_LINES_ALL

To store invoices
AR: RA_SHIPMENT_HEADERS/ _LINES, RA_CUSTOMERS, RA_CONTACTS
PO: PO_VENDORS, PO_VENDOR_SITES - For storing vendor data.

162). Name the interface tables used for the LockBox Interface

A Interface table : AR_PAYMENTS_INTERFACE_ALL


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:
AR_CASH_RECEIPTS_ALL
AR_RECEIVABLES_APPLICATIONS_ALL
AR_CASH_RECEIPT_HISTORY_ALL

163) Name the interface tables used for the Auto Invoice Interface.
A Auto Invoice transfers transaction data from the interface tables
RA_INTERFACE_LINES_ALL,

RA_INTERFACE_SALESCREDITS_ALL, and
RA_INTERFACE_DISTRIBUTIONS_ALL
into the following Receivables tables:
RA_BATCHES_ALL
RA_CUSTOMER_TRX _ALL
RA_CUSTOMER_TRX_LINES _ALL
RA_CUST_TRX_LINE_GL_DIST_ALL
RA_CUST_TRX_LINE_SALESREPS_ALL
AR_PAYMENT_SCHEDULES_ALL
AR_RECEIVABLE_APPLICATIONS_ALL 49
AR_ADJUSTMENTS_ALL

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

Ans:- (Definition :- A concurrent program is an instance of an execution file, along


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 GL I have worked on GL_JE_HEADERS(JOURNALS
HEADER),GL_JE_LINES(JOURNAL LINES), GL_JE_BACHES(JOURNAL BATCHES),
GL_SET_OF_BOOK(SET_OF_BOOK_ID),
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) :A. USER
B. RESPONSIBILITY
C. APPLICATION
D. SITE
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:-A 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.

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
-HRMS(Employee)
-GL(Set of Books)(Currency, Calendar, Chart of Account)
|
Balancing Segment(You can do multiple balancing segment)
-Operating Units (Purchase, Selling, Fixed Asset, Payable,
Receivables)
-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 ORGAN


TION_ID in Multi-Org.
At where we can set ORG_ID and ORGANIZATION_ID level it comes in the
structure.
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.

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 SchemaThe 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 serverside 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/sample.mk as a starting point. Copy this
file to the lib directory under your applications top directory. Rename it <short
name>.mk (ie fnd.mk, gl.mk 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
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 .
begin
v_request_id := fnd_request.submit_request(applicationshortname,
concurrentprogramshortname,
description,
paramers)
end
commit;
if v_request_id > 0 then
dbms_output.put_line('Successfully submitted')
else
dbms_output.put_line('Not Submitted');
end;
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


$AU_TOP/forms/US
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
o Applications Security
o Operating Profile
o Concurrent Processing
1. What is the Flex field What are the types of Flex field
o Flex Field is Flexible Field
o A Flexfield is made up of Segments.
o Each segment has a name that can be assigned and has set of valid values.
o There are two types of Flex field Key Flex Field and Descriptive Flex Fields.

1. What are the tables related to flex field


o FND_FLEX_VALUES
o FND_FLEX_VALUE_SETS
o FND_FLEX_VALUES_TL
1. What is AD_DD package
AD_DD Package is used to register the Table, Columns, and Primary Key in Oracle
Applications.
PROCEDURE REGISTER_TABLE
Arguments:
o P_APPL_SHORT_NAME
o P_TAB_NAME
o P_TAB_TYPE

o P_NEXT_EXTENT
o P_PCT_FREE
o P_PCT_USED
PROCEDURE REGISTER_COLUMN
Arguments
P_APPL_SHORT_NAME
P_TAB_NAME
P_COL_NAME
P_COL_SEQ
P_COL_TYPE
P_COL_WIDTH
P_NULLABLE
P_TRANSLATE
P_PRECISION
P_SCALE
***********************************************************...................................***
********************************************************

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

225)What all are the tables used in the modules u have worked on. In GL I have
worked on GL_JE_HEADERS(JOURNALS HEADER),GL_JE_LINES(JOURNAL LINES),
GL_JE_BACHES(JOURNAL BATCHES), GL_SET_OF_BOOK(SET_OF_BOOK_ID),
In PO- I have worked on PO_HEADER_ALL..

226)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
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.
61 Values in 4 Levels(HIEARCHY WISE) :- E. USER
F. RESPONSIBILITY
G. APPLICATION
H. SITE
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)

227)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.
228) 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:-A 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

229)Which flexfield qualifiers are mandatory Ans:- Balancing Segment flex field
qualifier is mandatory.
230)Difference Between versions of Apps.(Front end & Database) Ans:- In backendClient server architecture (old)/ Three tire architecture
In font end- Client Server Application (old)/ Web Based application

231)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.
62 Secure access to data so that users can access only the information that is
relevant to them. Structure :- Business Unit -HRMS(Employee)
-GL(Set of Books)(Currency, Calendar, Chart of Account)
|

Balancing Segment(You can do multiple balancing segment)


-Operating Units (Purchase, Selling, Fixed Asset, Payable,
Receivables)
-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)

232)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
structure. 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.

233)ORG_ID can be set at master levels or transaction level. Ans:- ORG_ID can be
set at transaction Level.
234)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.
235)What is difference between oracle schema and apps schema. Ans:-Database
SchemaThe APPS schema- is an ORACLE schema that has access to the
complete Oracle Applications data model. This schema is maintained
by AutoInstall.

236) What are the objects APPS schema contain. Ans:- The APPS schema contains
synonyms to all tables and
sequences as well as all serverside 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 63 appropriate
operating unit context from an RDBMS variable.

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

238) What is application short name for General Ledger you specify in FND FLEXSQL
user exit A. SQLGL

239)How do you set profile in oracle applications In Application Developer


responsibility A Open "Profile" Function

240) 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)

241)Give the relation between categories and items table. MTL_SYSTEM_ITEMS


MTL_CATEGORIES_B
Relation INVENTORY_ITEM_ID

242)In which tables are the categories of an item stored. MTL_CATEGORIES_B


MTL_ITEM_CATEGORIES

243)Significance of ALL in apps tables. Tables which are related with Multiorg is
suffixed with ALL.

244)Explain about flexfield in GL.In what way it is useful A KFF is a set of segments,
each segment will identify a unique characterstic of an entity. it can be termed as
intelligent key. we can define our business requirements without doing any
programming.
A DFF is a set of segments which can be used to capture extra info. without any
customisation.

245)Execution methods
Ans. a. Host b. Immediate
c. Java Stored Procedure
d. Java Concurrent Program
e. Multi Language Function
f. Oracle Reports
64 g. PL/SQL Stored Procedure
h. Request Set Stage Function

i. Spawned
j. SQL Loader
k. SQL Plus

246) What is TCA (Trading Community Architecture)


Ans. Oracle Trading Community Architecture (TCA) is a data model that allows you
to manage complex information about the parties, or customers, who belong to your
commercial community, including organizations, locations, and the network of
hierarchical relationships among them. This information is maintained in the TCA
Registry, which is the single source of trading community information for Oracle EBusiness Suite applications.

247) Difference between Application Developer and System Administrator Role of


Technical Consultant:
1. Designing New Forms, Programs and Reports
2. Forms and Reports customization
3. Developing Interfaces
4. Developing PL/SQL stored procedures
5. Workflow automations
Role of System Administrator:
1. Define Logon Users
2. Define New/Custom Responsibility
3. Define Data Groups
4. Define Concurrent Managers
5. Define Printers
6. Test Network Preferences
7. Define/Add new Modules
Role of an Apps DBA:

1. Installing of Application
2. Upgradation
3. Migration
4. Patches
5. Routing maintenance of QA
6. Cloning of OA
248)What are Flexfields
Ans. A Flexfield is a customizable field that opens in a window from a regular Oracle
Applications window. Defining flexfields enables you to tailor Oracle Applications to
your own business needs. By using flexfields, you can: (a) Structure certain
identifiers required by oracle applications according to your own business
environment.
(b) Collect and display additional information for your business as needed.
Key Flexfields: You use key flexfields to define your own structure for many of the
identifiers required by Oracle Applications. Profile Flexfields:Open Key Window
(FND_ID_FLEXS)
Descriptive Flexfield: You use descriptive flexfields to gather additional information
about your business entities beyong the information required by Oracle
Applications. Profile Flexfields: Open Descr Window (FND_DESCRIPTIVE_FLEXS)
249) Request Set and where do you define it
Ans. Request sets allow you to submit multiple requests together using multiple
execution path. A request set is a collection of reports and /or programs that are
grouped together. A stage is a component of a request set used to group requests
within the set. All of the requests in a given stage are executed in parallel.
Advantages of stages are the ability to execute several requests in parallel and then
move sequentially to the next stage.
Responsibility: System Administrator
Nav: Concurrent -> Set
249) Which flexfield qualifiers are mandatory
Ans:- Balancing Segment flexfield qualifier is mandatory.

250) 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
-HRMS(Employee)
-GL(Set of Books)(Currency, Calendar, Chart of Account)
|
Balancing Segment(You can do multiple balancing segment)
-Operating Units (Purchase, Selling, Fixed Asset, Payable,
Receivables)
-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
structure.
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.
Ans: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 SchemaThe 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 serverside 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 applications 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/sample.mk as a starting point. Copy this
file to the lib directory under your applications top directory. Rename it <short
name>.mk (ie fnd.mk, gl.mk 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 dont 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
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 .
begin
v_request_id := fnd_request.submit_request(applicationshortname,
concurrentprogramshortname,
description,
paramers)
end 54
commit;
if v_request_id > 0 then
dbms_output.put_line('Successfully submitted')
else

dbms_output.put_line('Not Submitted');
end;
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
$AU_TOP/forms/US
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
o Applications Security
o Operating Profile
o Concurrent Processing
1. What is the Flex field What are the types of Flex field
o Flex Field is Flexible Field
o A Flexfield is made up of Segments.
o Each segment has a name that can be assigned and has set of valid values.
o There are two types of Flex field Key Flex Field and Descriptive Flex Fields.
56
1. What are the tables related to flex field
o FND_FLEX_VALUES
o FND_FLEX_VALUE_SETS
o FND_FLEX_VALUES_TL
1. What is AD_DD package
AD_DD Package is used to register the Table, Columns, and Primary Key in Oracle
Applications.
PROCEDURE REGISTER_TABLE
Arguments:
o P_APPL_SHORT_NAME
o P_TAB_NAME
o P_TAB_TYPE
o P_NEXT_EXTENT

o P_PCT_FREE
o P_PCT_USED
PROCEDURE REGISTER_COLUMN
Arguments
P_APPL_SHORT_NAME
P_TAB_NAME
P_COL_NAME
P_COL_SEQ
P_COL_TYPE
P_COL_WIDTH
P_NULLABLE
P_TRANSLATE
P_PRECISION
P_SCALE
1. What are the Special and Pair Flex Field
Special Value Sets uses FlexField itself
Pair Two Flex Fields together specifies a range of valid values.
1. What are the Translatable Dependent and Independent Flex Fields
Translatable Independent Input must exist on previously defined set List of
Values. Translated value can be used. 57
Translatable Dependent means Input is checked against a subset of values
Based on a prior value. Translated value can be used.
1. What is FND_REQUEST.SUBMIT_REQUEST
Submits a Concurrent Request for Processing by a Concurrent Manager.
Arguments Application,program,description,start_time,sub_request,arg1..

1. What is Client Info


By calling this Program in SQL PLUS or reports with correct parameters user can
achieve concurrent program environment for testing.
FND_CLIENT_INFO.setup_client_info(application_id Number,
Responsibility_id Number,
User_id Number,
Security_Group_id Number);

Oracle Apps Technical Interview Questions

1. What is the difference between Function and Procedure?

2. What are the various restrictions in functions to use in SQL statement?

3. Can we use out parameter in function if we do this then what is the drawback?

4. Select * from 1+null+9 from dual;

What is the output?

5. Select count (*) from tab1; and there is no data in tab1 then what will be the output?

6. How to return values in procedure?

7. Create or replace function f1 as

N number;

Begin

Return1;

Reture2;

Return3;

End; what will be the output?

8. If there are two columns in a table t1 [a char(10), b varchar2(10)]

And we want to fetch all those records in which in which a=b the write the SQL query?

9. Syntax of collections and cursor?

10. I want to fetch the last name from Oracle_Apps_Guide. Write the query?

11. How to count commas (,) in the string (a, b, c, d). Write the query?

12. How to replace a to null in Anand?

13. What is the difference between trunk and round?

14. What the difference is between ceil and floor?

15. Can we use lookup in concurrent program?

16. How to register an XML report with and without RDF?

17. If I want to print a message on bottom most No Data Found if there is no data in the report then
what we need to code in XML as well as RDF report?

18. What are the different ways to create an XML Report without RDF?

19. How many types of frames are there in Oracle report?

20. What is conditional trigger?

21. How to create concurrent program for RDF?

22. What are the various execution methods you have used?

23. Why we use tokens in oracle reports only?

24. How to submit a concurrent program from backend?

25. What is the difference between substr and instr?

26. How to use these functions in data template?

27. How to use select statement in data template?

28. How to call report trigger and parameters in data template?

29. How to join to queries in data template?

30. How to link the concurrent program to data template?

31. What is incompatibility explain with scenario.

32. Name the FND tables you have used?

33. If we are calling fnd_request.submit_request from backend but it is not showing in SRS window
then whats the reason for the same?

34. How to call a request in a trigger?

35. Have you done any customization in any workflow? Explain.

36. Tell me the type and steps to use Alerts?

37. How to perform DML in Alert?

38. Explain PA costing and billing cycle?

39. What are the tables used in Project Accounting?

40. How to map AR with PA tell me the setup required for this?

41. What is AME?

42. What are retcode and errbuf and its values? What is the use of retcode and errbuf in interface?

43. What are the interfaces you have worked?

44. If we want to complete our oracle report program with warning status what we need to do?

45. What is the flow to get any task in your current project?

46. What you have in Form personalization explain the different scenario?

47. What are the different triggers in Form personalization?

48. What are the report triggers?

49. What are the interfaces have designed?

50. Do you know about utl_file?

Inbound Interface

Process Steps:
1) Stage Table Cration
2) Control file development
3) PL/SQL Program
4) Submit Standard Program

Inbound interface will be used to upload the data from legacy system in to Oracle applications
base tables.

We will receive the flat file from the client then we will create staging table upload the data
from flat file in to stage table.

Develop the PL/SQL program to validate the data weather it is valid or not, if it is valid we will
insert in to interface table, if it is not valid we will insert in to error table.

Once the data is available in interface table submit the standard program from SRS window,
and we will transfer the data from interface table to base tables.

Note

o Staging table is required because the flat file structure may or may not be compatibles with base
table structure.
o Interface table is required to make the pre validation and populate dynamic records.

PO

GL

AP

Journals

Requisitions

Invoices

Currency

RFQ

Payments

Conversion

Quotations

Daily Conversion
Rates

GL Interface

Purchase Orders

AR
Customers
Invoices Receipts

OM
Sales Orders

HRMS
Employees

CLASS 42

GL_INTERFACE_TABLE

STATUS: This column will accept any string but we will always insert standards string called
new it indicates that we are brining new data in to General Ledge Applications.

SET_OF_BOOKS_ID: We have to enter the appropriate set of books ID, it should be valid set
of books id is available in GL_SETS_BOOKS table it is valid, otherwise i8t is invalid.

USER_JE_SOURCES_NAME: We have to enter the journal sources name for the transaction
we can find all the valid source names in the tabled called GL_JE_SOURCES.

USER_JE_CATEGORY_NAME: WE have to find out weather journal category is available in


the GL_JE_CATEGORIES table. It is is available then we will insert, otherwise we will reject.

CURRENCY_CODE: We have to enter the valid currency code in FND_CURREINCES table


we can find out weather it is valid or not.

ACCOUNTING_DATE and CREATION_DATE: Both columns will accept valid date but that date
should be less than or equal to System date.

CREATED_BY: WE have to enter valid user_id from FND_USER table we can identify weather
it is valid user_id or not.

PERIOD_NAME: We have to enter valid period name and period should be in the open status
from GL_PERIODS table we can find out weather it is valid period or not, from
GL_PERIOD_STATUS table we can find out period is in the open status or not.

ENTERED_DR and ENTERED_CR: Both columns will accept positive number Debit and credit
amount, both debit and credit should be equal otherwise account will be imported as suspense
account.

GROUP_ID: WE will enter unique group number while importing from interface table to base
table it will be used as parameter.

CTUAL_FLAG: This column will accept single character either A or B or E a- Actual


amounts, B- Budget Amounts, E- Encumbrance Amounts

Reference 1

Batch Name

Reference 2

Batch Description

Reference 3

Dont Enter any value

Reference 4

Journal Entry Name

Reference 5

Journal Entry Description

Reference 11 to 20

Chart_of_accounts_id
Transationc_date

Je-Batch_id
Je_header_id

Dont enter any values.

Dont enter any values.


-

Dont enter any values.

Dont enter any values.

Dont enter any values.

Reference PDF : 115glup.pdf - Page no. 153

Pre requisites for GL Interface:

1) Set of books should be defined (Currency, Calendar, Chart of Accounts)


2) 2) Currency Conversion Rates needs to be defined.
3) Accounting Period should be defined and also opened
4) Source name and as well as category name should be defined.

Process Steps:
1) We have received flat file from client
2) We have created Staging table as per flat file structure
3) Developed Control file and uploaded data
4) Developed PL/SQL Program to upload the data from stage into interface table
i. declare Cursor
ii. open cursor
iii.

Validate each record

iv.

If no invalid record then insert into interface table.

5) Run the journal import from GL => Journal => Import => Run
i. Give the two parameters 1)Source 2)Group ID
6) Open the Output if status is 'SUCEESS' then take Request ID.
7) open Journal Enter screen Query the records based on the %requestid% As batch Name
- Select Review journal button we can see the journal detailed transaction
8) If we want correct the journals we can correct from Journal=>Import=>Correct
9) If we want delete the journals we can delete from Journal=>Import=>Delete

Temporary Table Creation

Create Table GL_INT_TEMP (


STATUS
SET_OF_BOOKS_ID

Varchar2(10),
Number(8),

ACCOUNTING_DATE,
CURRENCY
DATE_CREATED

Date,
Number(8),
Date,

CREATED_BY

Number(8),

ACTUAL_FLAG

Varchar2(1),

CATEGORY

Varchar2(10),

SOURCE
CURR_CONVERSION

Varchar2(10),
Number(8),

SEGMENT1

Varchar2(100),

SEGMENT2

Varchar2(100),

SEGMENT3

Varchar2(100),

SEGMENT4

Varchar2(100),

SEGMENT5

Varchar2(100),

ENTERED_DR

Number(8),

ENTERED_CR

Number(8),

ACCOUNTED_DR

Number(8),

ACCOUNTED_CR

Number(8),

GROUP_ID

Number(8) );

Control File Creation To transfer the data from flat file to staging table.

LOAD DATA
INFILE *
INSERT INTO TABLE GL_INT_TEMP
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS

(STATUS,
SET_OF_BOOKS_ID,
ACCOUNTING_DATE,
CURRENCY,
DATE_CREATED,
CREATED_BY,
ACTUAL_FLAG,
CATEGORY,
SOURCE,
CURR_CONVERSION,
SEGMENT1,
SEGMENT2,
SEGMENT3,
SEGMENT4,
SEGMENT5,
ENTERED_DR,
ENTERED_CR,
ACCOUNTED_DR,
ACCOUNTED_CR,
GROUP_ID)

BEGINDATA

"NEW",1,"11-AUG-2002","USD","11-AUG2002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",555,555,555,555,66
"NEW",1,"11-AUG-2002","USD","11-AUG2002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",554,554,554,554,66

"NEW",1,"11-AUG-2002","USD","11-AUG2002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",321,321,321,321,66
"NEW",1,"11-AUG-2002","USD","11-AUG2002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",431,431,431,431,66
"NEW",1,"11-AUG-2002","SGD","11-AUG2002",1318,"K","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",1500,1500,1500,15
00,66
"NEW",1,"11-AUG-2002","EUR","11-AUG2002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",1600,1600,1600,16
00,66

Creation of PL/SQL procedure to transfer the data from staging table to interface table after
validation.

CREATE OR REPLACE PROCEDURE GL_IN_PRO(

Errbuf OUT VARCHAR2,


Retcode OUT VARCHAR2)

IS
-- cursor declaration
CURSOR gl_cur IS
SELECT
status

set_of_books_id ,
accounting_date ,
currency ,
date_created ,
created_by

actual_flag

category

source

curr_conversion
segment1

segment2

segment3

segment4

segment5

entered_dr

entered_cr

accounted_dr

accounted_cr

group_id
FROM GL_INT_TEMP;
l_currencycode

VARCHAR2(25);

l_set_of_books_id

NUMBER(3);

l_flag

VARCHAR2(2);

l_error_msg

VARCHAR2(100);

l_err_flag

VARCHAR2(10);

l_category

VARCHAR2(100);

L_USERID

NUMBER(10);

BEGIN
DELETE FROM gl_interface;
COMMIT;
FOR rec_cur IN gl_cur LOOP
l_flag:='A';
l_err_flag:='A';
--This PL/SQL Block will do the currency validation

--end of the currency validation


--Category Column Validation
BEGIN
SELECT USER_JE_CATEGORY_NAME
INTO l_CATEGORY
FROM GL_JE_CATEGORIES
WHERE USER_JE_CATEGORY_NAME = REC_CUR.Category;
EXCEPTION
WHEN OTHERS THEN
l_category:=NULL;
l_flag:='E';
l_error_msg:='Category does not exist ';
END;
Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'||L_FLAG);
--End Category Column Validation
--User ID column validation
BEGIN
SELECT USER_ID
INTO L_USERID
FROM FND_USER
WHERE USER_ID = REC_CUR.created_by;
EXCEPTION
WHEN OTHERS THEN
L_userid:=NULL;
l_flag:='E';
l_error_msg:='User ID does not exist ';

END;
Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'||L_FLAG);
--End of Created_by OR UserID column Validation
--Set of books Validation
BEGIN
SELECT set_of_books_id
INTO l_set_of_books_id
FROM GL_SETS_OF_BOOKS
WHERE set_of_books_id=rec_cur.set_of_books_id;
EXCEPTION
WHEN OTHERS THEN
l_set_of_books_id:=NULL;
l_flag:='E';
l_error_msg:='set of Books ID does not exist ';
END;
Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'||L_FLAG);
-- End Set of books Validation
--Status Column validation
/* BEGIN
IF rec_cur.status = 'NEW' THEN
l_flag:= 'A';
ELSE
l_flag:= 'E';
Fnd_File.put_line (Fnd_File.LOG,'Status column has got invalid data');
END IF;
END;*/

BEGIN
SELECT currency_code
INTO l_currencycode
FROM fnd_currencies
WHERE currency_code=rec_cur.currency
AND currency_code='USD';
EXCEPTION
WHEN OTHERS THEN
l_currencycode:=NULL;
l_flag:='E';
l_error_msg:='currency code does not exists';
END;
Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'||L_FLAG);
Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'||L_FLAG);
--End of Actual Flag Column validation
IF l_flag!='E' THEN
Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE');
INSERT INTO gl_interface(status,
set_of_books_id,
accounting_date,
currency_code,
date_created,
created_by,
actual_flag,
user_je_category_name,
user_je_source_name,

user_currency_conversion_type,
segment1,
segment2,
segment3,
segment4,
segment5,
entered_dr,
entered_cr,
accounted_dr,
accounted_cr,
group_id)
VALUES
(rec_cur.status

rec_cur.set_of_books_id ,
rec_cur.accounting_date ,
rec_cur.currency

rec_cur.date_created ,
rec_cur.created_by

rec_cur.actual_flag

rec_cur.category

rec_cur.source

rec_cur.curr_conversion
rec_cur.segment1 ,
rec_cur.segment2 ,
rec_cur.segment3 ,
rec_cur.segment4 ,

rec_cur.segment5 ,
rec_cur.entered_dr ,
rec_cur.entered_cr ,
rec_cur.accounted_dr ,
rec_cur.accounted_cr ,
rec_cur.group_id);
END IF;
l_flag:=NULL;
l_error_msg:=NULL;
END LOOP;
COMMIT;
END GL_IN_PRO;

CLASS 43

Purchase Order Inbound Interface

CLASS 44

PO_HEADERS_INTEFACE

Column Name

Validation Table Name

VENDOR_ID

PO_VENDORS

VENDOR_SITE_ID

PO_VENDOR_SITES_ALL

VENDOR_CONTACT_ID

PO_VENDOR_CONTANTCT

AGENT_NAME

PER_ALL_PEOPLE_F

ORG_ID

HR_OPERATING_UNITS

DOCUMENT_LOOKUP_CODE

Standard, Planed, Contract, Blanket

CREATION_DATE

< = SYSDATE

CURRENCY_CODE

FND_CURREINCES

SHIP_TO

HR_LOCATIONS

BILL_TO

HR_LOCATIONS

PO_LINES_INTERFACE

Column Name

Validation Table Name

LINE_NUM

PRIMARY KEY

LINE_TYPE

PO_LINE_TYPES

ITEM
ITEM_ID

MTL_SYSTEM_ITEM_B

ITEM_DESCRIPTION
ITEM_CATEGORY

MTL_CATEGORIES

ITEM_UOM

MTL_UNITS_OF_MEASURE

QUANTITY

Any Positive number

UNIT_PRICE

Any Positive number

NEED_BY_DATE
PROMISED_DATE

> = PO CRATION DATE

SHIP_TO_ORG_ID

ORG_ORGANIZATION_DEFINITIONS

SHIP_TO_LOCAITONS

HR_LOCATIONS

ORG_ID

HR_OPERATING_UNITS

Pre Requisites

1) Supplier sites contact details should be defined

2) Organization structure should be defined


3) Ship to bill to locations needs to be defined
4) Set of books needs to be defined
5) Items, item categories, UOM needs to be defined
6) Employee creation, buyer setup should be defined.

Process Steps

1) Create the Staging tables


2) Develop the Control files and register as concurrent program
3) Develop the PL/SQL Program and write the validations and insert into interface table
4) Run the standard program called Import Standard Purchase orders from PO Responsibility
Parameter :

Default Buyer

: Null

Create or update items

: No

PO Status

: APPROVED

Batch ID

: 13

(We can get from headers interface table)


5) Take the Request ID execute following query we can get the PO numbers
select segment1 Ponumber
from po_headers_all
where request _id = 145233;
6) Go to the PO Application and Query the PO from as per the PO number.
Control File: - PO_HEADERS_INTERFACE

load data
infile *

TRUNCATE into table XX_HEADERS


fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
( INTERFACE_HEADER_ID
,BATCH_ID
,ACTION
,ORG_ID
,DOCUMENT_TYPE_CODE
,CURRENCY_CODE
,AGENT_NAME
,VENDOR_NAME
,VENDOR_SITE_CODE
,SHIP_TO_LOCATION
,BILL_TO_LOCATION
,APPROVAL_STATUS
,FREIGHT_CARRIER
,FOB
,FREIGHT_TERMS
)
BEGINDATA
1,13,"ORIGINAL",204,"STANDARD","USD","Stock, Ms. Pat","IBM","IBM-BAN","H1- Detroit","V1- New York
City","APPROVED","UPS","Origin","Due"

2,13,"ORIGINAL",204,"STANDARD","USD","Stock, Ms. Pat","SONY","SONY-CHN","H1- Detroit","V1- New York


City","APPROVED","UPS","Origin","Due"

Control File: - PO_LINES_INTERFACE

load data
infile *
insert into table XX_LINES
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
( interface_header_id
,interface_line_id
,LINE_NUM
,SHIPMENT_NUM
,LINE_TYPE
,ITEM
,ITEM_DESCRIPTION
,item_id
,UOM_CODE
,QUANTITY
,UNIT_PRICE
,SHIP_TO_ORGANIZATION_CODE
,SHIP_TO_LOCATION
,list_price_per_unit)

BEGINDATA
1,1,2,2,"Goods","AS54999","Sentinel Standard Desktop Rugged",2155,"Ea",10,120,"M1","Adelaide",45

1,2,3,3,"Goods","75100005","Colour Cartidge",6076,"Ea",11,111,"M1","Adelaide",55

1,3,4,4,"Goods","AS54999","Sentinel Standard Desktop Rugged",2155,"Ea",1,1400,"M1","Adelaide",65

2,4,5,1,"Goods","AS54999","Sentinel Standard Desktop Rugged",2155,"Ea",222,234,"M1","Adelaide",105

Procedure for Insertions of data from Interface tables to Base tables after validating.

CREATE OR REPLACE PROCEDURE PO_Int1(Errbuf OUT VARCHAR2,


Retcode OUT VARCHAR2) AS
CURSOR c1 IS SELECT * FROM PO_HEADER_TABLE;
CURSOR c2 IS SELECT * FROM PO_LINE_TABLE;
l_vendor_id number(10);
l_item
l_flag

varchar2(150);
varchar2(4) default 'A';

l_msg

varchar2(200);

l_site_code

varchar2(100);

l_curr_code

varchar2(10);

l_org_id

number(6);

BEGIN
DELETE FROM PO_HEADERS_INTERFACE;
DELETE FROM PO_LINES_INTERFACE;
COMMIT;
FOR x1 IN c1 LOOP
BEGIN
SELECT vendor_id
INTO l_vendor_id

FROM po_vendors
WHERE vendor_name = x1.VENDOR_NAME;
-- AND ORG_ID = Fnd_Profile.Value('ORG_ID');
EXCEPTION
WHEN OTHERS THEN
l_flag

:= 'E';

l_vendor_id := 0;
l_msg

:= 'Vendor id is Not in SYSTEM';

END;
--Vendor Site code Validation
/* begin
select vendor_site_code
into

l_site_code

from

po_vendor_sites_all

where vendor_site_code = x1.vendor_site_code;


EXCEPTION
WHEN OTHERS THEN
l_flag

:= 'E';

l_site_code := 0;
l_msg

:= 'Vendor Site Code is Not in SYSTEM';

END;*/
--End of Site Code Validation
--Currency Code Validation
Begin
select currency_code
into l_curr_code

from fnd_currencies
where currency_code = x1.CURRENCY_CODE;
EXCEPTION
WHEN OTHERS THEN
l_flag

:= 'E';

l_curr_code := 0;
l_msg

:= 'Currency Code is Invalid';

END;
--End of te Currency Validation
--Operating Unit ID Validation
Begin
select organization_id
into l_org_id
from hr_operating_units
where organization_id = x1.org_id;
EXCEPTION
WHEN OTHERS THEN
l_flag

:= 'E';

l_org_id

:= 0;

l_msg

:= 'Invalid Organization ID';

END;
--End of the ORG ID Validation
IF l_flag != 'E' THEN
INSERT INTO po_headers_interface
(
INTERFACE_HEADER_ID

,BATCH_ID
,ACTION
,ORG_ID
,DOCUMENT_TYPE_CODE
,CURRENCY_CODE
,AGENT_NAME
,VENDOR_NAME
,VENDOR_SITE_CODE
,SHIP_TO_LOCATION
,BILL_TO_LOCATION
,creation_date
,APPROVAL_STATUS
,APPROVED_DATE
,FREIGHT_TERMS
)
VALUES
(
x1.INTERFACE_HEADER_ID
,x1.batch_id
,x1.action
,x1.org_id
,x1.document_type_code
,x1.CURRENCY_CODE
,x1.AGENT_NAME
,x1.VENDOR_NAME
,x1.VENDOR_SITE_CODE

,x1.SHIP_TO_LOCATION
,x1.BILL_TO_LOCATION
,SYSDATE-10
,x1.APPROVAL_STATUS
,SYSDATE
,x1.FREIGHT_TERMS
);
end if;
END LOOP;
FOR x2 IN c2 LOOP
l_flag := 'A';
--Item Validation
begin
select segment1
into l_item
from mtl_system_items_b
where segment1
AND

= x2.item

ORGANIZATION_ID = fnd_profile.value('ORG_ID');

exception
when others then
l_flag

:= 'E';

l_vendor_id := 0;
l_msg

:= 'Item is not valid Item';

END;
--End of the Item Validation
if l_flag != 'E' then

INSERT INTO PO_LINES_INTERFACE


(
INTERFACE_LINE_ID
,INTERFACE_HEADER_ID
,LINE_NUM
,SHIPMENT_NUM
,LINE_TYPE
,ITEM
,ITEM_DESCRIPTION
,item_id
,UOM_CODE
,QUANTITY
,UNIT_PRICE
,SHIP_TO_ORGANIZATION_CODE
,SHIP_TO_LOCATION
,NEED_BY_DATE
,PROMISED_DATE
,list_price_per_unit
)
VALUES
(
x2.INTERFACE_LINE_ID
,x2.INTERFACE_HEADER_ID
,x2.LINE_NUM
,x2.SHIPMENT_NUM
,x2.LINE_TYPE

,x2.ITEM
,x2.ITEM_DESCRIPTION
,x2.item_id
,x2.UOM_CODE
,x2.QUANTITY,
X2.UNIT_PRICE,
X2.SHIP_TO_ORGANIZATION_CODE,
X2.SHIP_TO_LOCATION,
X2.NEED_BY_DATE,
X2.PROMISED_DATE,
X2.LIST_PRICE_PER_UNIT);
END IF;
END LOOP;
COMMIT;
END PO_INT1;

Você também pode gostar