Oracle EBS – Documents Tab on the Navigator


What is the Functionality of the Documents Tab on the Navigator

image If you have a document, such as a particular purchase order, invoice, or sales order that you want to access later, you can create a link to the document using the Navigator’s Document feature.

The Navigator’s Document feature allows you to create as many links as you want and save them in the Documents region of the Navigator window. The links can be represented as icons in the window or may be viewed as a list. Documents are defined as "real–world” documents such as those listed above, but may also include such documents as employees or plans. When you use a link to open a document, Oracle Applications opens the document in the appropriate form window. You can access the Document region using the tab control.

Adding new Documents to the Navigator
1. Forms that support adding documents to the Navigator enable the Place on Navigator menu item in the File menu. Use this menu item to add your document to the Navigator.

Opening the Navigator’s Document Region
1. Choose Documents from the tab control in the Navigation window.
Once you create a link to a document, the Document region will open by default when you log on.
To open a form from the Document Region
1. Select the document link you want to open.
2. Choose Open or double–click it.

Renaming Documents in the Navigator
1. Select the document link you want to rename.
2. Choose the Rename… button, or double–click the label.
3. Enter the new name, then press OK.
Note: There is a limit of 80 characters for document names.

Removing Documents from the Navigator
1. Select the document link to be discarded.
2. Choose Remove.
Removing the document link from the Navigator has no effect on the actual document. However, if a record such as a purchase order is deleted in the ”Enter Purchase Orders” form, the link in our Navigator displays a message letting you know that your link is now invalid.

for more info – do refer — following extract from "Oracle Applications User Guide" –Using the Navigator’s Documents Region – Page 1 – 18

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

Oracle 11i Application Developer – Technical FAQ – Part 2


Hello Friends, here is the second set of Questions on Application Developers , more of general questions, i am not digging in particular areas , only trying to put question which i normally ask with candidates. If you want help in any specific areas , plz advise, i will try to do that.

Q11 ) What is SET-OF-BOOKS?
Collection of Chat of Accounts and Currency and Calendars is called SOB

Q12 ) What is the interface?
Interface Table is a table which is used as medium for transfer of data between two systems.

Q13 Tell me what is the procedure to develop an interface?
a. First we will get the Requirement document.
b. We will create control file based on that plot file.
c. Then the control files which loads the data into staging tables.
d. Through pl/sql programs we will mapping and validate the data and then dump into the interface tables.
e. Through the standard programs we will push the data from interface tables to Base tables.

Q14) What is multi org?
“Legal entity has more than one operating unit is called as multi org”
a) Business group — Human resources information is secured by Business group
b) Legal entity. — inter-company and fiscal/tax reporting.
c) Operating unit — secures AR, OE, AP, PA and PO Information.
d) Organizations — is a specialize unit of work at particular locations

Q15) What are the User PARAMETERS in the Reports?
P_CONC_REQUEST_ID
P_FLEX_VALUE

Q16) FND USER EXITS:-
FND SRWINIT sets your profile option values, multiple organizations and allows Oracle Application Object Library user exits to detect that they have been called by an Oracle Reports program.
FND SRWEXIT ensures that all the memory allocated for AOL user exits have been freed up properly.
FND FLEXIDVAL are used to display flex field information like prompt, value etc
FND FLEXSQL these user exits allow you to use flex fields in your reports
FND FORMAT_CURRENCY is used to print currency in various formats by using formula column

Q17) what are the two parameters that are mandatory for pl/sql type concurrent program?
Procedure/function (ERRBUF OUT
RETCODE OUT
………………….)
ERRBUF :- Used to write the error message to log or request file.
RETCODE :- Populate log request file with program submission details info.

Q18.) What is Value Set?
–The value set is a collection (or) container of values.
–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.
n If the list of values needed to be dynamic and ever changing and define a table based values set.

Q19) What r the validation types in Value Set?
1) None ——– validation is minimal.
2) Independent ——input must exist on previously defined list of values
3) Dependent ——input is checked against a subset of values based on a
prior value.
3) Table —– input is checked against values in an application table
4) Special ——values set uses a flex field itself.
5) Pair —— two flex fields together specify a range of valid values.
6) Translatable independent —– input must exist on previously defined list
of values; translated values can be used.
7) Translatable dependent ——- input is checked against a subset of values
based on a prior values; translated value can be used.

Q20) Who information’s?
1) Created by
2) Creation date
3) Last _updated by
4) last_update_date

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

Back-to-Back Order – How to


Back-to-Back Order is very useful functionality in Oracle Applications.

Key Business Drivers

  • Data integration

  • Lower inventory cycle time

  • Lower inventory cost

  • Link supply to specific demand

  • Can offer a variety of product to customer

  • Used heavily in contract manufacturing environment where the product is standardized and the company plans to focus more on product design rather than manufacturing

Many times business suffers a loss when data is transferred between quotations, orders, purchase orders or invoices?

Damage to any business due to data loss or corruption is always very high. This can be due to a simple user error or data corruption. During the manual transfer of data, the input of incorrect information or staff errors are very real risks. This can have a profound impact as your business grows and staff are under more pressure to process orders in a market where the client expectation is no longer to have their order processed in days or hours but in real-time.

Back to Back order process allows you to process information and orders in very logical manner ensuring a simplistic and efficient process. The integration between quotations, order processing and stock management means that all orders can be processed in real time and you are no longer dependant on a manual process to be run.

e.g. When the PO is received, reservation gets applied automatically against the Sales Order. This prevents allocating material to some other demand.

The key behind the integration of a system is the ability to seamlessly integrate different pieces of information, this leads us to back-to-back order processing.

The key areas that are focused on as part of the back to back process are:-

  • Quotations

  • Orders

  • Requisition

  • Invoices (in ‘Oracle Accounts Payable’ and ‘Oracle Accounts Receivable’)

  • Purchase Orders

Back to back order processing provides an integrated seamless link from the quotation stage, through to the purchasing of stock (or services), to dispatching, delivering and invoicing your client and the receipt and payment of invoices. It is also extended to invoicing (against PO/receipt) and payment to your supplier. All this process is done using Oracle Work-Flow, standard work flow is given by Oracle but if you want you can modify the same to fulfill business needs. Approval processes are also taken care by Work-Flow.

The entire process can be performed in the minimal amount of time without any redundancy. Each document has reference of some other document so it doesn’t get lost in between. Below are the steps in Back to Back order.

  • Quotations are created and sent to the client.

  • The client places the order and all required acknowledgements are sent.

  • Requisitions / Purchase Orders are automatically created for the required stock.

  • Management of awaiting stock from suppliers.

  • Tracking and managing supplier and customer communication.

  • Receiving of stock and handling of part deliveries.

  • Dispatching the order to your customer with management of delivery locations and methods.

  • Customer Invoicing.

  • Supplier payment.

Some of the important documents that gets created automatically through the different stages in this cycle include (automatic creation of document/s depends on setup).

Quotations, Order Acknowledgements and confirmations, Invoices and Proforma Invoices, Purchase Orders, Stock Receipt Slips, Stock Transfer Slips, Dispatch Notes, Packing to name a few.

For demo please visit two links given below:

Oracle Application – Top useful SQL Queries


Friends, here some of quite useful regular sql queries in oracle applications.

Query 1: Select responsibility name along with application name

SELECT application_short_name ,

frt.responsibility_id, frt.responsibility_name

FROM apps.fnd_responsibility_tl frt , fnd_application fa

WHERE fa.application_id = frt.application_id;
 

Query 2: Get Menu name for Responsibility ID , You can find out responsibility_id from Query 1

SELECT DISTINCT a.responsibility_name, c.user_menu_name

FROM apps.fnd_responsibility_tl a,

apps.fnd_responsibility b,

apps.fnd_menus_tl c,

apps.fnd_menus d,

apps.fnd_application_tl e,

apps.fnd_application f

WHERE a.responsibility_id(+) = b.responsibility_id

AND a.responsibility_id = &resp_id

AND b.menu_id = c.menu_id

AND b.menu_id = d.menu_id

AND e.application_id = f.application_id

AND f.application_id = b.application_id

AND a.LANGUAGE = 'US';
 

Query 3: Get User name and related assigned responsibilities

SELECT distinct u.user_id, u.user_name user_name,

r.responsibility_name responsiblity,

a.application_name application

FROM fnd_user u,

fnd_user_resp_groups g,

fnd_application_tl a,

fnd_responsibility_tl r

WHERE g.user_id(+) = u.user_id

AND g.responsibility_application_id = a.application_id

AND a.application_id = r.application_id

AND g.responsibility_id = r.responsibility_id

order by 1;

Query 4: Get Request Group associate with Responsibility Name

SELECT responsibility_name responsibility, request_group_name,

frg.description

FROM fnd_request_groups frg, fnd_responsibility_vl frv

WHERE frv.request_group_id = frg.request_group_id

ORDER BY responsibility_name

Query 5: Gets Form personalization listing

Personalization is feature available in 11.5.10.X. For More detail on form Personalization Use Following Tables (Rule_id) is reference key for these tables

applsys.fnd_form_custom_actions, applsys.fnd_form_custom_scopes

SELECT ffft.user_function_name “User Form Name”, ffcr.SEQUENCE,

ffcr.description, ffcr.rule_type, ffcr.enabled, ffcr.trigger_event,

ffcr.trigger_object, ffcr.condition, ffcr.fire_in_enter_query

FROM fnd_form_custom_rules ffcr, fnd_form_functions_vl ffft

WHERE ffcr.ID = ffft.function_id

ORDER BY 1;

Query 6: Query to view the patch level status of all modules

SELECT a.application_name,

DECODE (b.status, ‘I’, ‘Installed’, ‘S’, ‘Shared’, ‘N/A’) status,

patch_level

FROM apps.fnd_application_vl a, apps.fnd_product_installations b

WHERE a.application_id = b.application_id;

Query 7: SQL to view all request who have attached to a responsibility

SELECT responsibility_name , frg.request_group_name,

fcpv.user_concurrent_program_name, fcpv.description

FROM fnd_request_groups frg,

fnd_request_group_units frgu,

fnd_concurrent_programs_vl fcpv,

fnd_responsibility_vl frv

WHERE frgu.request_unit_type = ‘P’

AND frgu.request_group_id = frg.request_group_id

AND frgu.request_unit_id = fcpv.concurrent_program_id

AND frv.request_group_id = frg.request_group_id

ORDER BY responsibility_name;

Query 8: SQL to view all requests who have attached to a responsibility

SELECT responsibility_name , frg.request_group_name,

fcpv.user_concurrent_program_name, fcpv.description

FROM fnd_request_groups frg,

fnd_request_group_units frgu,

fnd_concurrent_programs_vl fcpv,

fnd_responsibility_vl frv

WHERE frgu.request_unit_type = ‘P’

AND frgu.request_group_id = frg.request_group_id

AND frgu.request_unit_id = fcpv.concurrent_program_id

AND frv.request_group_id = frg.request_group_id

ORDER BY responsibility_name;

Query 9: SQL to view all types of request Application wise

SELECT fa.application_short_name,

fcpv.user_concurrent_program_name,

description,

DECODE (fcpv.execution_method_code,

‘B’, ‘Request Set Stage Function’,

‘Q’, ‘SQL*Plus’,

‘H’, ‘Host’,

‘L’, ‘SQL*Loader’,

‘A’, ‘Spawned’,

‘I’, ‘PL/SQL Stored Procedure’,

‘P’, ‘Oracle Reports’,

‘S’, ‘Immediate’,

fcpv.execution_method_code

) exe_method,

output_file_type, program_type, printer_name,

minimum_width,

minimum_length, concurrent_program_name,

concurrent_program_id

FROM fnd_concurrent_programs_vl fcpv, fnd_application fa

WHERE fcpv.application_id = fa.application_id

ORDER BY description

Query 10: SQL to view concurrent request processing time, quite useful

SELECT f.request_id , pt.user_concurrent_program_name user_concurrent_program_name

, f.actual_start_date actual_start_date

, f.actual_completion_date actual_completion_date,

floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)

|| ‘ HOURS ‘ ||

floor((((f.actual_completion_date-f.actual_start_date)*24*60*60) –

floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)*3600)/60)

|| ‘ MINUTES ‘ ||

round((((f.actual_completion_date-f.actual_start_date)*24*60*60) –

floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)*3600 –

(floor((((f.actual_completion_date-f.actual_start_date)*24*60*60) –

floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)*3600)/60)*60) ))

|| ‘ SECS ‘ time_difference

,

DECODE(p.concurrent_program_name,’ALECDC’,p.concurrent_program_name||'[‘||f.description||’]’,p.concurrent_program_name) concurrent_program_name

, decode(f.phase_code,’R’,’Running’,’C’,’Complete’,f.phase_code) Phase

, f.status_code

FROM apps.fnd_concurrent_programs p

, apps.fnd_concurrent_programs_tl pt

, apps.fnd_concurrent_requests f

WHERE f.concurrent_program_id = p.concurrent_program_id

and f.program_application_id = p.application_id

and f.concurrent_program_id = pt.concurrent_program_id

and f.program_application_id = pt.application_id

AND pt.language = USERENV(‘Lang’)

and f.actual_start_date is not null

ORDER by f.actual_completion_date-f.actual_start_date desc;