Beruflich Dokumente
Kultur Dokumente
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.
Custom Top is nothing but Customer Top, which is created for customer only. We can have multiple
custom tops 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.
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
I--INSTALLED,
B--BASE,
D--DISABLE
4. Where did U find the Application short name and base path 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
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.
yes, we can have custom schema, when we want to create a new table we required custom schema.
It is nothing but Instance of the execution along with parameters & Incompatibles. Here Incompatibles
nothing but if we are submitting cc programs if anyone can be execute in those program, which
programs r not imp at this time we will mention those programs in incompatibles 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/12.0.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.
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.
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.
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) 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.
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.
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)
Collection of Chart of Accounts and Currency and Calendars and sub ledger convention is called SOB
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)
If aparty 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)
customer account can have multiple sites. The address is maintained in HZ_LOCATIONS.
hz_cust_site_uses_all (site_use_id)
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)
and Locations. The same party can have multiple party sites. Physical addresses are stored in
HZ_LOCATIONS.
hz_locations (location_id)
hz_Person_Profiles (person_profile_id)
Socioeconomic and corporate linkage information for business sites. The primary key for this table is
ORGANIZATION_PROFILE_ID.
FND SRWINIT sets your profile option values, multiple organizations and allowsOracle 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
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 tablebased values set.
5) Pair ------ two flex fields together specify a range of valid values.
6) Translatable independent ----- input must exist on previously defined listof values; translated values
can be used.
7) Translatable dependent ------- input is checked against a subset of valuesbased on a prior values;
translated value can be used.
23.Form development process?
e) Create a window.
k) Modify the form level properties. (sub class item Text item)
a. Identify the Short name of the standard report in which module we haveto customize
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)
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.
Concurrent Program.
25.FLEX FIELDS?
DFF
KFF
FLEX FILED : DESCRIPTIVE : REGISTER Used for entering and displaying key information
For example Oracle General uses a key Flex field called Accounting Flex field to uniquely identify a
general account.
BIND VARIABLE:
bind variable may be used to replace expressions in select, where, group, orderby, having, connect by,
start with cause of queries.
bind reference may not be referenced in FROM clause (or) in place ofreserved 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.
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.
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.
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 additionalsummaries: first, last, standard deviation, variance.
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
E-Business Suite applications.
Ans.
c. Developing Interfaces
e. Workflow automations
e. Define Printers
a. Installing of Application
b. up gradation
c. Migration
d. Patches
e. Routing maintenance of QA
f. Cloning of OA
Ans.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)
Ans.
2. Place the report definition file in the module specific reports directory.
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:
Ans.
1. Dependant
2. Independent
3. None
4. Pair
5. Special
6. Table
7. Translate Independent
8. Translate Dependent
Identify programs that should not run simultaneously with your concurrent program because they might
interfere with its execution.
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 a
concurrent 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)
Run Alone: Indicate whether your program should run alone relative to all other programs in the same
logical database. If the execution of your program
interferes with the execution of all other programs in the same logical database (in other words, if your
program is incompatible with all programs in itslogical database, including itself), it should run alone.
No.
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.
No.
7.What are the various types of parameter modes in a procedure ?
Yes.
10.Can 2 functions have same name & input parameters but differ only by return datatype
No.
By using Ref cursor we can change the select statementdynamically at runtime which is available in the
cursordefinition based on some validation.For this we need todefine ref cursor type by using following
syntax.
type/varray type.
ref cursor.
ref cursor.
after this we need to define ref cursor variable by usingthe following syntax.
v_variable_name ref_cursor_type_name;
dynamically.
for example
------------------
declare
type ref_cur is ref cursor;
v_ref_cur ref_cur;
v_deptno emp.deptno%type;
begin
if v_deptno=20 then
else
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 data types. Each element has a unique subscript that
determines its position in the collection.
Index-by tables, also known as associative arrays, let you look up elements using arbitrary numbers and
strings for subscript values.
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’
Interface Tables:
AP_INVOICES_INTERFACE
AP_INVOICE_LINES_INTERFACE
Base Tables:
AP_INVOICES_ALL
AP_INVOICE_DISTRIBUTIONS_ALL
Concurrent Program:
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:
Request Set:
Supplier Open Interface Request Set (Contain all 3 above mentioned concurrent programs)
Interface Tables:
MTL_SYSTEM_ITEMS_INTERFACE
MTL_ITEM_REVISIONS_INTERFACE
MTL_ITEM_CATEGORIES_INTERFACE
Base Tables:
MTL_SYSTEM_ITEMS_B
MTL_ITEM_REVISIONS_B
MTL_CATEGORIES_B
MTL_CATEGORY_SETS_B
Concurrent program:
Import Items
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:
Interface Tables:
PO_HEADERS_INTERFACE
PO_LINES_INTERFACE
PO_DISTRIBUTIONS_INTERFACE
PO_LINE_LOCATIONS_INTERFACE
Base Tables:
PO_HEADERS_ALL
PO_LINES_ALL
PO_DISTRIBUTIONS_ALL
PO_LINE_LOCATIONS_ALL
Concurrent Program:
Import Price Catalogs(To import Catalog Quotations, Standard Quotations, and Blanket Purchase
Agreements)
Interface Tables:
PO_REQUISITIONS_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL
Base Tables:
PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
Concurrent Program:
Requisition Import
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
HZ_CUST_A/C_VZPUB.UPDATE_CUST_A/C
HZ_CUST_A/C_VZPUB.CREATE_CUST_A/C
4) PL/SQL stored procedure parameters or what are the two parameters that are mandatory for pl/sql
type concurrent program
RETCODE :- Populate log request file with program submission details info.
5) What is Value Set
--When ever 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.
5) Pair ------ two flex fields together specify a range of valid values.
of values;
7) What is template?
a) The TEMPLATE form is the required starting point for all development of new Forms.
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)
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
Data groups: is a group of modules to be made accessible by the user through Responsibility
System admin
What is the sequence of functions – group by, having , order by in a select statements
(Oracle discover) (Oracle sales analyzer) (Oracle financial analyzer) (Oracle marketing analyzer)
Legal entity has more than one operating unit is called as multi org
operating unit.
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 Procedure
Oracle reports
PL/SQL Stored Procedures
Java concurrent Program
SQL * Loader
Sql * plus
spawned
perl concurrent program
request set stage function
15 Data Link
- A data link (Parent - Child Relation Ship) causes the child query to be executed once for each instance
of its parent group.
A) FND - ID - FLEXS
B) FND-ID-FLEX-STRUCTURES 5
- Internet computing Architecture is a frame work for 3-tired, distributed computing that supports
Oracle Applications products.
2 Application Tier
- 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
FND_PROGRAM.EXECUTABLE
FND_PROGRAM.REGISTER
FND_PROGRAM.PARAMETER
FND_PROGRAM.ADD_TO_GROUP
FND_REQUEST.SUBMIT_REQUEST
FND_PROFILE.VALUE
FND_PROFILE.GET
1. FND_STANDARD.FORM_INFO 6
2. FND_standard.set_who
3. FND_STANDARD.SYSTEM_DATE
4. FNID_STANDARD.USER
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 API’S
FND_CURRENCY
FND_DATE
FND_GLOBAL
FND_ORG
FND_STANDARD
FND_UTILITIES.OPEN_URL
FND_UTILITIES. PARAM_EXISTS
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
(executable IN varchar2,
(Full name)
execution_method IN varchar2,
FND_PROGRAM.REGISTER
- 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,
executable_application IN varchar2,
mls_function_shelt_name IN varchar2,
mls_function_application IN varchar2,
inerementor IN varhcar2);
-
- AD_DD BPI doesn?t 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.
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
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.
3. FND_FILE.NEW_LINE
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
argument1,
arguemnt2,
If this is submitted from oracle forms, all the arguments ( 1 to 100 ) must be specified. 12
- From the operating system the utility .CONCSUB is used to submit is concurrent propgram.
- 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
FND_CONCURENT.GET_REQUEST_STATUS
FND_CONCURRENT.WAIT_FOR_REQUEST
- FND_CONCURRENT.GET_REQUEST_STATUS
- 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
- when application and program are specified, the request_id of the last request for the specified
program should be returned to request_id.
FND_LOOKUPS
dev_phase dev_status
pending normal, standby, scheduled, paused
- FND_REQUEST.WAIT_FOR_REQUEST
- This function waits for request completion, then returns the request phase/status and completion
message to the caller.
Syntax
FND_CONCURRENT.SET_COMPLETION_STATUS
- this function should be called from a concurrent program to set its completion states.
ENT.SET_COMPLETION_STATUS
( status in varchar2,
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.
- 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.
- multi organization architecture is meant to allow multiple 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.
select multi_org_flag
form fnd_product_groups
- 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.
2) Event Handlers
3) Table Handlers
4) Business Rules
- Handlers reside in program units in the form or in stored packed in the database.
Adding choices to the special mence and logic to modify choices the default menu and tool bar behavior
is necessary.
Creating a form function for the developed form and registering any sub functions.
Assigning the menu to the responsibility and assigning the responsibility to the user.
Testing the form within Oracle Applications.
org_id column tables are operating_unit tables,Organization_id tables are inventory Related tables.
- A data group is a group of oracle applications and the Oracle ID’s of each application
- Data group determines which Oracle Data base accounts a responsibilities forms, concurrent programs
and reports connect to.
- 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
- A set of books
- 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.
- By setting profile options, the applications can be made to react in different ways for different users
depending on the specific user attributes.
40)FND_PROGRAM Package
FND_PROGRAM.Executable:-
(executable in Varchar2,
execution_method in varchar2,
execution_file_name in varchar2 default null,
FND.PROGRAM. REGISTER:-
Procedure FND_PROGRAM.Register IS
(Program in varchar2,
application in varchar2,
enabled in varchar2,
short_name in varchar2,
executable_short_name in varchar2,
executable_application in varchar2,
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.
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.
A function is apart of an application’s 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
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
Custom.pll - $AU_TOP/resource
Forms - $PROD_TOP/Forms/US
Reports - $PROD_TOP/Reports/US
Custom.pll is used while making new or customizing standard oracle 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 user?s profile when the
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.
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
56)How do you register a report Explain passing of parameters between a concurrent program
Define executable.
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
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
59. How do you create a table validated value set dependent on another value set
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
66. Explain how to generate a trace file for a pl/sql concurrent program for tuning
67. How do you “write” to the concurrent request Log and Output file
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.
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.
Items: - MTL_SYSTEM_ITEMS_B
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
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 [ ] .
76)Which procedure should be used to make the DFF read only at run time
FND_DESCR_FLEX.UPDATE_DEFINITION()
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
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.
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
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.
v_return_flag := apps.gems_public_apis_pkg.po_update_po
apps.gems_public_apis_pkg.po_control_document
Ans. apps.gems_public_apis_pkg.fnd_apps_initialize
84)What is the name of the API parameter when they are True,False and NULL
( p_org_id IN VARCHAR2
, p_feeder_source IN VARCHAR2
, p_subject IN VARCHAR2
, p_message_body IN VARCHAR2
v_host_name := utl_inaddr.get_host_name();
v_host_ip := utl_inaddr.get_host_address(v_host_name);
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));
utl_smtp.quit(v_mailconn);
Ans. for file in `find . -name " .com ~$5" -print |cut -c3-120`
do
echo $file
echo $frm
echo $tom
if [ $rc != 0 ]
then
fi 34
rm -f "$file"
rc=$
if [ $rc != 0 ]
then
fi
done
Ans. apps.fnd_global.apps_initialize
v_request_id := apps.fnd_request.submit_request
('PO'
,'RVCTP'
,NULL
,NULL
,FALSE
,'BATCH'
,p_batch_id
);
, interval => 10
, max_wait => 0
Ans. apps.gems_public_apis_pkg.fnd_apps_initialize
And U can get the parameters from the following script ->
, 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
AND ROWNUM = 1;
91) What resources are provided for developing applications which will be
without modifying the base Oracle Applications forms. Globe calls routines
k. The AU_TOP/resource/JL.pll called from Globe and contains Latin America code.
NOTE: All FMB and PLL files must be migrated to your desktop if you intend to
Release 11.
92. What are the supported versions of Forms and Reports used for developing
Answer------
a. The following supported versions are provided in Developer/2000
Release 1.6.1:
i. Forms 4.5
Answer------
a. UNIX
cd $AU_TOP/forms/US
/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
compile_all=special
94. How do I open, compile and/or generate a custom Oracle Applications form on my desktop
Answer
desktop:
your FORMS45_PATH.
NOTE: It may sometimes be necessary to convert FMB -> FMT and PLL -> PLD before 38
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
c. Add the full path to this CUSTOM_TOP to your APPLSYS.env ( Source your
UNIX: /u01/oracle/apps/vd11/xxcus/11.0.28
Windows NT: D:\oa\appltst\vd11\xxcus\11.0.28
Developer Responsibility.
e. Navigate: Application -> Register and add your new CUSTOM_TOP to Oracle
Applications.
-------------------------------------------------------------------------------
f. Shutdown and restart your Internal Concurrent Manager (ICM) so that the
concurrent manager will recognize the change to the environment that was
96. How to get the data from the views in Multi_ORG views
Eg:
SELECT FROM po_headers – this is multi org view
If we can?t 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;
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.
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.
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.
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.
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.
Order Entry
Receivable
Payable
Purchasing
Project Accounting
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.
Chart of accounts,
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.
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.
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.
e) Inventory Organization : An organization for which you track inventory transactions and balances,
and/or an organization that manufactures or distributes products.
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 won?t get impact even the user parameter names get
changed, but got impacted when the token name changed.
Ans: errbuf
errcode.
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.
Order Entry
Receivable
Payable
Purchasing
Project Accounting
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
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.
Order Entry
Receivable
Payable
Purchasing
Project Accounting
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:
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.
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.
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)
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.
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.
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
137. Describe the OPERAND1 option of the FND FLEXSQL user exit
138. Describe the OPERAND2 option of the FND FLEXSQL user exit
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
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. ORIG_SYSTEM_CUSTOMER_REF
INSERT_UPDATE_FLAG
CUSTOMER_NAME
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:
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
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.
A a) Auto Invoice
b) Auto Lockbox
c) Customer Interface 47
A a) Budget Upload
b) Importing Journals
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
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
154. What is application short name for General Ledger you specify in FND FLEXSQL user exit
A. SQLGL
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
159). What is the syntax for loading data through SQL Loader from multiple files simultaneously
A MTL_SYSTEM_ITEMS, MTL_CATEGORIES
161). Tell me names of important production tables & their purpose AP, AR, GL, PO
To store invoices
162). Name the interface tables used for the LockBox Interface
Lockbox transfers the receipts that pass validation to the Receivables interim tables
AR_INTERIM_CASH_RECEIPTS_ALL and AR_INTERIM_CASH_RCPT_LINES_ALL
When you run Post QuickCash, the receipt data is transferred from the QuickCash tables to the following
Receipt tables:
AR_CASH_RECEIPTS_ALL
AR_RECEIVABLES_APPLICATIONS_ALL
AR_CASH_RECEIPT_HISTORY_ALL
163) Name the interface tables used for the Auto Invoice Interface.
RA_INTERFACE_LINES_ALL,
RA_INTERFACE_SALESCREDITS_ALL, and
RA_INTERFACE_DISTRIBUTIONS_ALL
• 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).
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.
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
167)What all are the tables used in the modules u have worked on.
for each option in a user?s 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.
A. USER
B. RESPONSIBILITY
C. APPLICATION
D. SITE
(NOTE:- If any change in value, it will active when you re-login or switch
to the responsibility.)
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.
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.
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
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
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.
-HRMS(Employee)
Receivables)
Ware Housing)
(Note:- Means if you maintaining GL(set of book id), If u have operating unit, if you
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)
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.
Ans:-Database Schema-
The APPS schema- is an ORACLE schema that has access to the
by Auto Install .
views. These views reside in the APPS Oracle schema and derive the
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.
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
Spawned programs:
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'
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
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
d run the program and view the out put is srs through ur responsibility
begin
v_request_id := fnd_request.submit_request(applicationshortname,
concurrentprogramshortname,
description,
paramers)
end
commit;
dbms_output.put_line('Successfully submitted')
else
dbms_output.put_line('Not Submitted');
end;
Navigate to the Concurrent Request Summary form Select a request The Sysadmin responsibility can
cancel or hold any running request
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
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
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
To register the table and columns in AOL the navigation is: Open Application 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
$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
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
Concurrent Processing in Oracle Apps simultaneously executes programs running in the Background
with on line operations to fully utilize your hardware capacity.
Long Running – Data intensive tasks such as Posting a Journal or generating a report.
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).
o Operating Profile
o Concurrent Processing
1. What is the Flex field What are the types of Flex field
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.
o FND_FLEX_VALUES
o FND_FLEX_VALUE_SETS
o FND_FLEX_VALUES_TL
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
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),
226)What is Profile Explain different levels of Profile. Ans:- A user profile is a set of changeable options
that affects the way your
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.
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.)
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.
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
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 backend- Client server
architecture (old)/ Three tire architecture
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)
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
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)
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 Schema-
The APPS schema- is an ORACLE schema that has access to the
by AutoInstall.
236) What are the objects APPS schema contain. Ans:- The APPS schema contains synonyms to all tables
and
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
Relation INVENTORY_ITEM_ID
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
f. Oracle Reports
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
E-Business Suite applications.
247) Difference between Application Developer and System Administrator Role of Technical Consultant:
3. Developing Interfaces
5. Workflow automations
5. Define Printers
1. Installing of Application
2. Upgradation
3. Migration
4. Patches
5. Routing maintenance of QA
6. Cloning of OA
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.
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.
-HRMS(Employee)
Receivables)
Ware Housing)
(Note:- Means if you maintaining GL(set of book id), If u have operating unit, if you
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)
Ans:-
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.
Ans:-Database Schema-
by Auto Install .
views. These views reside in the APPS Oracle schema and derive the
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.
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
Spawned programs:
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
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
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
d run the program and view the out put is srs through ur responsibility
begin
v_request_id := fnd_request.submit_request(applicationshortname,
concurrentprogramshortname,
description,
paramers)
end 54
commit;
dbms_output.put_line('Successfully submitted')
else
dbms_output.put_line('Not Submitted');
end;
Navigate to the Concurrent Request Summary form Select a request The Sysadmin responsibility can
cancel or hold any running request
Example:- to transfer the data old version to new version it is called conversion to 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
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 Independent value
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 Independent- Same as Independent value set, only translated values are present
To register the table and columns in AOL the navigation is: Open Application Developer--->Application---
>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
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
Concurrent Processing in Oracle Apps simultaneously executes programs running in the Background
with on line operations to fully utilize your hardware capacity.
Long Running – Data intensive tasks such as Posting a Journal or generating a report.
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).
o Applications Security
o Operating Profile
o Concurrent Processing
1. What is the Flex field What are the types of Flex field
Flex Field is “Flexible Field”
A Flexfield is made up of Segments.Each segment has a name that can be assigned and has set of valid
values.
There are two types of Flex field Key Flex Field and Descriptive Flex Fields.
o FND_FLEX_VALUES
o FND_FLEX_VALUE_SETS
o FND_FLEX_VALUES_TL
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 is FND_REQUEST.SUBMIT_REQUEST
Arguments – Application,program,description,start_time,sub_request,arg1..
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)
FORMS QUESTIONAIRE:
Block-processing triggers: - Block processing triggers fire in response to events related to record
management in a block. E.g. When-Create-Record, When-Clear-Block, When-Database-Record,
When-Remove-Record
Interface event triggers: - Interface event triggers fire in response to events that occur in the form
interface. Some of these triggers, such as When-Button-Pressed, fire only in response to operator
input or manipulation. Others, like When-Window-Activated, can fire in response to both operator
input and programmatic control. E.g. When-Button-Pressed, When-Checkbox-Changed, Key- [all],
When-Radio-Changed, When-Timer-Expired, When-Window-Activated, When-Window-Resized
Master-detail triggers: - Form Builder generates master-detail triggers automatically when you
define a master-detail relation between blocks. The default master-detail triggers enforce
coordination between records in a detail block and the master record in a master block. Unless
you are developing your own custom block-coordination scheme, you do not need to define these
triggers yourself. Instead, simply create a relation object, and let Form Builder generate the
triggers required to manage coordination between the master and detail blocks in the relation.
E.g. On-Check-Delete-Master, On-Clear-Details, On-Populate-Details
Navigational triggers: - Navigational triggers fire in response to navigational events. For instance,
when the operator clicks on a text item in another block, navigational events occur as Form
Builder moves the input focus from the current item to the target item. Navigational events occur
at different levels of the Form Builder object hierarchy (Form, Block, Record, Item). Navigational
triggers can be further sub-divided into two categories: Pre- and Post- triggers, and When-New-
Instance triggers. Pre- and Post- triggers fire as Form Builder navigates internally through
different levels of the object hierarchy. As you might expect, these triggers fire in response to
navigation initiated by an operator, such as pressing the [Next Item] key. However, be aware that
these triggers also fire in response to internal navigation that Form Builder performs during
default processing. To avoid unexpected results, you must consider such internal navigation
when you use these triggers. E.g. Pre-Form, Pre-Block, Pre-Text-Item, Post-Text-Item, Post-
Record, Post-Block, Post-Form
When-New-Instance triggers fire at the end of a navigational sequence that places the input focus
in a different item. Specifically, these triggers fire just after Form Builder moves the input focus to
a different item, when the form returns to a quiet state to wait for operator input. Unlike the Pre-
and Post- navigational triggers, the When-New-Instance triggers do not fire in response to internal
navigational events that occur during default form processing. E.g. When-New-Form-Instance,
When-New-Block-Instance, When-New-Record-Instance, When-New-Item-Instance
Query-time triggers: - Query-time triggers fire just before and just after the operator or the
application executes a query in a block. E.g. Pre-Query, Post-Query
Transactional triggers: - Transactional triggers fire in response to a wide variety of events that
occur as a form interacts with the data source. E.g. On-Delete, On-Insert, On-Lock, On-Logon, On-
Update, Post-Database-Commit, Post-Delete, Post-Forms-Commit, Post-Insert, Post-Update, Pre-
Commit, Pre-Delete, Pre-Insert, Pre-Update
Validation triggers: - Validation triggers fire when Form Builder validates data in an item or record.
Form Builder performs validation checks during navigation that occurs in response to operator
input, programmatic control, or default processing, such as a Commit operation. E.g. When-
Validate-Item, When-Validate-Record
Ø KEY Commit
Ø Pre Commit
Ø Pre/On/Post Delete
Ø Pre/On/Post Update
Ø Pre/On/Post Insert
Ø On commit
Ø Post Database Commit
You can also add list elements individually at runtime by using the ADD_LIST_ELEMENT built-in
subprogram, or you can populate the list from a record group at runtime using the
POPULATE_LIST built-in. If you populate the list from a record group, be sure that the record
group you are using to populate the list contains the relevant values before you call
POPULATE_LIST. If the record group is a static record group, it will already contain the
appropriate values. Otherwise, you should populate the group at runtime using one of the record
group subprograms.
The Object Library provides an easy method of reusing objects and enforcing standards across
the entire development organization.
Object Library can be used to:
1. Object libraries are automatically re-opened when you startup Form Builder, making your
reusable objects immediately accessible.
2. You can associate multiple object libraries with an application. For example, you can create an
object library specifically for corporate standards, and you can create an object library to satisfy
project-specific requirements.
3. Object libraries feature Smart Classes-- objects that you define as being the standard. You use
Smart Classes to convert objects to standard objects.
6. Key-next/Post-Text (Difference)
Post-Text–Item: Fires during the Leave the Item process for a text item. Specifically, this trigger
fires when the input focus moves from a text item to any other item.
Key-Next-Item: The key-next is fired as a result of the key action. Key next will not fire unless
there is a key event.
Call Form: Runs an indicated form while keeping the parent form active. Form Builder runs the
called form with the same Run form preferences as the parent form. When the called form is
exited Form Builder processing resumes in the calling form at the point from which you initiated
the call to CALL_FORM.
PROCEDURE CALL_FORM (formmodule_name VARCHAR2, display NUMBER, switch_menu
NUMBER, query_mode NUMBER, data_mode NUMBER, paramlist_name/id VARCHAR2);
New Form: Exits the current form and enters the indicated form. The calling form is terminated as
the parent form. If the calling form had been called by a higher form, Form Builder keeps the
higher call active and treats it as a call to the new form. Form Builder releases memory (such as
database cursors) that the terminated form was using.
Form Builder runs the new form with the same Runform options as the parent form. If the parent
form was a called form, Form Builder runs the new form with the same options as the parent form.
PROCEDURE NEW_FORM (formmodule_name VARCHAR2, rollback_mode NUMBER, query_mode
NUMBER, data_mode NUMBER, paramlist_name/id VARCHAR2);
Open Form: Opens the indicated form. Use OPEN_FORM to create multiple-form applications, that
is, applications that open more than one form at the same time.
PROCEDURE OPEN_FORM (form_name VARCHAR2, activate_mode NUMBER, session_mode
NUMBER, data_mode NUMBER, paramlist_id/name PARAMLIST);
(i) Content Canvas (Default Canvas) [A content canvas is the required on each window you create]
(ii) Stack Canvas [you can display more then one stack canvas in a window at the same time]
(iii) Tab Type Window [In Tab canvas that have tab pages and have one or more then tab page]
(iv) Toolbar Canvas [A toolbar canvas often is used to create Toolbar Windows. There are two
type of Toolbar window.
a. Horizontal Toolbar Canvas: - Horizontal Toolbar canvases are displayed at the top of the
window, Just Under the Main Menu Bar.
b. Vertical Toolbar Canvas: - While vertical Toolbar are displayed along the Left Edge of the
window.
An object group is a container for a group of objects. You define an object group when you want
to package related objects so you can copy or subclass them in another module.
Object groups provide a way to bundle objects into higher-level building blocks that can be used
in other parts of an application and in subsequent development projects. For example, you might
build an appointment scheduler in a form and then decide to make it available from other forms in
your applications. The scheduler would probably be built from several types of objects, including
a window and canvas, blocks, and items that display dates and appointments, and triggers that
contain the logic for scheduling and other functionality. If you packaged these objects into an
object group, you could then copy them to any number of other forms in one simple operation.
You can create object groups in form and menu modules. Once you create an object group, you
can add and remove objects to it as desired.
We can use the same LOV for 2 columns by passing the return values in global values and using
the global values in the code.
The static LOV contains the predetermined values while the dynamic LOV contains values that
come at run time
A format trigger is a PL/SQL function executed before an object is formatted. A trigger can be
used to dynamically change the formatting attributes of the object.
A matrix (cross tab) report contains one row of labels, one column of labels, and information in a
grid format that is related to the row and column labels. A distinguishing feature of matrix reports
is that the number of columns is not known until the data is fetched from the database.
To create a matrix report, you need at least four groups: one group must be a cross-product
group, two of the groups must be within the cross-product group to furnish the "labels," and at
least one group must provide the information to fill the cells. The groups can belong to a single
query or to multiple queries.
A matrix with group report is a group above report with a separate matrix for each value of the
master group.
A nested matrix (crosstab) report is a matrix report in which at least one parent/child relationship
appears within the matrix grid.
The new Child Dimension property of the nested group enables you to eliminate empty rows
and/or columns in your single-query nested matrix.
Nested Matrix Report: Has multiple dimensions going across and/or down the page
Multi-Query Matrix with Break: Is similar to a nested matrix report in that it has more than two
dimensions. Does not display records that do not contain data
Matrix Break Reports: Contains a new matrix for each master record
17. Lexical & Bind Parameters in Reports
Lexical Parameters: Lexical references are placeholders for text that you embed in a SELECT
statement. You can use lexical references to replace the clauses appearing after SELECT, FROM,
WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH.
You cannot make lexical references in a PL/SQL statement. You can, however, use a bind
reference in PL/SQL to set the value of a parameter that is then referenced lexically in SQL. Look
at the example below.
You create a lexical reference by entering an ampersand (&) followed immediately by the column
or parameter name. A default definition is not provided for lexical references. Therefore, you must
do the following:
Ø Before you create your query, define a column or parameter in the data model for each lexical
reference in the query. For columns, you must enter Value if Null, and, for parameters, you must
enter Initial Value. Report Builder uses these values to validate a query with a lexical reference.
Ø Create your query containing lexical references.
Bind Parameters: Bind references (or bind variables) are used to replace a single value in SQL or
PL/SQL, such as a character string, number, or date. Specifically, bind references may be used to
replace expressions in SELECT, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and
START WITH clauses of queries. Bind references may not be referenced in FROM clauses or in
place of reserved words or clauses.
You create a bind reference by entering a colon (:) followed immediately by the column or
parameter name. If you do not create a column or parameter before making a bind reference to it
in a SELECT statement, Report Builder will create a parameter for you by default.
The Column Mode property controls how Report Builder fetches and formats data for instances of
repeating frames. With Column Mode set to Yes, the next instance of a repeating frame can begin
formatting before the previous instance is completed. With Column Mode set to No, the next
instance cannot begin formatting before the previous instance is completed. Column Mode is
used mainly for master repeating frames or repeating frames that contain fields that may expand
vertically or horizontally (i.e., elasticity is Variable or Expand).
Packages provide a method of encapsulating and storing related procedures, funtions and other
package constructs as a unit in the database. They offer increased functionality (for example,
global package variables can be declared and used by any procedure in the package). They also
improve performance (for example, all objects of the package are parsed, compiled, and loaded
into memory once).
Package specification contains declarations of public constructs where as the package body
contains definitions of all those public constructs and declarations & definitions of private
constructs.
PL/SQL tables are declared in the declaration portion of the block. A table is a composite datatype
in PL/SQL. PL/SQL tables can have one column and a primary key neither of which can be named.
The column can be any scalar type but primary key should be a BINARY_INTEGER datatype.
Rules for PL/SQL Tables:
1. A loop must be used to insert values into a PL/SQL Table
2. You cannot use the Delete command to delete the contents of PL/SQL Table. You must assign
an empty table to the PL/SQL table being deleted.
Database triggers are PL/SQL, Java, or C procedures that run implicitly whenever a table or view
is modified or when some user actions or database system actions occur. Database triggers can
be used in a variety of ways for managing your database. For example, they can automate data
generation, audit data modifications, enforce complex integrity constraints, and customize
complex security authorizations.
Row Triggers
A row trigger is fired each time the table is affected by the triggering statement.
For example, if an UPDATE statement updates multiple rows of a table, a row trigger is fired once
for each row affected by the UPDATE statement.
If a triggering statement affects no rows, a row trigger is not executed at all.
Row triggers are useful if the code in the trigger action depends on data provided by the
triggering statement or rows that are affected.
Statement Triggers
A statement trigger is fired once on behalf of the triggering statement, regardless of the number of
rows in the table that the triggering statement affects (even if no rows are affected).
For example, if a DELETE statement deletes several rows from a table, a statement-level DELETE
trigger is fired only once, regardless of how many rows are deleted from the table.
Statement triggers are useful if the code in the trigger action does not depend on the data
provided by the triggering statement or the rows affected.
For example, if a trigger makes a complex security check on the current time or user, or if a
trigger generates a single audit record based on the type of triggering statement, a statement
trigger is used.
AFTER Triggers AFTER triggers execute the trigger action after the triggering statement is
executed. AFTER triggers are used in the following situations:
AFTER triggers are used when you want the triggering statement to complete before executing
the trigger action.
If a BEFORE trigger is already present, an AFTER trigger can perform different actions on the
same triggering statement.
Combinations
Using the options listed in the previous two sections, you can create four types of triggers:
BEFORE statement trigger Before executing the triggering statement, the trigger action is
executed.
BEFORE row trigger Before modifying each row affected by the triggering statement and before
checking appropriate integrity constraints, the trigger action is executed provided that the trigger
restriction was not violated.
AFTER statement trigger After executing the triggering statement and applying any deferred
integrity constraints, the trigger action is executed.
AFTER row trigger After modifying each row affected by the triggering statement and possibly
applying appropriate integrity constraints, the trigger action is executed for the current row
provided the trigger restriction was not violated. Unlike BEFORE row triggers, AFTER row triggers
lock rows.