Vous êtes sur la page 1sur 51

AP Suppliers in R12

Muhammad Rafi Aamiri Madani on Wednesday, March 3, 2010

In R12 Accounts Payables, that there is no more supplier form. The Suppliers have gone to self-service now. This is
not the only change in the supplier. The suppliers objects have moved from AP product to TCA (Trading Community
Architecture) DataModel. Due to this, even the underlying tables have changed. Supplier information is no more
stored in PO_VENDORS Table now.

3 new tables have been introduced.

AP_SUPPLIERS

AP_SUPPLIER_SITES_ALL

AP_SUPPLIER_CONTACTS

But don't panic as your customizations can still work as there are views created with names of PO_VENDORS,
PO_VENDOR_SITES_ALL and PO_VENDOR_CONTACTS for backward compatibility.

Being a part of the TCA, these tables are closely linked to the hz tables. Here is the list of few imp HZ Tables that are
affected when a new supplier is added.

TABLE NAME DESCRIPTION


HZ_PARTIES Master table along with AP_SUPPLIERS instead of PO_VENDORS
Master table for supplier sites along with AP_SUPPLIER_SITES_ALL instead
HZ_PARTY_SITES
of PO_VENDORS_SITES_ALL
HZ_LOCATIONS Contains the party sites information
HZ_PARTY_USG_ASSIGNMENTS Stores party usages
Captures additional Supplier information, e.g. credit scoring details of Supplier
HZ_ORGANIZATION_PROFILES
or the Number of Employees working in Supplier Organization
IBY_EXTERNAL_PAYEES_ALL Captures Payment related details of the Supplier
It holds the mapping between the AP_SUPPLIERS.VENDOR_ID and
POS_SUPPLIER_MAPPINGS
HZ_PARTIES.PARTY_ID

This is useful in cases whereby two vendors effectively belong the same HZ_Party Record.

See the diagram below for Supplier/Sites Mappings to TCA Objects.


So whenever a supplier is added in R12, an entry is made in all these tables. Functionally also, creating the supplier
is different from 11i. Here are the steps to create a new supplier.

1. Hit the CREATE SUPPLIER button

2. Enter a unique supplier name (Organization Name) along with other optional other information like Alias, Tax
Registration Number, D-U-N-S number.

3. If the Supplier Number Entry option in the Payables System Setup window is set to Automatic, Payables
automatically enters a Supplier Number for you. If this option is set to Manual, you must enter a unique Supplier
Number.

4. Click Apply. The system creates the supplier record and accesses the Suppliers: Quick Update page.

5. To create Supplier Sites, you will have to create the locations for that supplier. For that, click on the "Address
Book" Button.

6. On the Address Book page, click the Create button.

7. Fill all the address details and address purpose. i.e. Purchasing, Payment or RFQ Only.
8. You can add as many locations as you wish.

9. When created, you can manage the addresses for other information.

<< Click to view the image in large size >>

10. The system only displays sites that are in your MOAC profile

11. The address status indicates whether the supplier has provided any updates for the address. Using iSupplier
Portal's Supplier Profile Management tools, suppliers can enter address book information online, creating any number
of new addresses, modifying the details for existing addresses, and indicating how each address is used.

12. Suppliers can also inactivate addresses that are obsolete. Buyer administrators need to approve any changes in
order to update the master supplier details.

13. Address statuses include:


New. A supplier has created a new address.

Change Pending. A supplier has changed the address details. Click the Update icon to review the changes
that have been made. The page displays the original address details and the changes, indicated by a blue
dot. Buyer administrators can approve or make additional modifications to the changes before approving or
rejecting the change. If the supplier has indicated that the address should be removed, there is a status
change from Active to Inactive.

Current. There are no pending updates for the address.

14. Since suppliers are stored in TCA, the address details for the supplier may be used by other Oracle products so
be careful if removing supplier addresses. If the address is inactivated, the system no longer associates it to any
contacts, and any bank account assignments to the address are inactivated. Methods to inactivate addresses include:

You can click the Remove button on the Address Book page. This sets the address status to inactive and
sets the Inactive Date for every site that is associated with the address in all operating units to today's date.

You can update the address and set its status to Inactive. This changes the address status and does not
inactivate any of the sites that are using the address.

You can use the Manage Sites page to manually update the Inactive Date for each site.

Posted by Muhammad Rafi Aamiri Madani

Oracle Version & Features

Muhammad Rafi Aamiri Madani on Sunday, March 7, 2010

Oracle Version 1, 1978

Written in Assembly Language


Ran under PDP-11 under RSX in 128K of Memory
Implementation separates oracle code and user code.

Oracle Version 2, 1979

The first SQL Relational Database Management system that was commercially released.
Written in PDP-11 Assembly Language
Ran on VAX/VMS in Compatibility mode

Oracle Version 3.1980


Written in C, Portable Source Code
Retained Split Architecture
Introduced the concept of Atomic SQL Execution and transactions (Commit & Rollback)

Oracle Version 4, 1984

Introduced Read Consistency.


Portable to many platforms
Interoperability between PC and Server

Oracle Version 5, 1986

True Client Server Distributed Processing


VAX Cluster Support
Version 5.1- Distributed Queries

Oracle Version 6, 1989

Major Kernel Rewritten


OLTP Performance enhancements (save points)
Online Backup and Recovery
Row level Locking
PL\SQL in the database
Parallel Servers (VAX Clusters, nCube)

Oracle Version 7, 1993

Stored Procedures and Triggers


Shared SQL, Parallel Execution
Declarative Referential Integrity
Advanced Replication

Oracle Version 8, 1997

Object Relation Extensions in the Database


From Client Server to Three tier Architecture
Partitioning Option

Oracle Version 8i, 1999

Java in the database (JVM and SQLJ)


Partitioning Enhancements
Data Warehousing Enhancements
XML Support
Summary Management
Oracle Internet Directory (LDAP)
Ported to Linux

Oracle Version 9i, 2001

Real Application Clusters, with cache fusion Scalability on inexpensive clustered hardware
Automatic segment-space management
Internet security enhancements
Integrated business intelligence functionality
Data Guard (standby databases)
Oracle managed files
Globalization support (Unicode, time zones, locales)

Oracle Version 10g, 2003

Primary goal: Build a self-managing database that requires minimal human intervention.
Reduction in administration cost without
Compromising high availability, scalability, and security.
Minimal performance impact
Effective for all configurations and workloads

Oracle Version 11g, 2007

Flashback data Archive


Advanced Compression
Real Application Testing
Automatic Storage Management

Posted by Muhammad Rafi Aamiri Madani

Handling Messages in APPS

Muhammad Rafi Aamiri Madani on Thursday, March 11, 2010

FND_MESSAGE.CLEAR Clears the message stack of all the messages


FND_MESSAGE.DEBUG Immediately displays the string passed to it as input parameter
FND_MESSAGE.ERASE Clears the oracle Forms status line
Displays an error message in an Oracle Forms modal window or a concurrent
FND_MESSAGE.ERROR
program log file. (Example: "Invalid value entered.").
It takes its message from the stack, displays the message, and then clears all the
messages from the message stack
Retrieves a translated and tokensubstituted message from the message stack
and then clears that message from the message stack. This could be used for
FND_MESSAGE.GET getting a translated message for a forms builtin or other function. Assumes you
have already called FND_MESSAGE.SET_NAME and, if necessary,
FND_MESSAGE.SET_TOKEN. It returns up to 2000 bytes of message
Displays a message in the Oracle Forms status line. It takes its message from the
stack, displays the message, and then clears that message from the message
FND_MESSAGE.HINT
stack. The user may still need to acknowledge the message if another message
immediately comes onto the message line
Displays a message and up to three buttons in an Oracle Forms modal window.
(Example: "Please choose one of the following actions: ") It takes its message
from the stack, and clears that message. After the user selects a button, It returns
the number of the button selected.
For each button, you must define or use an existing message in Message
FND_MESSAGE.QUESTION
Dictionary (under the Oracle Application Object Library application) that contains
the text of the button. This routine looks for your button name message in the
Oracle Application Object Library messages, so when you define your message,
you must associate it with Oracle Application Object Library (the "FND"
application) instead of your application
Retrieves a message from the database server, translates and substitutes tokens,
FND_MESSAGE.RETRIEVE
and sets the message on the message stack
Retrieves your message from Message Dictionary and sets it on the message
stack. You call it once for each message you use in your clientside PL/SQL
FND_MESSAGE.SET_NAME
procedure. You must call this procedure before you call
FND_MESSAGE.SET_TOKEN
Takes an input string and sets it directly on the message stack. The string does
FND_MESSAGE.SET_STRING not need to be defined in the Messages window. These strings may be hard coded
into the form and are not translated like messages defined in Message Dictionary
Substitutes a message token with a value you specify. You call
FND_MESSAGE.SET_TOKEN once for each token/value pair in a message. The
FND_MESSAGE.SET_TOKEN optional translate parameter can be set to TRUE to indicate that the value should
be translated before substitution. (The value should be translated if it is, itself, a
Message Dictionary message name.)
Displays an informational message in an Oracle Forms modal window or a
concurrent program log file. (Example: "To complete this function, please enter the
FND_MESSAGE.SHOW
following... "). It takes its message from the stack, displays the message, and then
clears only that message from the message stack
Displays a warning message in an Oracle Forms modal window and allows the
user to either accept or cancel the current operation. (Example: "Do you wish to
proceed with the current operation?") FND_MESSAGE.WARN returns TRUE if the
FND_MESSAGE.WARN
user accepts the message (that is, clicks OK), or FALSE if the user cancels. It
takes its message from the stack, displays the message, and clears that message
from the message stack

Posted by Muhammad Rafi Aamiri Madani

R12 Features - General Ledger

Muhammad Rafi Aamiri Madani on Tuesday, March 23, 2010


Multi Org

In Release 11i, a user assigned to an Operating Unit (OU) would process data from the products deployed in that
OU. To process data for another OU, a user would log out of the first and into the second. The data generated in that
OU would be accounted for according to rules generated by various product accounting engines, and posted to
general ledger in ways appropriate for the different products, some generating part of the detail at different times in
the process. General Ledger sets of books (Sob) were self-contained, reflecting the balances of the entity to which
you'd assigned the Sob, and managed by users assigned to the Sob.

In Release 12.0, by contrast, users can be assigned to multiple operating units, and are supported by processes and
transactions that can span operating units. Their data is book-kept according to rules stored in a single accounting
engine,and the accounting is stored in subledger tables that are standard across all products. Complete accounting is
maintained for every appropriate event, and all subledger entries are fully balanced and detailed. A single, common
posting engine summarizes to your required level of detail, and posts to General Ledger.Sets of Books are replaced
by the accounting entity's 'ledger' for data, and its 'Ledger Set' for processing, from reporting, opening and closing,
through allocations. Ledgers can be combined into ledger sets, and GL users are assigned to the ledger sets. User
access to multiple operating units is called 'Multi-Org Access Control',(MOAC).

Multi-Org Access Control


(Changed functionality)

Multi-Org Access Control enables companies that have implemented a Shared Services operating model to efficiently
process business transactions by allowing them to access, process, and report on data for an unlimited number of
operating units within a single applications responsibility. This increases the productivity of Shared Service Centers,
as users and processes no longer have to switch applications responsibilities when processing transactions for
multiple operating units at a time. Data security and access privileges are still maintained using security profiles that
now support a list of operating units.

Multi-Org Security Profile Preferences


(Changed functionality)

A Multi-Org Security Profile defines the list of operating units to which a user has access. If a user typically uses a
subset of the operating units in his security profile, he may set up Preferences to limit the operating units available to
him during transaction processing. The user can also set a default 'operating unit' to minimize manual data entry
when an operating unit context is required.

Enhanced Multi-Org Reporting


(Changed functionality)

Consistent with the Multi-Org Access Control feature, users are able to run reports using two levels:
Ledger : The report runs for all operating units within a ledger to which the user has access
OU : The report runs for a selected operating unit that belongs to the user's security profile.

Multi-Org Integration with Accounting Setup Manager


(New functionality)

The Accounting Setup Manager is a central location to define your accountingrelated setup across all financial
applications. Here, you can define your legal entities and their accounting context, which includes the ledgers that will
contain the accounting data for each legal entity. Multi-Org is integrated into the Accounting Setup Manager such that
users can define operating units and their relationship to ledgers. For each operating unit, users can also select a
legal entity to provide a default legal context during transaction processing. This centralizes your setup and makes it
easier to inquire on and maintain relationships between ledgers, legal entities, and operating units.

GL Accounting Setup- Simultaneous Accounting for Multiple Reporting Requirements


(New functionality)

Companies that are global in nature and that have operations in different localities often have multiple reporting
requirements. These companies and their subsidiaries often need to satisfy the accounting and reporting
requirements for each country as well as those of the parent company. This involves performing accounting in
accordance with accounting principles and standards of multiple countries and in different currencies, charts of
accounts, and/or calendars. The reporting requirements can also be statutory in nature, and one subsidiary may even
need to satisfy multiple sets of statutory requirements. Oracle General Ledger simplifies the simultaneous
management of the accounting for all of these different reporting requirements in this latest release. You are able to
define your legal entities and the setup needed to address each accounting and reporting requirement using the
Accounting Setup Manager. New enhancements and integration with Subledger Accounting enable Oracle General
Ledger to perform accounting for all reporting requirements of a legal entity simultaneously.

Centralized Accounting Setup


(New feature)

The Accounting Setup Manager is a central location to define your accounting-related setup across all financial
applications. Here you can define your legal entities and their accounting context, which includes the ledgers* that
contain the accounting data for each legal entity. If a legal entity has multiple reporting requirements, you can include
additional reporting currencies or ledgers in the accounting context to satisfy the additional requirements.

Enhanced Reporting Currency Functionality


(Changed functionality)

Multiple Reporting Currencies functionality is enhanced to support all journal sources. Reporting sets of books are
now simply reporting currencies. Every journal that is posted in the primary currency of a ledger can be automatically
converted into one or more reporting currencies. This conversion can be performed by Subledger Accounting, to
convert all subledger journal entries, or by General Ledger, to convert more summarized General Ledger journals.
You can choose to convert any journal sources and categories.

Simultaneous Data Access to Multiple Legal Entities and Ledgers


(New feature)

Can access multiple legal entities and ledgers when you log into Oracle General Ledger using a single responsibility.
This improves processing efficiency by reducing the need to switch between responsibilities when trying to access
data for different ledgers or legal entities.

Simultaneous Opening and Closing of Periods for Multiple Ledgers


(New feature)

The Open and Close Periods Programs have multiple enhancements. You are able to run any of the Open and Close
Periods Programs from the Concurrent Manager. This allows you to take advantage of scheduling and request set
capabilities for greater processing efficiency. Also, if you manage multiple ledgers, you can open or close periods for
multiple ledgers simultaneously. You can even keep the status of periods across multiple ledgers in synch with new
programs that ensure a specific period is Open or Closed for all of the ledgers you manage.

Cross-Ledger and Foreign Currency Allocations


(New feature)

You are able to allocate financial data from one or more ledgers to a different target ledger. This enables you to
perform cross-ledger allocations, which is useful for purposes such as allocating corporate or regional expenses to
local subsidiaries when each entity has its own ledger. This is possible even if the target ledger is in a different
currency than the source ledger(s) because you can create allocations in foreign currencies. Foreign currency
allocations are also useful within a single ledger if you need to allocate amounts to a currency that is different from
the primary currency of a ledger.

Simultaneous Currency Translation of Multiple Ledgers


(New functionality)

If business manages multiple ledgers; you can run the Translation program for multiple ledgers simultaneously.

Posted by Muhammad Rafi Aamiri Madani

Migrating Discoverer between two Databases

Muhammad Rafi Aamiri Madani on Thursday, April 8, 2010


Discoverer consists of the End User LayerTM (EUL), Business Areas (BA), and workbooks. The EUL is essentially a
set of application tables, views, and sequences that store the metadata information. This is organized into one or
more logical Business Areas. For example, an EUL may contain a Human Resources Business Area and a Marketing
Business Area.

Workbooks are reports that have been defined using metadata stored in the EUL. Workbooks can either be saved as
files on your local machine or stored centrally in the database.

Please Note: When you save a workbook, Discoverer refers to the folders and items in the workbook using an
internal identifier (id) rather than the folder name or item name. This means that the administrator can change folder
names and item names without affecting any existing workbooks.

Moving a Complete EUL and Associated Workbooks

1.1 When to use

Want to move a complete EUL and all workbooks saved in the database.
The EUL are the only tables stored under a database username.

1.2 Advantages

Simplest method of moving the Discoverer environment.


Keeps all the internal identifiers between the EUL and the saved workbooks intact.

1.3 Disadvantages

When you import, you have to be aware of any possible issues with other EUL's that may already exist in the
database. (Details below)

1.4 Steps

1. Take a database backup of the EUL Owner's schema. This backup contains all of the business areas, the
EUL tables and workbooks saved to the database.
2. Restore from the backup into the new EUL owner on the new database. It is recommended that this
database user owns no other tables.

1.5 Potential Issues

1. Discoverer Release 3.0.8 supports only one public EUL per instance. If there is another public EUL already
existing on the target database, when you import the new EUL, it will make this new imported EUL the new
public EUL
2. Release 3.1 supports multiple EUL's. If there is more than one EUL available on the target database, the
first time you log into the User Edition, you should go to the Tools -> Options -> EUL tab and ensure your
default EUL is pointing to the correct EUL.
3. If the owner of the data tables is different in the new database, you may need to go into the Discoverer
Administration Edition and do a File -> Refresh.
4. Any registered PL/SQL functions are still registered in the EUL. If the function doesn't exist in the target
database, then the item will obviously be unavailable.

Moving Individual Business Areas and Workbooks

2.1 When to use

When you want to move one or more Business Areas between EULs.
When you want to move Business Areas to a new database.
When you want to move an EUL and the original EUL owner also owns other database objects you don't
wish moved.

2.2 Advantages

Enables fine control over movement of business areas and workbooks.

2.3 Disadvantages

Need to be methodical about moving workbooks.

2.4 Moving individual business area(s)

1. In the Administration Edition, open the business area(s) you wish to move.
2. Select the Business Area(s).
3. Click on File -> Export.
4. Re-connect the Administration Edition to the new EUL in the new user/database.
5. Click on File -> Import.

Note that a business area export does not export any workbooks that use the Business Area. If you also wish to
move workbooks, either saved in the database or saved on the file system, then you should perform the following
steps. As mentioned before, workbooks store the folders and items used with internal IDs. If you now export a
business area and import it into a new EUL, the IDs of the folders and items are changed during the import process.
(This is because the original IDs may be already used by other folders and items already existing in the target EUL).
When you run an existing workbook against a "moved" Business Area, it matches folders, items, joins, etc., on
names, not IDs. If this workbook is then saved again, the IDs within the workbook are matched with the new IDs in
the "moved" Business Area, and everything is synchronized again.
NOTE. With Discoverer 3.0.8.x, any PL/SQL functions registered within the Business Area are not exported as part of
the Business Area. With Release 3.1, registered PL/SQL functions are exported. If the function itself doesn't exist in
the target database, then the item will obviously be unavailable.

2.5 Moving workbooks

1. {Optional} Open all existing workbooks saved to the file system and save them again to the file system. (The
reason for this is that the administrator may have changed folder, item, or join names since this workbook
was saved. At the moment, this is not an issue, as the workbook uses internal IDs to match. However, when
we move the workbook, we need to match on names; therefore, we need to ensure that the names in the
workbook match the latest names in the business area).
2. Open all existing workbooks stored in the database and save them to the file system.
3. Export the Business Area(s) as outlined above.
4. Create the new EUL on the target database
5. Import the Business Area(s).
6. Open the workbooks against the new EUL, but don't run them. (This matches up the IDs again.) Save them,
either to the database or to the file system, whichever is preferred.
7. Refresh the Business Area. (File -> Refresh)

2.6 Potential Issues

1. If you have folders that cross multiple Business Areas, you should export all the Business Areas it refers to
in one export file.
2. Note that you cannot have more than one folder with the same name in an EUL. If you are importing a
Business Area into an EUL that is already populated, be careful of renaming folders. The workbooks you are
moving will look for the folder name the first time you open it, until the IDs get back in synchronization. If the
folder name is changed during the import process, there is a risk that the workbook may pick up the wrong
folder.

If a workbook has an associated bitmap (in the title or as part of the parameter dialogue), the location of the bitmap is
hard-coded to a directory and so may need to be modified.

Posted by Muhammad Rafi Aamiri Madani

OAF vs ADF

Muhammad Rafi Aamiri Madani on Thursday, April 22, 2010

OAF stands for Oracle Applications Framework and is a MVC architecture based J2EE framework customized for
use in Oracle Applications development. It is tailor made for use in the development, customization of Oracle Apps
pages and any custom application development to be hosted, integrated in Oracle Apps. It has the inbuilt support for
features like session management, AOL/J security, connection pooling etc. OAF provides classes for all the standard
web widgets seen on the Self Service pages like Text field, List of Values, Table, HGrid, Buttons etc. I won't go deep
into OAF architecture, you can get that detail in the OAF Dev guide.

Only choice of tool to work with OAF is Jdeveloper with OA Extension. There is no OA extension /plugin available for
any other IDE. This is another factor where people keep getting confused. Jdeveloper is a generic Java IDE but the
one without the OA extension can't be used for OAF development. OA extension is what provides the required OA
libraries and enables OA based Workspace, Project creation.

OAF is the only option for any Oracle Apps related development [Here I am not considering PUI Forms interface for
the simple reason that Oracle has stopped any new PUI based development a couple of years ago and is trying to
convert them to OA pages]. Release 11i and recently launched Release 12 version of Oracle Apps is based on OAF.
For look & feel and business logic changes to Oracle provided seeded Self Service pages, one can make use of
Extension and Personalization features of OAF. Modifications done following the Extension and Personalization
guidelines are upgrade and patch safe. Any direct modification made to seeded code will be overwritten during the
patching.

ADF stands for Application Development Framework Unlike OAF, it is not a vendor or technology specific
framework. In fact it supports a number of technologies for each of its Model, View and Controller components and
hence has received a good appreciation from the developer, architect community. It has gained popularity as the
choice of framework for generic J2EE based applications development.

ADF is going to be used for Fusion release of Oracle Applications. As oracle itself is working on the Fusion release of
Applications code and establishing the Applications specific standards, libraries, I don't see the fusion specific ADF
development standards being out for customers, vendors anytime before 2009 or 2010 [ Might be even later based
on the policy they come up with]. Though you can still create custom applications in ADF and host on a 10gAS
server, the integration, maintenance, Apps LAF will be the issues you will have to face. ADF still doesn't have the
native support for integration with release 11i or R12 based system and I don't see it coming as ADF is more of
meant for fusion product which is still underway. As the path will be to move to fusion, I don't think that there will be
any extra effort to provide native support of ADF for 11i or even in R12.

Posted by Muhammad Rafi Aamiri Madani

Activating OLD used password for FND User

Muhammad Rafi Aamiri Madani on Thursday, April 29, 2010


Oracle Applications by default restrict you to reset the old earlier used password. The reason being all OLD
passwords are stored in FND_USER_PREFERENCES table. We can use the following queries to see all the entries
(though all passwords will be in encrypted format)

select *
from applsys.fnd_user_preferences
where user_name = 'SYSADMIN'
and module_name = 'PWDVALREUSE'

In order to reset/reuse the earlier USED password, one can delete all the entries from above mentioned table

DELETE
from applsys.fnd_user_preferences
where user_name = 'SYSADMIN'
and module_name = 'PWDVALREUSE';

COMMIT;

Posted by Muhammad Rafi Aamiri Madani

APPS in IE8 and Chrome

Muhammad Rafi Aamiri Madani on Sunday, May 2, 2010

Microsoft Internet Explorer 8 is now certified as a client browser for Oracle E-Business Suite Release 12.

E-Business Suite Release 12.0 Prerequisites


R12.ATG_PF.A.DELTA.6 (patch 7237006) or later
Oracle Forms Version 10.1.2.3 or later
Windows XP Service Pack 2 or 3/Windows Vista Service Pack 1 or 2

E-Business Suite Release 12.1 Prerequisites


Oracle E-Business Suite 12.1.1
Windows XP Service Pack 2 or 3/Windows Vista Service Pack 1 or 2

Google Chrome

You will not be able to use google chrome for running oracle applications.Google Chrome is in beta for now.No
dynamic apps will run.Even if you install Jinitiator after getting a prompt, it will not be able to launch application.But
google will make it available soon.
Posted by Muhammad Rafi Aamiri Madani

R12 GL Setup - Implementation Considerations

Muhammad Rafi Aamiri Madani on Monday, May 17, 2010

Chart of Accounts

Share the same value set for the balancing segment across charts of accounts

Determine the Number of Legal Entities to Assign in an Accounting Setup based on

Statutory and legal requirements for legal entity accounting, such as document sequencing,
..tax accounting, and intercompany accounting
Business Needs

Types of Accounting Setups

Accounting Setup with No Legal Entity (LE)

Can be used for GL only implementations


Used for a business need where no legal entity is required or management reporting
Cannot maintain legal entity context in subledger transactions
Cannot set up Operating Units
Cannot use Advanced Global Intercompany Accounting System

Accounting Setup with One LE

Cannot perform lump sum payments across legal entities in AP

Accounting Setup with Multiple Les

Cannot perform autonomous document sequencing and tax that is unique per legal entity
Consider local laws that prohibit commingling transactions with multiple Les

Choosing the Ledger to be the Corporate Representation


Best practice is to choose the primary ledger to be the corporate representation in the local currency:

Provides the most detail


Allows you to assign a subledger level reporting currency if you want to maintain a detailed
..additional currency representation

Note: Secondary Ledgers cannot have subledger level reporting currencies assigned

Legal Entity (LE) Accounting

LE above Ledger

If you require multiple primary ledgers to perform accounting for the same legal entity, you must create dummy legal
entities because a legal entity can only be assigned to one accounting setup, not multiple accounting setups

LE = Ledger

If legal entity equals the primary ledger, you may choose not to assign balancing segment values to the legal entity

LE Below Ledger

Legal entities should be represented by one or more balancing segment values

Balancing Segment Value (BSV) Assignment

No BSVs Assigned = All values available for data entry


Assign specific BSVs to LEs at any time
Behind the scenes, BSVs assigned to LEs are automatically assigned to the ledgers
No BSV validation performed across accounting setups
BSV assignment is required for Intercompany Accounting
Optionally assign BSVs to the ledger for non-legal entity related transactions, such as
..management adjustments
Before BSVs can be assigned to the ledger, they must be assigned to LEs first, if used

Reporting Currencies (RC)

Journal and Subledger level RCs act like regular ledgers


To automatically populate historical data, run the Create Opening Balance Journals in
..Reporting Currency program.
Conversion for subledger sources that uptake SLA are disabled for Subledger Level SLs
When posting a journal to the PL, journals for the RC will be automatically created/posted in the
..same batch. Ensure same open periods for source ledger and RC
Data access set should include same write access to source ledger and Reporting Currencies
..to prevent posting errors

Subledgers that uptake SLA (Assets, Budget Execution, Cash Management, Cost Management, Inventory, Oracle
Loans, Payables, Payroll, Property Manager, Purchasing, and Receivables)

Secondary Ledgers (SL)

Can be added at any time with an unlimited number allowed


To populate historical data, use Consolidation (GCS)
Secondary Ledgers cannot have Subledger Level RCs assigned
COA Mapping required if COAs are different between the PL and SL. COA Mapping can be used if the
..COAs are the same except for Subledger Level SLs
Conversion for subledger sources that uptake SLA are disabled for Subledger Level SLs

Posted by Muhammad Rafi Aamiri Madani

Payables Transfer to GL

Muhammad Rafi Aamiri Madani on Thursday, May 20, 2010

In Oracle Applications, modules such as AP, AR, PO, INV ,PA and WIP have concurrent processes that take the
information from database structures in which the business activity is stored and inserts it into the GL_INTERFACE
table.

List of some of the transferring concurrent programs are:

Payables Transfer to General Ledger aka APPPST (AP)


Create Journal Entries aka FAPOST(FA)
General Ledger Transfer Program ak ARGLTP(AR)
AX Transfer to GL akaAXXPSTGL(AX)
Interface Burden Cost to GL PADTBC(PA)
o PRC: Interface Labor Costs to General Ledger PAGGLT(PA)
o PRC: Interface Usage Costs to General Ledger PASGLT(PA)
o PRC: Interface Revenue to General Ledger PATTGL(PA)
Transfer transactions to GL INCTGL(Inv)
Payroll Transfer to GL(PAY)

Journal categories used while AP to GL Transfer


As you know journal categories classifications used to indicate the purpose or nature of your journal entry.Therefore
in Payable the categories which are used are Invoices (also called Purchase Invoices), Payments, and All (both
Invoices and Payments) and Reconciled Payments (for Payment Clearing and Payment Unclearing Events). More
Important the type of journal category you can select depends on the accounting method that you have selected for
your set of books.

Doing a Transfer to GL from AP

After you create accounting entries in Payables, submit the Payables Transfer to General Ledger program which
send invoice and payment accounting entries to the general ledger interface which is triggered with Journal Import
program.

How and what Payables Populates into GL

Except Oracle Fixed Assets module, most of subledger transfer program moved via GL_Interface table. Once you
submit the payables transfer to General Ledger program , the data get populates into GL Interface table with
accounting information for Payables transactions.

If you use Oracle General Ledger, then Journal Import uses the data in the GL Interface to create journal entries and
populates the General Ledger GL_JE_BATCHES, GL_JE_HEADERS,GL_JE_LINES, and
GL_IMPORT_REFERENCES tables.

When the Payables Transfer to General Ledger program transfers accounting information to the GL Interface, it
always populates the following columns:

GL_SL_LINK_ID: value is a unique, sequential number


GL_SL_LINK_TABLE: value is APECL for Payables actuals, and APENCL for Payables encumbrances.

When you submit the Payables Transfer to General Ledger program you specify whether you want to transfer
accounting information in summary or detail, and you specify the journal category. The parameters you select affect
what is transferred to GL Interface columns REFERENCE21REFERENCE30.

When you transfer in Details

When you do a transfer in details , these information get populated in GL_Interface.

Purchase Invoices
Records for the Purchase Invoices journal category debit the Expense account (including exchange rate variance and
invoice price variance accounting entries), and credit the Liability account.

Reference21: supplier name


Reference22: invoice ID
Reference23: distribution line number
Reference25: invoice number
Reference26: AP Invoices
Reference27: set of books ID
Reference30: type of account charged: Liability or Expense

Payments
Records for the Payments journal category debit the Liability account,credit the Cash account, and are charged to the
Discount, RealizedGain/Loss, Future Payment, and Rounding accounts.

USER_JE_CATEGORY_NAME: Payments
USER_JE_SOURCE_NAME : Payables

Reference21: supplier name


Reference22: invoice ID
Reference23: check ID
Reference24: check number
Reference25: Paid invoice number
Reference26: AP Payments
Reference27: set of books ID
Reference28: invoice distribution line number
Reference29: invoice payment ID
Reference30: account charged: Liability, Cash, Discount, Exchange Gain,Exchange Loss, Future
Pay, or Rounding

Reconciled Payments
Records for the Reconciled Payments journal category are charged to the Cash Clearing and Reconciliation
Accounting accounts. The Payables Transfer to General Ledger program populates GL Interface reference columns
with reconciled payment information as follows:

Reference21: supplier name


Reference23: check ID
Reference24: check number
Reference26: AP Reconciled Payments
Reference27: set of books ID
Reference30: account charged: Cash, Cash Clearing, Charges, Errors,Exchange Gain, Exchange
Loss, or Rounding

Query for Subledger Transfer to GL

If you want to get details of payments and invoices on the journals transferred to GL, use this to get the result. You
can also fine tune with period , currency or clearing company code.
select glcc.segment1 "Company"
, gjjlv.period_name "PERIOD"
, gjb.name "JOURNAL BATCH NAME"
, gjjlv.header_name "JOURNAL SOURCE"
, gjjlv.line_reference_1 "SUPPLIER NAME"
, gjjlv.currency_code "CURRENCY"
, invoice_type_lookup_code "TRANSACTION TYPE"
, gjjlv.line_reference_5 "TRANSACTION NUMBER"
, aia.invoice_date "TRANSACTION DATE"
-- , gjjlv.je_source "SOURCE"
, gjjlv.line_entered_dr "ENTERED DEBIT"
, gjjlv.line_entered_cr "ENTERED CREDIT"
, gjjlv.line_accounted_dr "ACCOUNTED_DEBIT"
, gjjlv.line_accounted_cr "ACCOUNTED_CREDIT"
,glcc.concatenated_segments "CHARGE ACCOUNT"
FROM apps.GL_JE_JOURNAL_LINES_V gjjlv
, gl_je_lines gjl
, ap_ae_lines_all aala
, gl_je_headers gjh
, gl_je_batches gjb
, ap_invoices_all aia
, apps.gl_code_combinations_KFV glcc
, po_vendors pv
WHERE gjl.gl_sl_link_table = 'APECL'
AND gjl.period_name ='NOV-2008'period
AND gjjlv.currency_code = --currency code
AND gjb.je_batch_id = gjh.je_batch_id
AND gjh.je_header_id = gjl.je_header_id
AND gjh.period_name = gjl.period_name
AND gjh.set_of_books_id = gjl.set_of_books_id
AND glcc.code_combination_id = gjl.code_combination_id
AND gjjlv.je_batch_id = gjh.je_batch_id
AND gjjlv.je_header_id = gjh.je_header_id
AND gjjlv.line_je_line_num = gjl.je_line_num
AND gjh.period_name = gjjlv.period_name
AND gjh.set_of_books_id = gjjlv.set_of_books_id
AND glcc.code_combination_id = gjjlv.line_code_combination_id
AND aala.code_combination_id = gjl.code_combination_id
AND aala.gl_sl_link_id = gjl.gl_sl_link_id
AND aala.reference5 = aia.invoice_num
AND gjh.set_of_books_id = aia.set_of_books_id
AND pv.vendor_id = aia.vendor_id
AND gjjlv.line_reference_1 = pv.vendor_name
ORDER BY aia.invoice

Troubleshooting AP To GL Program

Issue 1 :Why my payments and/or invoices that are not posting to GL and you believe they should post.

Resolution:1) Invoice should not be Hold :Make sure invoices are ready to post. An invoice must be approved
and/or have no posting holds in order to be selected for posting. To ensure that your invoices are ready to post, you
should run autoapproval and review the hold reports.

Invoice Hold Report - displays all hold invoices.


Posting Hold Report - only displays invoices with holds that prevent posting.
Matching Hold Report - only displays invoices with matching holds.

2) Ensure payments are made. You must insure that all your payment batches have been completed in all sense ,
they should be either confirmed or canceled.

Make sure period will not close if there are payment batches in a status other than confirmed or canceled.

Issue 2: Sometime transfer AP Transfer to GL takes Longer time?

Resolution :
This should not be a case, if you are experincing the program takes longer check any locks from database side.

Issue 3: Is there any Pre-requisite for AP to Gl transfer?

Resolution:
Yes, Here is the Sequence to follow:

1. Run Invoice Validation process


2. then run Payables Accounting Process and you have the option of transferring to GL

You may also submit payables transfers to GL later.

Issue 4: While Transfer why my DFF not populated?

Resolution:
The DFF in the AP Invoice will not get transferred to the GL and this is an Intended functionality till 11i.

A note on Payables Transfer to General Ledger Report


This report has a summary section which gives totals of the accounting entries transferred to the gl interface table.

It has two sections which show exceptions:

one section shows accounting entries that could not be transferred because they were in an error status
second sectiom shows transferred due to a discrepancy between the accounted account and the account in
the general ledger.

Posted by Muhammad Rafi Aamiri Madani

APPS - RICE Components

Muhammad Rafi Aamiri Madani on Sunday, May 30, 2010

The acronym, RICE, stands for Reports, Interfaces, Conversions, and Enhancements (or Extensions).

During a Oracle Applications implementation, additional configuration, design, or programming requirements are
necessary to satisfy functional requirements and achieve the desired functionality. The objective during any
implementation would be to keep new object development to an absolute minimum.

RICE objects represent requirements not currently supported within the core functionality of an Oracle Application
Module being implemented and thus require additional technical development to satisfy the functional requirement of
a organization.

During an Implementation development of RICE components involves

1. Creation of Reports that are not available as standard reports in the oracle apps modules

2. Creation of the Interfaces to external systems.

3. Creation of Conversion programs to transfer data from a legacy system to the new system.

4. Enhancements (or extensions) to the existing system to add additional functionality to existing system without
disturbing the core software functionality of the system.

A RICE object has a lifecycle throughout the project that includes approval to develop, functional design specification,
technical design specification, coding, testing and implementation. The effort required to complete this development
cycle can be significant.

Posted by Muhammad Rafi Aamiri Madani

Assign Org ID to a Responsibility


Muhammad Rafi Aamiri Madani on Tuesday, June 1, 2010

When you create a responsibility, you assign a profile option called MO:Operating Unit to the responsibility. This
operating unit is the organization that you will be working in. When any user logged into this responsibility that user
will be working only within this organization. Anything that is run concurrently, only looks at that organization.

To assign an org_id to a responsibility, log into System administrator or Application Developer responsibility, goto
profile option & search by that responsibility name. Look for profile option MO: Operating Unit and assign desired
organization to this profile.

Org_id in Apps Tables

All tables that end with _ALL have an org_id column. This denotes what org_id that data is related to. If the
table does not have an org_id column then the data is available in all organizations.

Posted by Muhammad Rafi Aamiri Madani

Advanced Collections and Dunning in R12

Muhammad Rafi Aamiri Madani on Monday, July 26, 2010

The AR Dunning Letters is obsolete in R12.


The AR Collections Workbench is obsolete in Release 12.
You will need to install the Oracle Advanced Collections application.
The basic Collections functionality is available in Oracle Advanced Collections without any extra cost.
However, if you wish to use the more complex functionality in the Oracle Advanced Collections, you will
need to pay for license cost.
In R12 Advanced collections, you will now need to run Oracle Advanced Collections Dunning Plans instead.
To using the Dunning Plan basic functionality you donot requires Oracle Advanced Collections license.
The Dunning process in R12 Collections is based on Scoring. You can set it up so that a particular score is
associated to a Dunning Letter Plan. Then only allow that one customer to get that score. Dunning Plans in
Advanced Collections replace Dunning Letters in 11i AR , thus dunning Plans will need to be setup.
Staged Dunning Letters does not exist in R12 Collections rather can be used the Standard Dunning Plans in
R12 of Collections. However, for a more complex timing and use of Dunning letters you will want to setup
the highly configurable Strategies and send your letters in this manner.Customer interactions and
correspondence, transaction processing, and dunning activities are consider as basic functionality whereas
scoring, collections strategies, enhanced payment and promise processing, automated promise tracking,
and automated collector work assignment are consider as advance feature of product.
In R12, dunning functionality is executed by XML Publisher.

Posted by Muhammad Rafi Aamiri Madani

Script to remove Descriptive Flexfield Segments

Muhammad Rafi Aamiri Madani on Thursday, August 5, 2010

This is useful in cases where FNDLOAD does not perform a delete of segments. Hence such a script can be used for
cleanup of the DFF. Simply replace the contents in "bold" text below to make this work on your environment

--Script to clean up DFF Segments

set serveroutput on size 100000;


DECLARE

l_flexfield_type fnd_flex_key_api.flexfield_type;l_structure_type fnd_flex_key_api.structure_type;l_segment_type


fnd_flex_key_api.segment_type;l_flex_num VARCHAR2(1000);

BEGIN

FOR p_rec IN (SELECT end_user_column_name,descriptive_flexfield_name,descriptive_flex_context_code


FROM fnd_descr_flex_col_usage_vl
WHERE (application_id = 100)
AND (descriptive_flexfield_name = 'Person Info DDF')
AND (descriptive_flex_context_code LIKE 'XX_DFF_CONTEXT_HERE'))

LOOP

fnd_flex_dsc_api.delete_segment
(appl_short_name => 'PER',
flexfield_name => p_rec.descriptive_flexfield_name,
CONTEXT => p_rec.descriptive_flex_context_code,
SEGMENT => p_rec.end_user_column_name);

dbms_output.put_line('Segment'||p_rec.end_user_column_name||deleted ');
END LOOP;
END;
Posted by Muhammad Rafi Aamiri Madani

QUERY GL Opening and Closing Balance

Muhammad Rafi Aamiri Madani on Thursday, August 12, 2010

OPENING BALANCE

SELECT
cc.concatenated_segments "GL Account"
,cc.gl_account_type "Account Type"
,nvl(sum(bal.begin_balance_dr - bal.begin_balance_cr),0) "Begin Balance"
,bal.period_name "Period Name"
FROM gl_code_combinations_kfv cc
,gl_balances bal
WHERE cc.code_combination_id = bal.code_combination_id
AND bal.period_name = [Period Name]
AND bal.set_of_books_id = [Set of Book ID]
GROUP BY
cc.concatenated_segments
,cc.gl_account_type
,bal.period_name
ORDER by
cc.concatenated_segments

CLOSING BALANCE

SELECT
cc.concatenated_segments "GL Account"
,cc.gl_account_type "Account Type"
,nvl(sum(bal.begin_balance_dr - bal.begin_balance_cr +
bal.period_net_dr - bal.period_net_cr),0) "Closing Balance"
,bal.period_name "Period Name"
FROM gl_code_combinations_kfv cc
,gl_balances bal
WHERE cc.code_combination_id = bal.code_combination_id
AND bal.period_name = [Period Name]
AND bal.set_of_books_id = [Set of Book ID]
GROUP BY
cc.concatenated_segments
,cc.gl_account_type
,bal.period_name
ORDER BY
cc.concatenated_segments

bal.period_name = [Period Name] Here you should enter the period name you want to see. You can check the table
GL_PERIOD_STATUSES to see which period you want. If you do not define a period the query will return a bunch of
records without any sense.

bal.set_of_books_id =[Set of Book ID] Here you should enter your set of books id (each company has a set of books
id), You can check table GL_SETS_OF_BOOKS to check which company you want to see. Otherwise the query will
return all companies data mixed.

Posted by Muhammad Rafi Aamiri Madani

R12 Installation - Login Page Error RW-50016

Muhammad Rafi Aamiri Madani on Sunday, August 15, 2010

During the post-installation of Oracle Applications Release 12.1.1, you might have an error with the Login page
check. The log file would say something similar to:

Login Page

-----------

checking URL = http://localhost.localdomain:8000/OA_HTML/AppsLogin

RW-50016: Error: - {0} was not created:


File = {1}

There could be several reasons this happened.


- Check the permissions on the environment file.
- Check your /etc/hosts entry
- Unlock the apps and applsys accounts on the database
- Run AutoConfig
- Bounce the services
When you bounce the services, make sure they all restart. That means, check the status, stop them and check the
status again. Make sure that the OC4J processes have restarted. If you need to, kill the processes on the OS.

[oracle@localhost VIS_localhost] $ ./adapcctl.sh status

You are running adapcctl.sh version 120.7.12010000.2

Checking status of OPMN managed Oracle HTTP Server (OHS) instance ...

Processes in Instance: VIS_localhost.localhost.localdomain


---------------------------------+--------------------+----------+---
ias-component | process-type | pid | status
---------------------------------+--------------------+----------+---
OC4JGroup:default_group | OC4J:oafm | 7127 | Alive
OC4JGroup:default_group | OC4J:forms | 7128 | Alive
OC4JGroup:default_group | OC4J:oacore | 7129 | Alive
HTTP_Server | HTTP_Server | 7283 | Alive

[oracle@localhost VIS_localhost] $ ./adapcctl.sh stop


[oracle@localhost VIS_localhost] $ ./adapcctl.sh start

Run the status again and make sure all the PID's are different. If not, kill the processes on the OS.

Posted by Muhammad Rafi Aamiri Madani

R12 - Credit to Cash process flow

Muhammad Rafi Aamiri Madani on Monday, August 30, 2010

Revenue Contingency Life Cycle

Revenue Recognition Accounting Standards

Flexible Billing Cycles

Billing cycles can be selected ad-hoc during invoice creation.


Consolidated Billing (Balance Forward Billing) can also be generated via BPA in R12.

Enhanced Late Charges


More Accurately Apply Customer Payments

Line level cash application. Apply cash to a invoice line or group of lines
New Receipt Workbench

Attachment Printing in BPA

This feature is enabled with a new system profile option. AR: BA Print Attachment Document% Set the
category for printing.
This allows you to print attachments that are associated with the invoice

Make better credit decisions with credit management

Interest calculation in the cash management module

Interest rate schedules


Notional cash pool (Euro)
On-line calculator

Refund Automation

Automatic refunds for Auto Invoice credit memos


Simplified manual refund process
Refund approval workflow (AP)

Credit Card Chargeback Processing

In this process, you are responsible for sending the funds back to the bank on behalf of the customer.
Simplified credit card chargeback processing

Posted by Muhammad Rafi Aamiri Madani

APPS R12 Architecture

Muhammad Rafi Aamiri Madani on Tuesday, September 7, 2010

R12 file system has come up with new model Code, Data, Configurations are segregated nicely to have easy
maintenance, to avert NFS mount issues on shared appl tier configuration systems. Auto-config will not write anything
in APPL_TOP, COMMON_TOP area in R12. All instance specific configurations, log files are written in INST_TOP
area. Instance Home provides the ability to share Applications and technology stack code among multiple instances.
Tech Stack Components
DB_TIER

10.2.0.2 RDBMS ORACLE_HOME

APPL-TIER

. . C ORACLE_HOME FORMS ORACLE_HOME . . ORACLE HOME equivalence


. . Java ORACLE_HOME OC J ORACLE_HOME iAS ORACLE_HOME equivalence
INSTANCE_TOP : Each application tier has a unique Instance Home file system associated

R12 e-Biz & Application Server 10g

Application Server Releases and versions

There are two versions of Oracle Application server 10g (oAS10g) used,

Oracle 10gAS R2: 10.1.2 10.1.2.2.0


Oracle 10gAS R3: 10.1.3.0 10.1.3.3
In R12, 10.1.2 AS and 10.1.3 AS Homes are newly introduced in lieu of 8.0.6 and iAS(1.0.2.2) 11i Architecture.

Why do we have 10.1.2. AS and 10.1.3 AS?

10.1.2 AS installation will be supporting forms based applications. It is Standalone 10.1.2 forms/reports
server installation. Other components are not included.
10.1.3 AS tech-stack will be used by java based applications. 10.1.3 AS instance brings latest OC4J code
which is successor of . . AS. . . AS release doesnt contain forms/reports products.

Hence to take advantage of latest oc4j code 10.1.3 AS got introduced. But to support ebiz forms applications 10.1.2
AS introduced.

Directory Structure

Below Image describes the complete directory structure for complete e-biz installation i.e. DB_TOP, APPL_TOP and
new INST_TOP. If you dig into the INST_TOP you will find that it only contains all the configuration files, start-stop
scripts, log files, certificate files, pid files etc.., so as to make DB_TOP and APPL_TOP untouched for any instance
specific changes. So you can also make DB_TOP and APPL_TOP read only.

INSTANCE TOP
Instance home is the top-level directory for an Applications Instance which is known as Instance Home and is
denoted the environment variable $INST_TOP. This contains all the config files, log files, SSL certificates etc.

Advantages of new INSTANCE HOME

The additional Instance Home makes the middle tier more easy to manage and organized since the data is
kept separate from the config files.
The Instance Home also has the ability to share the Applications and Technology stack code across multiple
instances.
Another advantage of the Instance Home is that the Autoconfig writes only in INST_TOP so APPL_TOP and
ORACLE_HOME can also be made read only file system if required.
To create a new instance that shares an existing middle-tier, just create a new instance_top with proper
config files and NFS Mount the middle tier
INSTANCE TOP STRUCTURE
$INST_TOP : $APPS_BASE/inst/apps/$CONTEXT_NAME/
/admin /scripts : ADMIN_SCRIPTS_HOME: Find all AD scripts here
/appl : APPL_CONFIG_HOME. For standalone envs, this is set to $APPL_TOP
/fnd/12.0.0/secure : FND_SECURE: dbc files here
/admin : All Env Config files here
/certs : SSL Certificates go here
/logs : LOG_HOME: Central log file location. All log files are placed here (except adconfig)
/ora : ORA_CONFIG_HOME
/10.1.2 : C Oracle home config, Contains tnsnames and forms listener servlet config files
/10.1.3 : Apache & OC4J config home, Apache, OC4J and opmn
This is the Java oracle home configuration for OPMN, Apache and OC J
/pids : Apache/Forms server PID files here
/portal : Apaches DocumentRoot folder

Shared Application Tier File System

We can configure multiple application node machines working with a single E-Business Suite database node. This
creation of a multi-node E-Business Suite instance is frequently done to lower cost of ownership (many small
machines are cheaper than one big one), increase fault tolerance (one machine fails, others do not), or scale the
instance (support more users and a greater load).
When configuring Oracle E-Business Suite to use a shared application tier file system, the application tier node can
be configured to perform any of the standard application tier services, such as Forms, Web, and Concurrent
Processing (Batch).
Note the following definitions:

Node
A node/server/instance is a logical set of processes running on one hardware machine. In a single-node installation of
Oracle E-Business Suite, all the Applications processes (including the database processes) run on one node,
whereas in a multi-node installation, the processes are distributed across multiple nodes.
A multi-node installation of Release 12 supports both shared and non-shared application tier file systems. An
application tier file system consists of:

APPL_TOP file system (APPL_TOP and COMMON_TOP directories).


Application tier technology stack file system (OracleAS 10.1.2 and 10.1.3 Oracle Homes).
Instance Home (INST_TOP) file system. Each application tier has a unique Instance Home file system
associated with it.

Service
A service is a functional set of Oracle E-Business Suite application processes running on one or more nodes. Where
applicable, the term service is replacing the more traditional term of server.

Application Tier Services


The following are the major application tier services:

Root services
Web Entry Point services
Web Application services
Batch Processing services
Other services

So if you have two nodes,one will serve as Primary Node and other will serve as Secondry Node. You can configure
both the Application tier node as follows:

Primary Application Tier Node


A primary application tier node is the first application tier node where the APPL_TOP, COMMON_TOP, OracleAS
10.1.2 Oracle Home and OracleAS 10.1.3 Oracle Home are installed and configured.

Secondary Application Tier Node


A secondary application tier node is an application tier node where APPL_TOP, COMMON_TOP, 10.1.2 Oracle
Home and 10.1.3 Oracle Home are visible and configured. The APPL_TOP, COMMON_TOP, OracleAS 10.1.2
Oracle Home and OracleAS 10.1.3 Oracle Home file system is mounted to this node from the primary application tier
node, or from an NFS server.
Instance Home

Note : In a shared file system, each application tier will have a unique Instance Home, which should be located on
the local file system.
Shared Application Tier File System Architecture
In a shared file system, all application tier files (with the specific exception of the Instance Home file system) are
installed on a shared disk resource, which is mounted on each application tier node. Any application tier node can be
configured to perform any of the standard application tier services, such as Forms, Web and Concurrent Processing
(Batch) services. All changes made to the shared file system are immediately accessible to all application tier nodes.

Shared Application Tier File System Layout


When configuring Oracle E-Business Suite to use a shared application tier file system, an application tier node can be
configured to perform any of the standard application tier services, such as Forms, Web, or Concurrent Processing
(Batch) services. An application tier will have a unique Instance Home associated with it that cannot be shared with
other application tiers. You can configure the services running on an application tier node to match the nodes
intended role
Example Shared File System

The following is an example of mount points shared on each application tier node:

COMMON_TOP: /ebiz/oracle/VIS/apps/apps_st/comn
APPL_TOP: /ebiz/oracle/VIS/apps/apps_st/appl
OracleAS 10.1.2 ORACLE_HOME: /ebiz/oracle/VIS/apps/tech_st/10.1.2
OracleAS 10.1.3 ORACLE_HOME: /ebiz/oracle/VIS/apps/tech_st/10.1.3

In the figure shown below, entitled Shared Application Tier File System, Server-appl_node1 is the primary
application tier node, and uses the file systems ebiz oracle VIS and ebiz oracle inst. The file system
ebiz oracle inst contains the Instance Home, and ebiz oracle VIS contains the APPL_TOP, COMMON_TOP,
OracleAS 10.1.2 and 10.1.3 Oracle Home.

Server-appl_node is the secondary application tier node, and the shared file system ebiz oracle VIS is also
mounted on this node. The file systems ebiz oracle inst apps VIS_appl_node and
ebiz oracle inst apps VIS_appl_node are only visible on the respective nodes.

Posted by Muhammad Rafi Aamiri Madani

SRW Functions

Muhammad Rafi Aamiri Madani on Wednesday, September 8, 2010

SRW Package is a collection of PL/SQL constructs that provide developers with a suite of built-in functions,
procedures, and exceptions that can be used in any of your libraries or reports. The following lists several of these
constructs, and briefly describes how Applications uses them in reports.

SRW.DO_SQL and SRW.DO_SQL_FAILURE


When it is necessary to perform data definition statements (DDL), the SRW.DO_SQL packaged procedure must be
used. You cannot perform DDL statements in PL/SQL. In conjunction with this, we use the SRW.DO_SQL_FAILURE
exception which raises an error if the statement should fail.

Example
BEGIN
SRW.DO_SQL('Create table Test...');
EXCEPTION
when SRW.DO_SQL_FAILURE then
.....
END;

SRW.MESSAGE
This procedure allows developers to create their own messages and return them at runtime. It takes two arguments,
a message number and message text. It can be used for error handling or debugging. Applications uses this feature
to standardize and share messages across reports.

Example
SRW.MESSAGE('500','First debug line');

SRW.USER_EXIT and SRW.REFERENCE


Because Applications reports commonly call user exits it is critical that Oracle Reports support such calls. To facilitate
this requirement the Package offers SRW.USER_EXIT and SRW.REFERENCE. User exits may be called from any
PL/SQL interface within a report, but it must be called with SRW.USER_EXIT. Furthermore, to ensure that the value
of an object passed to the user exit contains the most recently computed or fetched value, SRW.REFERENCE will
add the object to the user exit dependency list.

Example
BEGIN
SRW.REFERENCE(:Currency_code);
SRW.REFERENCE(:Currency_value);
SRW.USER_EXIT('FND FORMAT CURRENCY CODE=":Currency_code"
AMOUNT=":Currency_value"
DISPLAY=":Currency_formatted"');
RETURN(:Currency_formatted);
EXCEPTION WHEN
SRW.USER_EXIT_FAILURE THEN
RETURN('FORMAT ERROR');
END:

Posted by Muhammad Rafi Aamiri Madani

EMail XML Publisher Output

Muhammad Rafi Aamiri Madani on Sunday, October 24, 2010


To implement this functionality, we would have to know the following:

1. The concurrent request id of the program that is tied to an xml publisher defined layout
2. The path and name of the output file that is generated by the output post processor for the concurrent request
3. An email utility that can mail the generated output as an attachment

It is quite obvious for us to know from where to pick up the request id. It would be interesting to know the name of the
file and the path where the xml publisher generated output is stored.

Let us assume that we have a concurrent request that is tied to an xml publisher layout which will format the output to
a PDF document. When the concurrent request completes its run, it generates 2 output files in this case. The first file
is the xml data file and the second file is the pdf file. Both the files get generated and stored in the usual
$APPLCSF/$APPLOUT path.

What is of interest here is the file name given to the pdf file. This file name looks to be a combination of the XML
publisher definition code, the request id and a running number. How do we get to know this filename from within
oracle?

There is a table named FND_CONC_REQ_OUTPUTS that stores the request id, dir path and the file name, filesize
and so on. This is the table that we use to read the file name from after looking it up with a particular request id. Once
this is done, we are all set to email the file as an attachment. How do we do it from within oracle?

Oracle provides us with a PL/SQL wrapper named SendMailJPkg for its internal java mail utility that is loaded into the
database. We can use this to send the email and the contents of the pdf file as an attachment. The utility has a
method named SendMail. This method has a list of parameters which are pretty straightforward to lookup and
understand. The last parameter is a pl/sql table named attachments. We can send multiple attachments using this
pl/sql table type parameter. In our case, to send the pdf as an attachment, we would simply have to instantiate one
element in the pl/sql table and pass the file name including the path as a value to the element. Set all the other
appropriate param values and call the method. The pdf file would land up nicely in the user's inbox.

Posted by Muhammad Rafi Aamiri Madani

Flow from Order to Invoice

Muhammad Rafi Aamiri Madani on Monday, April 11, 2011

Order Entry
This is first stage, When the order is entered in the system, it basically creates a record in order headers and Order
Lines table.

oe_order_headers_all (Here the flow_status_code as entered)


oe_order_lines_all (flow_status_code as entered) ( order number is generated)

Order Booking
This is next stage , when Order is booked then the Flow status changed from Entered to Booked. At this stage ,these
below table get affected.

oe_order_headers_all (flow_status_code as booked ,booked_flag updated)


oe_order_lines_all (flow_status_code as awaiting shipping,booked_flag updated)
wsh_new_deliveries (status_code OP open)
wsh_delivery_details released_status R ready to release
Same time, Demand interface program runs in background And insert into inventory tables mtl_demand

Reservation
This step is required for doing reservations SCHEDULE ORDER PROGRAM runs in the background and quantities
are reserved.Once this program get successfully get completed , the mtl_reservations table get updated.

Pick Release
Ideally pick release is the process which is defined in which the items on the sales order are taken out from inventory.
Normally pick release SRS program runs in background . Once the program get completed these are the table get
affected:

oe_order_lines_all (flow_status_code PICKED


wsh_delivery_details released_status S submitted for release
mtl_txn_request_headers
mtl_txn_request_lines
(move order tables.Here request is generated to move item from saleble to staging sub inventory)
Mtl_material_transactions_temp (link to above tables through move_order_header_id/line_id

Pick Confirm
Items are transferred from saleble to staging Subinventory.

mtl_material_transactions
mtl_transaction_accounts
wsh_delivery_details released_status YReleased
wsh_delivery_assignments

Ship Confirm
Here ship confirm interface program runs in background . Data removed from wsh_new_deliveries
oe_order_lines_all flow_status_code shipped
wsh_delivery_details released_status C Shipped
mtl_transaction_interface
mtl_material_transactions(linked through Transaction source header id)
mtl_transaction_accounts
Data deleted from mtl_demand,mtl_reservations
Item deducted from mtl_onhand_quantities

Enter Invoice
This is also called Receivables interface, that mean information moved to accounting area for invoicing details.
Invoicing workflow activity transfers shipped item information to Oracle Receivables.

ra_interface_lines_all (interface table into which the data is transferred from order management)Then Autoinvoice
program imports data from this table which get affected into this stage are recievables base table.

ra_customer_trx_all (cust_trx_id is primary key to link it to trx_lines table and trx_number is the invoice number)
ra_customer_trx_lines_all (line_attribute_1 and line_attribute_6 are linked to header_id (or order number) and line_id
of the orders)

Complete Line
In this stage order line leval table get updated with Flow status and open flag.

oe_order_lines_all flow_status_code shipped, open_flag N

Close Order
This is last step of Order Processing . In this stage only oe_order_lines_all table get updated. These are the table get
affected in this step.

oe_order_lines_all flow_status_code closed,open_flag N

These are the typically data flow of a order to cash model for a standard order.

Posted by Muhammad Rafi Aamiri Madani

Oracle Receivables frequently used Tables

Muhammad Rafi Aamiri Madani on Saturday, September 17, 2011

AR Master Tables
HZ_PARTIES
HZ_CUST_ACCOUNTS
HZ_PARTY_SITES
HZ_CUST_ACCT_SITES_ALL
HZ_CUST_SITE_USES_ALL
HZ_LOCATIONS
HZ_PARTY_RELATIONSHIPS
HZ_ORGANIZATION_PROFILES
HZ_CONTACT_POINTS
HZ_CUST_ACCOUNT_ROLES
HZ_PERSON_PROFILES
HZ_ORG_CONTACTS

AR Transaction Tables

RA_CUSTOMER_TRX_ALL
RA_CUSTOMER_TRX_LINES_ALL
RA_CUST_TRX_LINE_GL_DIST_ALL
AR_PAYMENT_SCHEDULES_ALL
AR_CASH_RECEIPTS_ALL
AR_CASH_RECEIPT_HISTORY_ALL
AR_RECEIVABLE_APPLICATIONS_ALL
AR_ADJUSTMENTS_ALL

HZ_PARTIES
A party is an entity that can enter into a business relationship. This table stores basic information about parties, which
is true regardless of this relationship to the deploying company. Entities are modeled only once in HZ_PARTIES,
regardless of how many roles they play. For example, if an organization is a customer, a distributor, and a partner,
there is still only one record for them in HZ_PARTIES.

HZ_LOCATIONS
A location is a point in geographical space described by an address and/or geographical Indicators such as latitude or
longitude.
This table stores information about an address such as: street address and postal code.
This table provides physical location information about parties organizations and people and customer accounts.
Records in HZ_LOCATIONS can store delivery and postal code information about a location, store latitude and
longitude, and can be used to determine the appropriate calculations and tax rates for sales tax and VAT
calculations.

HZ_PARTY_SITES
This table links a party (HZ_PARTIES) and a location (HZ_LOCATIONS) and stores location-Specific party
information such as a persons mail stops at their work address.
One party can point to one or more party sites.
One location can point to one or more party site.
Party sites serve as the intersection between parties and locations, allowing for a many-to-many relationship
between the two.

HZ_RELATIONSHIPS
This table stores information about relationships between two entities, for example, one party and another party.
The SUBJECT_ID and OBJECT_ID columns specify the relationship that exists between two parties. For example,
if the party relationship type is Parent Of, then a holding company could be the SUBJECT_ID in the relationship
while one of its subsidiaries could be the OBJECT_ID. Creating a party contact causes a party relationship to be
created.
A party can have different relationships with one or more other parties that can change over time.

HZ_ORGANIZATION_PROFILES
This table stores a variety of information about a party of type Organization.
This table gets populated when a party of type ORGANIZATION is created.
Historical data is also stored in this table.

HZ_PERSON_PROFILES
This table stores a variety of information about a party of type Person.
For example, this table could contain the correct spelling and phonetic pronunciation of the persons name.
Some information in this table may also be entered into the HZ_PARTIES table.

HZ_ORG_CONTACTS
This table stores a variety of information about an organization contact.
The records in this table provide information about a contact position such as job title, rank, and department.
This table is not used to store information about a specific person or organization. For example, this table may
include a record for the position of Vice President of Manufacturing that indicates that the contact is a senior
executive, but it would not include the name of the person in that position.

HZ_CUST_ACCOUNTS
This table stores information about customer/financial relationships established between a Party and the deploying
company.
Because a party can have multiple customer accounts, this table may contain several records for a single party. For
example, an individual person may establish a personal account, a family account, and a professional account for a
consulting practice.

HZ_CUST_ACCT_SITES_ALL
This table stores information about customer/financial account sites information.
Stores information about customer sites. One customer account can have multiple sites.

HZ_CUST_SITE_USES_ALL
This table stores information about the business purposes assigned to a customer account site.
A customer account site can have multiple purposes, but each record in this table only specifies one purpose for a
customer account site. For example, a customer account site may be assigned as a ship-to site in one record and as
a bill-to site in another record.

HZ_CUST_ACCOUNT_ROLES
This table stores information about a role or function that a party performs as related to a customer account. For
example, Jane Doe might be the Legal Contact for a specific customer account of Corporation ABC. Note that
account ownership such as financial responsibility for an account is determined by the single party ID that is stored
directly on the HZ_CUST_ACCOUNTS table.

HZ_CONTACT_POINTS
This table stores information about how to communicate with parties or party sites using electronic media or methods
such as Electronic Data Interchange (EDI), e-mail, telephone, telex, and the Internet.
Each medium or method should be stored as a separate method in this table. For example, the attributes of a
complete telephone number connection should be stored in a record, while EDI information should be stored in a
different record.

RA_CUSTOMER_TRX_ALL
This table stores invoice, debit memo, commit-ment, chargeback, bills receivable, and credit memo header
information.
Each row includes general invoice information such as customer, transaction type, and printing instructions.
You need one row for each invoice, debit memo, commitment, and credit memo you create in Oracle Receivables
and these are all distinguished by their transaction types stored in RA_CUST_ TRX_ TYPES_ALL.

RA_CUSTOMER_TRX_LINES_ALL
This table stores information about invoice, debit memo, credit memo, bills receivable, and commitment lines. It
describes to the customer the charges that appear on these documents.

AR_PAYMENT_SCHEDULES_ALL
This table stores all transactions except adjust-ments and miscellaneous cash receipts. A miscellaneous cash receipt
is one that is not connected to a customer.
All customer-related activity is logged in this table.
This table is updated when an activity occurs against an invoice, debit memo, chargeback, credit memo, on-account
credit, bills receivable, receipt, or commitments.

RA_CUST_TRX_TYPES_ALL
This table stores information about each transaction type for all classes of transactions, for example, invoices,
commitments, and credit memos.
Each row includes Auto Accounting information as well as standard defaults for the resulting invoices. The primary
key for this table is CUST_TRX_TYPE_ID.

AR_TRANSACTION_HISTORY_ALL
This table is a Bills Receivable-specific table containing the history of a transactions lifecycle.
A new row is created each time there is activity on the transaction or the status of the transaction has changed.
This table stores the header for the Receivables posting information.

AR_DISTRIBUTIONS_ALL
This table stores the accounting distributions for cash receipts, miscellaneous receipts, adjustments, credit memo
applications, cash receipt applications, and bills receivable transactions.

AR_CASH_RECEIPTS_ALL
This table stores one record for each receipt entry.
All cash receipts are logged in this table.
Oracle Receivables creates records concurrently in the AR_CASH _RECEIPT_ HISTORY_ ALL, AR_PAYMENT_
SCHEDULES_ ALL, AR_DISTRI-BUTIONS_ALL, and AR_ RECEIVABLE_ APPLICA-TIONS_ALL tables for invoice-
related receipts.
For receipts that are not related to invoices, records are created in the AR_MISC_CASH_ DISTRIBUTIONS_ALL
table instead of the AR_RECEIVABLE_APPLICATIONS_ ALL table.

AR_CASH_RECEIPT_HISTORY_ALL
This table stores all of the activity that is contained for the life cycle of a receipt.
Each row represents one step.
The status field for that row tells you which step the receipt has reached.
Possible statuses are Approved, Confirmed, Remitted, Cleared, and Reversed.

AR_RECEIVABLE_APPLICATIONS_ALL
This table stores all accounting entries for cash and credit memo applications.
Each row includes the amount applied, status, and accounting flex field information.

AR_MISC_CASH_DISTRIBUTIONS_ALL
This table stores all accounting entries for miscellaneous cash applications.
Miscellaneous cash cannot be invoiced, such as stock revenue, interest income, and investment income.
AR_CASH_RECEIPTS_ALL stores one record for each payment, and this table stores one record for each
distribution of the receipt.

AR_RECEIPT_CLASSES
This table stores the different receipt classes that you define.
Receipt classes determine whether the receipt[s] belonging to this class are created manually or automatically, and
whether the receipts go through the different steps in a receipts life-cycle.

AR_RECEIPT_METHODS
This table stores information about Payment Methods, receipt attributes that you define and assign to Receipt
Classes to account for receipts and their applications.
For automatically created receipts, a Payment Method defines the rules for creating these receipts.
For manually created receipts, a Payment Method defines a user-definable type for the receipt.
Each Payment Method is associated with a set of bank accounts, which forms the set of bank accounts you can
assign to your receipt.

AR_ADJUSTMENTS_ALL
This table stores information about the adjustment applied to the Invoices.

Posted by Muhammad Rafi Aamiri Madani

Request Group and Responsibility by Concurrent Program

Muhammad Rafi Aamiri Madani on Tuesday, October 11, 2011

To debug an issue of any concurrent program which fails with errors we need to relogin to reproduce the error. It
would be useful if we know in which request group and in which responsibility the concurrent program is available.
The below SQL query will help us to get this information.
SELECT
frg.request_group_name,
frg.description,
cp.concurrent_program_id,
cp.concurrent_program_name,
cpt.user_concurrent_program_name,
frv.responsibility_name
FROM
fnd_request_groups frg,
fnd_request_group_units frgu,
fnd_concurrent_programs cp,
fnd_concurrent_programs_tl cpt,
fnd_responsibility_vl frv
WHERE
frg.request_group_id = frgu.request_group_id
AND frgu.request_unit_id = cp.concurrent_program_id
AND cp.concurrent_program_id = cpt.concurrent_program_id
AND frv.request_group_id = frg.request_group_id(+)
AND frg.request_group_name LIKE 'All Reports'
AND frg.description = 'All Purchasing SRS Reports'
AND cpt.user_concurrent_program_name LIKE 'Account Analysis Report%'

Posted by Muhammad Rafi Aamiri Madani


API to Purge an person from Oracle HRMS

Muhammad Rafi Aamiri Madani on Saturday, October 15, 2011

DECLARE
l_person_org_manager_warning VARCHAR2 (200);
BEGIN
hr_person_api.delete_person(p_validate => FALSE,
p_effective_date => SYSDATE,
p_person_id => :person_id,
p_perform_predel_validation => FALSE,
p_person_org_manager_warning => l_person_org_manager_warning
);
COMMIT;
END;

Before purging the person from Oracle HRMS we need to make sure that the employee and fnd_user link is been
deleted and also the person should not have an active payroll.

If the employee has an active payroll then we cannot purge the record. The alternative way is to either end date the
employee using the termination screen or you need to change the person from 'Employee' to 'Applicant' and then use
the above API again to purge the record.

Posted by Muhammad Rafi Aamiri Madani

Differences Between Standard PO, Blanket PO, Planned PO & Contract PO

Muhammad Rafi Aamiri Madani on Wednesday, November 30, 2011

Standard Planned Blanket Contract Purchase


Purchase Order Purchase Purchase Agreement
Order Agreement
Terms and Conditions Known Yes Yes Yes Yes
Goods or Services Known Yes Yes Yes No
Pricing Known Yes Yes May Be No
Quantity Known Yes Yes No No
Account Distributions Known Yes Yes No No
Delivery Schedule Known Yes May Be No No
Can be Encumbered Yes Yes Yes No
Can Encumber Releases N/A Yes Yes N/A

Posted by Muhammad Rafi Aamiri Madani

APIs for Concurrent Processing

Muhammad Rafi Aamiri Madani on Sunday, November 20, 2011

FND_CONCURRENT.GET_REQUEST_STATUS

This API Returns the Status of a concurrent request. It also returns the completion text if the request is already
completed. The return type is Boolean (Returns TRUE on successful retrieval of the information, FALSE otherwise).

function get_request_status

(
request_id IN OUT NOCOPY number,
appl_shortname IN varchar2 default NULL,
program IN varchar2 default NULL,
phase OUT NOCOPY varchar2,
status OUT NOCOPY varchar2,
dev_phase OUT NOCOPY varchar2,
dev_status OUT NOCOPY varchar2,
message OUT NOCOPY varchar2
) return boolean;

PARAMETERS

REQUEST_ID Request ID of the program to be checked.


APPL_SHORTNAME Short name of the application associated with the program. Default is NULL
PROGRAM Short name of the concurrent program
PHASE Request phase
STATUS Request Status
DEV_PHASE Request phase as a string constant
DEV_STATUS Request status as a string constant
MESSAGE Request completion message
FND_CONCURRENT.WAIT_FOR_REQUEST

This API waits for the request completion, then returns the request phase/status and completion message to the
caller. It goes to sleep between checks for the request completion. The return type is Boolean (Returns TRUE on
successful retrieval of the information, FALSE otherwise).

function wait_for_request
(
request_id IN number default NULL,
interval IN number default 60,
max_wait IN number default 0,
phase OUT NOCOPY varchar2,
status OUT NOCOPY varchar2,
dev_phase OUT NOCOPY varchar2,
dev_status OUT NOCOPY varchar2,
message OUT NOCOPY varchar2
) return boolean;

PARAMETERS

REQUEST_ID Request ID of the request to wait on. The default is NULL


INTERVAL Number of seconds to wait between checks. Default is 60 seconds.
MAX_WAIT Maximum number of seconds to wait for the request completion. Default is 00 seconds
PHASE Request phase
STATUS Request Status
DEV_PHASE Request phase as a string constant
DEV_STATUS Request status as a string constant
MESSAGE Request completion message

USEFUL APIs

FND_CONCURRENT.SET_COMPLETION_STATUS Called from a concurrent request to set its completion status and message
FND_CONCURRENT.GET_REQUEST_PRINT_OPTIONS Returns the print options for a concurrent request
FND_CONCURRENT.GET_SUB_REQUESTS Get all sub-requests for a given request id. For each sub-request it provid
phase,status, developer phase , developer status and completion text
FND_CONCURRENT.CANCEL_REQUEST It cancels a given Concurrent Request
FND_CONCURRENT.AF_ROLLBACK It is used by a concurrent program that use a particular rollback segment a
arguments.
Posted by Muhammad Rafi Aamiri Madani

Chart of Account - Overview

Muhammad Rafi Aamiri Madani on Saturday, January 21, 2012

ERP manages to achieve accounting requirements by having different segments and combining them into a COA
Structure. The Chart of Accounts (COA) is an account structure composed of various dimensions capturing relevant
information related to underlying transaction. This structure helps in capturing appropriate level of details while
recording transactions which helps in deriving the financial account balances at the desired segment level.
A typical structure in ERP will have segments like below:

Legal Entity Capturing the Company Information


Cost Center Capturing Department or Cost Center Information
Natural Account Synonym with the tradition account and captures Asset, Liability, Income or Expense
Sub Account Captures granular details of the Natural Account

ERP is the importance of the account type - while defining the Natural Account; the Natural Account value must have
only one Account Type. The valid account types are primarily four Asset, Liabilities, Income and Expense and some
packages may include Share Holder Equity as another classification. Defining an account type as Income or Expense
tells to the system that this is a revenue account and the opening balance of this account must be zero at the
beginning of the financial yea.

Account Receivables - Receipt API

Muhammad Rafi Aamiri Madani on Sunday, March 4, 2012

AR_RECEIPT_API_PUB.CREATE_CASH

Use this procedure to create a single cash receipt for payment received in the form of a check or cash.

AR_RECEIPT_API_PUB.APPLY & AR_RECEIPT_API_PUB.APPLY_IN_DETAIL

Use these procedures to apply the cash receipts from a customer to an invoice, debit memo, or other debit item.

AR_RECEIPT_API_PUB.UNAPPLY

Use this procedure to unapply a cash receipt application against a specified installment of a debit item or payment
schedule ID.
AR_RECEIPT_API_PUB.CREATE_AND_APPLY

Use this procedure to create a cash receipt and apply it to a specified installment of a debit item.

AR_RECEIPT_API_PUB.REVERSE

Use this procedure to reverse cash and miscellaneous receipts.

AR_RECEIPT_API_PUB.APPLY_ON_ACCOUNT

Use this procedure to apply a cash receipt on account.

AR_RECEIPT_API_PUB.UNAPPLY_ON_ACCOUNT

Use this procedure to unapply an on-account application of a specified cash receipt.

AR_RECEIPT_API_PUB.ACTIVITY_APPLICATION

Use this procedure to create an activity application on a cash receipt, including Short Term Debit (STD) and Receipt
Write-off applications.

AR_RECEIPT_API_PUB. ACTIVITY_UNAPPLICATION

Use this procedure to create a reversal of an activity application on a cash receipt including Short Term Debt and
Receipt write-off.

AR_RECEIPT_API_PUB.CREATE_MISC

Use this procedure to create a miscellaneous receipt.

AR_RECEIPT_API_PUB.APPLY_OPEN_RECEIPT

Use this procedure to apply a cash receipt to another open receipt. Open receipts include unapplied cash, on-account
cash, and claim investigation applications.

AR_RECEIPT_API_PUB.UNAPPLY_OPEN_RECEIPT

Use this procedure to reverse a payment netting application on a cash receipt.

Posted by Muhammad Rafi Aamiri Madani

Oracle EBS Reporting Tools

Muhammad Rafi Aamiri Madani on Saturday, August 11, 2012


Oracle Reports

Fixed format reports delivered with the 11i release were built on this tool. This is the most used tool for reporting on
Oracle E-Business Suite. Most customizations of available reports are built with this tool. Once customized the output
of the report can be delivered in Excel, Word, Acrobat documents or text format.

Oracle Discoverer

is an intuitive tool for creating reports and performing on-line analysis. Discoverer uses the EUL (End User Layer), a
metadata definition, which hides the complexity of the database from the end user and provides easy to use wizards
for creating reports to suite individual needs. The flexibility of this tool allows the user to create cross tab reports that
perform like pivot tables in Excel.

Oracle XML Publisher

is a new Oracle tool for reporting. It enables users to utilize a familiar desktop tool, like MS Word or MS Excel, to
create and maintain their own report. At runtime, XML Publisher merges the custom templates with the concurrent
request extracts data to generate output in PDF, HTML, RTF and EXCEL.

RXi Report: (Variable reports)

variable format reports delivered with the E-Business 11i. With this tool a user has the ability to print the same report
with multiple layouts. The user can also choose which columns he requires on a particular report. This tool is most
used on Oracle Financials Applications

FSG Reports: (Financial Statement Generator)

is a powerful report building tool for Oracle General Ledger. Some of benefits of using this tool are that a user can
generate financial reports and schedule reports to run automatically. FSG Reports are available for the general ledger
responsibility only and can be used to see key financial account balances.

Business Intelligence: System (BI)

is a set of tools to provide high level information for the managers (decision makers) to run their business such as the
profitability of a particular business unit. The information this tool provides helps managers to take the right decision
with the daily data that is uploaded on their systems.

Posted by Muhammad Rafi Aamiri Madani

Vous aimerez peut-être aussi