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

Advertisements

How to trace Web Session in Oracle Applications


This process can be used to trace any action, anywhere in Oracle Applications and be very useful for the Self-Service Web Applications as there is no utility defined like in the Forms.

a. First make sure the necessary profile has the proper permissions.
1. Log onto the Applications Forms with the Application Developer Responsibility
2. Navigate to the Profile menu
3. Query up the profile name “FND_INIT_SQL”
4. In the bottom block of the form, make sure that ALL checkboxes are checked Typically, you will have to enable the checkboxes under “User Access” to make it “Visible” and “Updatable”.

b. Now switch to the System Administrator Responsibility
1. Navigate to – Profile – System
2. On the “Find System Profile Values” form, make sure the checkboxes for “User” and “Profiles with no Values” are checked
3. Beside the “User” checkbox, use the LOV to select the user who’s activity you need to trace
4. In the “Profile” field, enter the following profile and click the button: ‘Initialization SQL Statement – Custom’
5. In the “System Profile Values” form, enter the following in the User Field: (This is one line and all single quotes)

begin fnd_ctl.fnd_sess_ctl(”,”,’TRUE’,’TRUE’,’LOG’,’ALTER SESSION SET EVENTS=”10046 TRACE NAME CONTEXT FOREVER, LEVEL 12” tracefile_identifier=”spurohit” max_dump_file_size=”unlimited”’); end;

6. DO NOT SAVE THE PROFILE YET

7. In another browser window, login as the user you are going to trace and prepare to reproduce the problem
8. Once you are ready to reproduce the problem, go back to the Applications Forms and Save the profile change
9. Reproduce the problem
10. Back in the Applications form, set profile to null so it does not trace anymore and Save the change
11. The trace will be located in the user_dump_dest. To find location run the following in SQL*Plus: select value from v$parameter where name = ‘user_dump_dest’;
12. The trace file will have current date/time and can be identified with the word spurohit in it.

— To know all steps in details and with picture, do refer below url

http://oracle-apps-dba.blogspot.com/2009/01/how-to-enable-trace-for-crm-session.html

thanks – Shiv

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:

§ Blocks: BLOCKNAME, DETAILBLOCK

§ Window: BLOCKNAME

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

http://www.exforsys.com/images/OracleApps/t8_files/image002.gif

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

How to restrict functions and menus available to a user in menus


Hello Friends, Using this article, i wanted to give brief on how we can exclude some forms/ function as security in oracle applications. plz see i am trying to use two different way to get the same functionality.
There are two possibilities:
A – Restrict an existing menu:
1) Log in as System Administrator responsibility
2) Find the name of the appropriate menu      Navigator: Application -> Menu
3) Create a new responsibility       Navigator: Security -> Responsibility -> Define
4) Assign the appropriate menu to the new responsibility
5) Enter functions in the Function and Menu Exclusions section of the form Responsibilities
6) Save
7) Assign the new responsibility to the appropriate user

Example:  Restrict a user to be able to do only Assignments in the Asset Workbench.
1) Log in as the System Administrator responsibility
2) Find the name of the appropriate menu:
Description: %Asset%
2) Create a new responsibility: ASSET – assignments
3) Assign the menu FA_TRANSACTION to the responsibility ASSET – assignements
4) Enter all functions from the LOV in the Function and Menu Exclusions
section except of the Responsibilities form except “Asset Workbench” and
“Assets:Assignments”
5) Save
6) Assign the responsibility ASSET – assignments to the appropriate user

B – Create a new menu:
1) log in as System Administrator responsibility
2) Create a new menu: Navigator: Application -> Menu      The new menu should contain only the functions and menus which should be accessible for the user.
3) Create a new responsibility       Navigator: Security -> Responsibility -> Define
4) Assign the appropriate menu to the new responsibility
5) Save
6) Assign the new responsibility to the appropriate user

Example:  Restrict a user to be able to do only Assignments in the Asset Workbench.
1) Log in with the System Administrator responsibility
2) Create the new menu menu:
Navigator: Application -> Menu
Menu: FA_ASSIGN
User Menu Name: FA Assignement
Description: FA Assignement
Seq: 1 Navigator Prompt: Assignment Function: Asset Workbench
Seq: 2 Navigator Prompt: Assignment Function: Assets:Assignements
3) Create a new responsibility: ASSET – assignments
4) Assign the menu FA_ASSIGN to the responsibility ASSET – assignements
5) Save
6) Assign the responsibility ASSET – assignments to the appropriate user

Please share your feedback and also if you think this article is helpful for you. or if this is difficult to understand and use, so i can improve on my future articles. 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 !

Distinction between configuration, personalization, and extensibility.


Distinction between configuration, personalization, and extensibility.

Configuration provides setup and administrative choices using the native features of the product. Some configuration examples include:

  • Profile Options
  • User-defined fields (Flexfield)
  • Function Security Setup
  • Data Security Setup
  • and a lot more….

Personalization enables you to declaratively tailor the UI look-and-feel, layout or visibility of page content to suit a business need or a user preference. Some personalization examples include:

  • Tailor the order in which table columns are displayed.
  • Tailor a query result.
  • Tailor the color scheme of the UI.
  • Folder Forms
  • Forms Personalization
  • Oracle Application Framework (OAF)

Extensibility is about extending the functionality of an application beyond what can be done through personalization. Some extensibility examples include:

  • Add new functional flows
  • Extend or override existing business logic
  • Using Oracle Forms Developer, Oracle JDeveloper and Oracle Workflow

Oracle SQL / PLSQL Developer – Technical Question Answers – Part 5


 

 

Question: What are the Pct Free and Pct Used


Answer:  Pct Free is used to denote the percentage of the free space that is to be left when creating a table. Similarly Pct Used is used to denote the percentage of the used space that is to be used when creating a table eg.:: Pctfree 20, Pctused 40 
 
 

 

 
 
 
 

 

Question: What is Row Chaining

Answer: The data of a row in a table may not be able to fit the same data block.Data for row is stored in a chain of data blocks. 
 
 

 

 
 
 
 

 

Question: What is a 2 Phase Commit
Answer: Two Phase commit is used in distributed data base systems. This is useful to maintain the integrity of the database so that all the users see the same values. It contains DML statements or Remote Procedural calls that reference a remote object. There are basically 2 phases in a 2 phase commit.
a) Prepare Phase :: Global coordinator asks participants to prepare
b) Commit  Phase ::

Commit all participants to coordinator to Prepared, Read only or abort Reply 
 
 

 

Question: What is the difference between  deleting and truncating of tables
 
 
 

 

Answer:  Deleting   a table will not remove the rows from the table but entry is there in  the database dictionary and it can be retrieved But truncating a table deletes it completely and it cannot be retrieved. 
 
 

 

 
 
 
 

 

Question: What are mutating tables

Answer: When a table is in state of transition it is said to be mutating eg :: If a row has been deleted then the table is said to be mutating and no operations can be done on the table except select. 
 
 

 

 
 
 
 

 

Question:  What are Codd Rules
Answer:  Codd Rules describe the ideal nature of a RDBMS. No RDBMS satisfies all the 12 codd rules and Oracle Satisfies 11 of the 12 rules and is the only Rdbms to satisfy the maximum number of rules.

Question: What is the Difference between a post query and a pre query

Answer: A post query will fire for every row that is fetched but the pre query will fire only once. 
 
 

 

 
 
 
 

 

Question:  Deleting the Duplicate rows in the table

Answer: We can delete the duplicate rows in the table by using the Rowid 
 
 

 

 
 
 
 

 

Question: Can U disable database trigger? How?
Answer: Yes. With respect to table
     ALTER TABLE TABLE
     [   DISABLE all_trigger ]


Question: What is pseudo columns ? Name them?
Answer:  A pseudocolumn behaves like a table column, but is not actually stored in the table.  You can select from pseudocolumns, but you cannot insert, update, or delete their values. 

   * CURRVAL
    * NEXTVAL
    * LEVEL
    * ROWID
    * ROWNUM 
 
Question:  How many columns can table have?

 

 

 

 
 

 

 
 

 

 
 
 

 

Answer: The number of columns  in a table can range from 1 to 254. 
 
 

 

 
 
 
Question:  What is clustered index?

 

Answer:  In an indexed cluster, rows are stored together based on their cluster key values. Can not apply for HASH. 
 
 

 

 
 
 
Question:  What are attributes of cursor?

 

Answer:    %FOUND, %NOTFOUND, %ISOPEN, %ROWCOUNT 
 
 

 

 
 
 
Question: Can you use select in FROM clause of SQL select?
Answer:  Yes.