Setting your Oracle Applications session: fnd_global.apps_initialize (org_id)

Setting your Oracle Applications session: fnd_global.apps_initialize (org_id)

The examples set up the session for SYSADMIN user, System Administrator responsibility.

e.g. SQL*Plus   exec fnd_global.apps_initialize(0,20420,1);

e.g. for PL/SQL, TOAD, SQLDeveloper, SQL Navigator etc.:

begin fnd_global.apps_initialize(0,20420,1); end;

The parameters used here are:

1.        User_ID

2.        Responsibility_ID

3.        Responsibility_Application_ID

To get these you have a couple of choices

a) SQL – Replace SYSADMIN and System Administrator with your user and responsibility:

select 'begin fnd_global.apps_initialize(' ||

       fu.user_id || ',' ||

       fr.responsibility_id || ',' ||

       fr.application_id || '); end;' || chr(10) || '/'

     from   fnd_user fu

,      fnd_responsibility_tl fr

where  fu.user_name = 'SYSADMIN'

and    fr.responsibility_name = 'System Administrator';

b) In your Oracle Applications forms session. Login as your user and navigate to the required responsibility. Open a function that uses Oracle forms Go to Help > Diagnostics > Examine In the Block enter $PROFILES$ In the field enter the appropriate field name for the parameter:

1.        User_ID = USER_ID

2.        Responsibility_ID = RESP_ID

3.        Responsibility_Application_ID = RESP_APPL_ID

Template Form in Oracle Applications

Template Form in Oracle Apps

This document provides an overview of the template form. This form derives its importance from the fact that this form is the starting point of all development involving forms. The document highlights the importance of Template.fmb in forms development and also provides a detailed explanation of the various components of the Template form.

Overview of the Template Form

The TEMPLATE form is the starting point for all development of new forms. The first step in creating a form for use in Oracle Applications is to copy the template form from $AU_TOP/forms/US, to a local directory and renaming it.

The Template form is unique because it contains some special libraries and triggers that render the application using the template form some standard characteristics. The components of the template form are:

· References to object groups: The template form contains platform–independent references to predefined standard object groups in the APPSTAND form. STANDARD_PC_AND_VA, STANDARD_TOOLBAR, and STANDARD_CALENDAR).

· Libraries: The template form contains platform–independent attachments of several libraries (including FNDSQF, APPCORE, and APPDAYPK).

· Special triggers: The template form contains several form–level triggers with required code. These are responsible for standard the behavior of the form.

· Predefined Program Units: The template form contains predefined program units that include a spec and a body for the package APP_CUSTOM, which contains default behavior for window opening and closing events.

· Applications Color Palette: The template form contains the application color palette. This gives the forms developed using the template form the look and feel of Oracle Applications

· Many referenced objects (from the object groups) that support the Calendar, the toolbar, alternative regions, and the menu. These objects include LOVs, blocks, parameters, and property classes, and so on.

· The TEMPLATE form contains sample objects that can be seen as examples for the expected layout cosmetics. These samples can be completely removed from the form later as they are only examples and are not required. The following objects are the samples and can be removed:



§ Canvas–view: BLOCKNAME

Hence, the template form comes along with many attachments, predefined program units, and defined visual attributes as well as examples that not only give the forms that are developed using the template.fmb a standard look and feel, but also make t easier to develop forms with consistent and standard functionality.

Libraries in the Template form

As stated above, the template form contains platform–independent attachments of several libraries. These libraries are used while running the form as a part of Oracle Applications. Hence, these libraries should not be changed or modified. There are three main libraries that are attached to the template form:

APPCORE: APPCORE contains the packages and procedures that are responsible for the standard ‘Oracle Applications’ behavior of the forms. The forms have to support the menu, toolbar, and other required standard behaviors in compliance with oracle applications. The Oracle Applications forms also have to display specific runtime behaviors in accordance with the Oracle Applications Interface Standards, such as the way in which fields are enabled, behaviors of specific types of windows etc. APPCORE contains the procedures to support this standard runtime behavior. APPCORE also contains various other utilities for exceptional handling, message levels, and so on.

APPDAYPK: The APPDAYPK library contains the packages that control the Oracle Applications Calendar feature. The calendar (or the date picker) is a utility that oracle apps provide to pick the dates for a date type field.

FNDSQF: FNDSQF contains packages and procedures for Message Dictionary, flexfields, profiles, and concurrent processing. It also has various other utilities for navigation, multicurrency, WHO, etc.

Other Libraries à The template form also contains a few other libraries that are not linked directly to the template form, but are linked to the three libraries listed above. Although, while using the form it makes no difference whether the library is linked directly to template or to another library that is linked to template. These are discussed below.

CUSTOM library: The CUSTOM library (CUSTOM.pll) is probably the most widely used and customized in the libraries attached to the template form. This library allows extension of Oracle Applications forms without modification of Oracle Applications code. Any form goes to the CUSTOM.pll whenever any event fires on the form. Code can be written in the CUSTOM.pll with the logic branching based on the form, block and trigger on which you want it to run.

You can use the CUSTOM library for customizations such as Zoom (such as moving to another form and querying up specific records), enforcing business rules (for example, vendor name must be in uppercase letters), and disabling fields that do not apply for your site.

GLOBE: The GLOBE library allows Oracle Applications developers to incorporate global or regional features into Oracle Applications forms
without modification of the base Oracle Applications form. Oracle Applications sends events to the GLOBE library. Regional code can
take effect based on these events. The GLOBE library calls routines in
the JA, JE, and JL libraries.

VERT: The VERT library allows Oracle Applications developers to incorporate vertical industry features (for automotive, consumer packaged goods, energy, and other industries) into Oracle Applications forms without modification of the base Oracle Applications form. Oracle Applications sends events to the VERT library. Vertical industry code can take effect based on these events. The VERT library calls routines in various other libraries.

JA: The JA library contains code specific to the Asia/Pacific region and is called by the GLOBE library.

JE: The JE library contains code specific to the EMEA (Europe/ MiddleEast/ Africa) region and is called by the GLOBE library.

JL: The JL library contains code specific to the Latin America region and is called by the GLOBE library.

Thanks Shivmohan Purohit

Important things to focus as you are 0 to 2 Year experience in Oracle Applications Technical

Important things to focus as you are 0 to 2 Year experience in Oracle Applications Technical

1.Learn SQL – Writing Queries

2.Be Proficient in PL/SQL Programming

3.Learn more or more on System Admin and Application Developer module

4.Learn Unix – at least basics !

Oracle Applications – Basics – Part 1

Hello Friends, here i am posting some of basic oracle applications questions , will try to collect more and put in future posts, here i am putting quite easy and basic questions. If you like to know Questions of any specific area or modules, plz communicate so i will post those as well.

What are Oracle Apps API?

Where APIs are physically store? n What is the latest version of API?

They are Application Program Interfaces, which are standard stored procedure, package or functions created for performing specific activities in the Oracle Apps E-Business Suite.

Ex: The Order Import API when called would create orders corresponding to the record in the Order Interface tables.

How to attach reports in Oracle Applications?

The steps are as follows:

1.          Design your report.

2.          Generate the executable file of the report.

3.          Move the executable as well as source file to the appropriate product’s folder.

4.          Register the report as concurrent executable.

5.          Define the concurrent program for the executable registered.

6.          Add the concurrent program to the request group of the responsibility.

How to attach Forms in Oracle Applications

1. Develop the form in Developer 2000.

2. Save the FORM and move it to UNIX. [Form to be moved to $CUSTOM_TOP/forms/US]

3. Define the FORM in Application Developer

4. Define FORM as FUNCTION.

5. Identify MENU, where the FORM to be attached. [SysadminResponsibilityDefine]

6.Copy the above MENU and go to Application Developer and query on MENU tab

What is the difference between Customization and Personalization?

Customization is done by making the changes in the cutom.pll whereas the Form Personalization is done through the Front End in Oracle Apps.

Difference between Key and Descriptive Flexfield?

key flex fields are used to identify particular entity like(accounts,objects) supoose take debit cards each debit card contain unique number to identify them. eg; 100-023-323 key flex fields are used to store this number along with description.

Unique Identifier

Key Flexfield are stored in segment

For key flexfield there are flexfield Qualifier and segment Qualifier

DFF’s are used to capture additional informtion required for our organization without any programming.

To capture extra information
Stored in attributes
Context-sensitive flexfield is a feature of DFF. (descriptive flexfield)

What is the difference between data conversion and data migration?

Data Migration is upgrading from one version to another version fro e.g. from 11.5.9 to 11.5.10.. Data Conversion is receiving data from a legacy system or receiving data from another module ( e.g. PA), validating it and converting it to ur our the target module using the standard import program.

What is the difference between Organization_id and Org_id ?

OrgId: Org Id is an unique ID for the Operating Unit.Organisation Id: The Organisation Id is an ID for the Inventory Organisation which is under an Operating Unit.

What are _ALL tables in Oracle Apps?

_all tables will store information about multiple oraganizations. these table contain ORG_ID column that  picks particular organizations from multiple organizations. _all tables will be created when we install multiorg.

What is one full life cycle implementation?

Full Life Cycle means implementing a project from the begining to the production and maintenance stage.

(1) System Planning:

(Scope & Budget of the Project)

(2) Business Analysis:

(Business Requirements, Mapping & GAP Analysis)

(3) System Analysis & Design

(Design Conceptual & Functional Data Models)

(4) System Development

(Programming & System/Integration/Validation Testing)

(5) System Implementation

(Data Conversions, Interfaces, Extensions,User Manuals & User Training)

(6) System Maintenance & Support

Thanks – Shivmohan Purohit

Oracle Applications FND Useful Tables

Hello Friends , here is some of quite commonly used AOL FND ( Foundation) tables and their usage. There are many other tables also in FND but here i am putting only few commonly used tables. for other table if needed we can dig furthur. Let go through below article and let me know if it useful.






FND_ID_FLEXS stores registration information about key flexfields. Each row includes the four–character code that identifies the key flexfield, the title of the flexfield (by which a user identifies theflexfield), the name of the combinations table that contains the key flexfield columns, and the name of the structure defining (MultiFlex) column for the flexfield (SET_DEFINING_COLUMN_NAME). Each row also contains values that identify the application that owns the combination table and the application that owns the key flexfield, a table–type flag that specifies whether the combinations table is specificor generic (S or G), whether dynamic inserts are feasible for the flexfield(Y or N), whether the key flexfield can use ID type value sets, and the name of the unique ID column in the combinations table. You need one row for each key flexfield in each application. Oracle Application ObjectLibrary uses this information to generate a compiled key flexfield definition

FND_ID_FLEX_SEGMENTS: FND_ID_FLEX_SEGMENTS stores setup information about keyflexfield segments, as well as the correspondences between application table columns and the key flexfield segments the columns are used for. Each row includes a flexfield application identifier, the flexfield code,which identifies the key flexfield, the structure number(ID_FLEX_NUM), the value set application identifier, the segment number (the segment’s sequence in the flexfield window), the name of the column the segment corresponds to (usually SEGMENTn, where n is an integer). Each row also includes the segment name, whether security is enabled for the segment, whether the segment is required, whether the segment is one of a high, low segment pair, whether the segment is displayed, whether the segment is enabled (Y or N), type of default value, display information about the segment such as prompts and display size, and the value set the segment uses. Each row also includes a flag for whether the table column is indexed; this value is normally Y. You need one row for each segment of each structure for each flexfield. Oracle Application Object Library uses this information to generate a compiled key flexfield definition to store in the FND_COMPILED_ID_FLEXS table Thanks – Shivmohan Purohit

FND_ID_FLEX_STRUCTURES : FND_ID_FLEX_STRUCTURES stores structure information about keyflexfields. Each row includes the flexfield code and the structurenumber (ID_FLEX_NUM), which together identify the structure, and the name and description of the structure. Each row also includes values that indicate whether the flexfield structure is currently frozen, whether rollup groups are frozen (FREEZE_STRUCTURED_HIER_FLAG), whether users can dynamically insert new combinations of segment values through the flexfield pop–up window, and whether the flexfield should use segment cross–validation rules. Each row also contains information about shorthand flexfield entry for this structure, including whether shorthand entry is enabled, the prompt for the shorthand window, and the length of the shorthand alias field in the shorthandwindow. You need one row for each structure of each key flexfield. Oracle Application Object Library uses this information to generate acompiled key flexfield definition to store in the FND_COMPILED_ID_FLEXS table

FND_FLEX_VALUES stores valid values for key and descriptive flexfield segments. Oracle Application Object Library uses this table when users define values for independent or dependent type value sets. Oracle Application Object Library also uses this table when users define parent values for ranges of child values that exist in a validation table(Oracle Application Object Library stores the parent values in this table). Each row includes the value (FLEX_VALUE) and its hierarchy level if applicable as well as the identifier of the value set the value belongs to. If the value is a dependent value, PARENT_FLEX_VALUE_LOW contains the independent value this value depends upon. Oracle Application Object Library does not use the PARENT_FLEX_VALUE_HIGH column. If ENABLED_FLAG contains N, this value is currently invalid, regardless of the start and end dates.

If ENABLED_FLAG contains Y, the start and end dates indicate if this value is currently valid.SUMMARY_FLAG indicates if this value is a parent value that has child values, and STRUCTURED_HIERARCHY_LEVEL contains the rollup group the parent value belongs to, if any (1 through 9). COMPILED_VALUE_ATTRIBUTES contains the compiled values of anysegment qualifiers assigned to this value. These values are in a special Oracle Application Object Library format, and you should never modify them.

VALUE_CATEGORY and ATTRIBUTE1 through ATTRIBUTE50 are descriptive flexfield columns, where VALUE_CATEGORY is the context (structure defining) column.

These descriptive flexfield columns do not contain values unless you have defined the descriptive flexfield at your site. You need one row for each independent, dependent or parent value belonging to a value set.Oracle Application Object Library uses this information to ensure that users enter valid values in flexfield segments

FND_FLEX_VALUE_HIERARCHIES stores information about child value ranges for key flexfield segment values. Each row includes an identification of the parent value the range belongs to, as well as the low and high values that make up the range of child values. FLEX_VALUE_SET_ID identifies the value set to which the parent value belongs. You need one row for each range of child values (you can have more than one row for each parent value). Oracle Application Object Library provides this information for applications reporting purposes.


Oracle Forms Development (Developer 2000): Part 2

Question: What are ALERT?

Answer: An ALERT is a modal window that displays a message notifiying operator of some application condition.
Question: Can a button have icon and label at the same time?

Answer: NO
Question: What is mouse navigate property of button?

Answer: When Mouse Navigate is True (the default), Oracle Forms performs standard navigation to move the focus to the item when the operator activates the item with the mouse.
When Mouse Navigate is set to False, Oracle Forms does not perform navigation (and the resulting validation) to move to the item when an operator activates the item with the mouse.
Question: What is FORMS_MDI_WINDOW?

Answer: forms run inside the MDI application window. This property is useful for calling a form from another one.
Question: What are timers? When when-timer-expired does not fire?

Answer: The When-Timer-Expired trigger can not fire during trigger, navigation, or transaction processing.
Question: Can object group have a block?

Answer: Yes , object group can have block as well as program units.
Question:  How many types of canvases are there?
Answer: There are 2 types of canvases called as Content and Stack Canvas. Content canvas is the default and the one that is used mostly for giving the base effect. Its like a plate on which we add items and stacked canvas is used for giving 3 dimensional effect.

Question: What is a visual attribute?
Answer: Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application’s interface.

Question: Diff. between VAT and Property Class?
Answer: Named visual attributes define only font, color, and pattern attributes; property classes can contain these and  any other properties. You can change the appearance of objects at runtime by changing the named visual attribute
programmatically; property class assignment cannot be changed programmatically. When an object is inheriting from both a property class and a named visual attribute, the named visual attribute settings take precedence, and any visual attribute properties in the class are ignored.

Question: Which trigger related to mouse?

Answer: When-Mouse-Click
Question: What is Current record attribute property?

Answer: Specifies the named visual attribute used when an item is part of the current record.
Current Record Attribute is frequently used at the block level to display the current row in a multi-record If you define an item-level Current Record Attribute, you can display a pre-determined item in a special color when it is part of the current record, but you cannot dynamically highlight the current item, as the input focus  changes.
Question: Can u change VAT at run time?

Answer: Yes. You can programmatically change an object’s named visual attribute setting to change the font, color, and pattern of the object at runtime.
Question: Can u set default font in forms?

Answer: Yes. Change windows registry (regedit). Set form45_font to the desired font.
Question: Can u have OLE objects in forms?

Answer: Yes.
Question: Can u have VBX and OCX controls in forms?

Answers: Yes.
Question: What r the types of windows (Window style)?

Answer:  Specifies whether the window is a Document window or a Dialog window.
10) What is OLE Activation style property?
10) Specifies the event that will activate the OLE containing item.
Question: Can u change the mouse pointer? How?

Answer: Yes. Specifies the mouse cursor style.  Use this property to dynamically change the shape of the cursor.

Question: What are savepoint mode and cursor mode properties? Level?

Answer: Specifies whether Oracle Forms should issue savepoints during a session. This property is included primarily  for applications that will run against non-ORACLE data sources.   For applications that will run against ORACLE, use the default setting.
Cursor mode – define cursur state across transaction Open/close.
Question: What are OPEN_FORM, CALL_FORM,NEW_FORM? Diff?

Answer: CALL_FORM : It calls the other form. but parent remains active, when called form completes the operation ,  it releases lock and control goes back to the calling form.
When you call a form, Oracle Forms issues a savepoint for the called form.  If the CLEAR_FORM function causes a rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this savepoint.
OPEN_FORM: When you call a form, Oracle Forms issues a savepoint for the called form.  If the CLEAR_FORM function causes a rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this savepoint.
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, Oracle Forms keeps the higher call active and treats it as a call to the new form.  Oracle Forms releases memory (such as database cursors) that the terminated form was using.
Oracle Forms runs the new form with the same Runform options as the parent form.  If the parent form was a called form.
Question: What is call form stack?

Answer: When successive forms are loaded via the CALL_FORM procedure, the resulting module hierarchy is known as the call form stack.
Question: Can u port applictions across the platforms? how?
Answer: Yes, we can port applications across platforms.Consider the form developed in windows system.The form would be generated in unix system by using f60gen my_form.fmb scott/tiger

Shivmohan – Oracle 11i Multi Org – Definition

What is the MultiOrg and what is it used for?

MultiOrg or Multiple Organizations Architecture allows multiple operating units and their relationships to be defined within a single installation of Oracle Applications. This keeps each operating unit’s transaction data separate and secure. Further all organizations can share some master data like supplier, customer, bank, AFF, payment terms, price lists etc.

Use the following query to determine if MuliOrg is intalled:

select multi_org_flag from fnd_product_groups;


Thanks – Shivmohan Purohit