57
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 HZ_PARTY_SITES Master table for supplier sites along with AP_SUPPLIER_SITES_ALL instead of PO_VENDORS_SITES_ALL HZ_LOCATIONS Contains the party sites information HZ_PARTY_USG_ASSIGNMENTS Stores party usages HZ_ORGANIZATION_PROFILES Captures additional Supplier information, e.g. credit scoring details of Supplier or the Number of Employees working in Supplier Organization IBY_EXTERNAL_PAYEES_ALL Captures Payment related details of the Supplier POS_SUPPLIER_MAPPINGS It holds the mapping between the AP_SUPPLIERS.VENDOR_ID and HZ_PARTIES.PARTY_ID This is useful in cases whereby two vendors effectively belong the same HZ_Party Record.

AP Suppliers in R12

Embed Size (px)

DESCRIPTION

AP Suppliers in R12

Citation preview

Page 1: AP Suppliers in R12

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 DESCRIPTIONHZ_PARTIES Master table along with AP_SUPPLIERS instead of PO_VENDORS

HZ_PARTY_SITES Master table for supplier sites along with AP_SUPPLIER_SITES_ALL instead of PO_VENDORS_SITES_ALL

HZ_LOCATIONS Contains the party sites informationHZ_PARTY_USG_ASSIGNMENTS Stores party usages

HZ_ORGANIZATION_PROFILES Captures additional Supplier information, e.g. credit scoring details of Supplier or the Number of Employees working in Supplier Organization

IBY_EXTERNAL_PAYEES_ALL Captures Payment related details of the Supplier

POS_SUPPLIER_MAPPINGS It holds the mapping between the AP_SUPPLIERS.VENDOR_ID and 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.

Page 2: AP Suppliers in R12

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.

Page 3: AP Suppliers in R12

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:

Page 4: AP Suppliers in R12

• 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

Page 5: AP Suppliers in R12

� 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

Page 6: AP Suppliers in R12

� 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 messagesFND_MESSAGE.DEBUG Immediately displays the string passed to it as input parameterFND_MESSAGE.ERASE Clears the oracle Forms status lineFND_MESSAGE.ERROR Displays an error message in an Oracle Forms modal window or a concurrent

program log file. (Example: "Invalid value entered."). 

Page 7: AP Suppliers in R12

It takes its message from the stack, displays the message, and then clears all the messages from the message stack

FND_MESSAGE.GET

Retrieves a translated and token–substituted message from the message stack and then clears that message from the message stack. This could be used for getting a translated message for a forms built–in 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

FND_MESSAGE.HINTDisplays 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 stack. The user may still need to acknowledge the message if another message immediately comes onto the message line

FND_MESSAGE.QUESTION

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

FND_MESSAGE.RETRIEVE Retrieves a message from the database server, translates and substitutes tokens, and sets the message on the message stack

FND_MESSAGE.SET_NAMERetrieves your message from Message Dictionary and sets it on the message stack. You call it once for each message you use in your client–side PL/SQL procedure. You must call this procedure before you call FND_MESSAGE.SET_TOKEN

FND_MESSAGE.SET_STRINGTakes an input string and sets it directly on the message stack. The string does 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

FND_MESSAGE.SET_TOKEN

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 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.)

FND_MESSAGE.SHOWDisplays an informational message in an Oracle Forms modal window or a concurrent program log file. (Example: "To complete this function, please enter the following... "). It takes its message from the stack, displays the message, and then clears only that message from the message stack

FND_MESSAGE.WARN

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

Page 8: AP Suppliers in R12

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)

Page 9: AP Suppliers in R12

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

Page 10: AP Suppliers in R12

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

Page 11: AP Suppliers in R12

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 

Page 12: AP Suppliers in R12

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.

Page 13: AP Suppliers in R12

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

Page 14: AP Suppliers in R12

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

Page 15: AP Suppliers in R12

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.

Page 16: AP Suppliers in R12

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

Page 17: AP Suppliers in R12

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

Page 18: AP Suppliers in R12

…..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

Page 19: AP Suppliers in R12

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 REFERENCE21–REFERENCE30.

When you transfer in Details

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

Purchase InvoicesRecords 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

Page 20: AP Suppliers in R12

Reference23: distribution line number

Reference25: invoice number

Reference26: AP Invoices

Reference27: set of books ID

Reference30: type of account charged: Liability or Expense

PaymentsRecords 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 PaymentsRecords 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.

Page 21: AP Suppliers in R12

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

Page 22: AP Suppliers in R12

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

Page 23: AP Suppliers in R12

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

Page 24: AP Suppliers in R12

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.

Page 25: AP Suppliers in R12

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;

Page 26: AP Suppliers in R12

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

Page 27: AP Suppliers in R12

      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 

Page 28: AP Suppliers in R12

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

Page 29: AP Suppliers in R12

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.

Page 30: AP Suppliers in R12

Tech  Stack  ComponentsDB_TIER

10.2.0.2 RDBMS ORACLE_HOME

APPL-TIER

10.1.2 C ORACLE_HOME / FORMS ORACLE_HOME (8.0.6 ORACLE HOME equivalence)

10.1.3 Java ORACLE_HOME/OC4J 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

Page 31: AP Suppliers in R12

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 10.1.2 AS. 10.1.3 AS release doesn’t 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 TOPInstance 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

Page 32: AP Suppliers in R12

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 OC4J

/pids                : Apache/Forms server PID files here

/portal              : Apache’s 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

Page 33: AP Suppliers in R12

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.

ServiceA 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 ServicesThe 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 NodeA 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 NodeA 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.

Page 34: AP Suppliers in R12

Shared Application Tier File System ArchitectureIn 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 LayoutWhen 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 node’s

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

Page 35: AP Suppliers in R12

“/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_node2 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_node1″ and

“/ebiz/oracle/inst/apps/VIS_appl_node2″ 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_FAILUREWhen 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

Page 36: AP Suppliers in R12

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.MESSAGEThis 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.REFERENCEBecause 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

Page 37: AP Suppliers in R12

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 EntryThis is first stage, When the order is entered in the system, it basically creates a record in order headers and Order

Page 38: AP Suppliers in R12

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 BookingThis 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

ReservationThis 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 ReleaseIdeally 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 ConfirmItems are transferred from saleble to staging Subinventory.

mtl_material_transactions

mtl_transaction_accounts

wsh_delivery_details (released_status ‘Y’‘Released’ )

wsh_delivery_assignments

Ship ConfirmHere ship confirm interface program runs in background . Data removed from wsh_new_deliveries

Page 39: AP Suppliers in R12

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 InvoiceThis 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 LineIn 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 OrderThis 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

Page 40: AP Suppliers in R12

• 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_PARTIESA 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_LOCATIONSA 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

Page 41: AP Suppliers in R12

This table links a party (HZ_PARTIES) and a location (HZ_LOCATIONS) and stores location-Specific party

information such as a person’s 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_RELATIONSHIPSThis 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_PROFILESThis 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_PROFILESThis 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 person’s name.

• Some information in this table may also be entered into the HZ_PARTIES table.

HZ_ORG_CONTACTSThis 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_ACCOUNTSThis 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_ALLThis table stores information about customer/financial account sites information.

Page 42: AP Suppliers in R12

Stores information about customer sites. One customer account can have multiple sites.

HZ_CUST_SITE_USES_ALLThis 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_ROLESThis 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_POINTSThis 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_ALLThis 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_ALLThis 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_ALLThis 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_ALLThis table stores information about each transaction type for all classes of transactions, for example, invoices,

Page 43: AP Suppliers in R12

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_ALLThis table is a Bills Receivable-specific table containing the history of a transaction’s 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_ALLThis table stores the accounting distributions for cash receipts, miscellaneous receipts, adjustments, credit memo

applications, cash receipt applications, and bills receivable transactions.

AR_CASH_RECEIPTS_ALLThis 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_ALLThis 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_ALLThis 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_ALLThis 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_CLASSESThis 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

Page 44: AP Suppliers in R12

whether the receipts go through the different steps in a receipt’s life-cycle.

AR_RECEIPT_METHODSThis 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_ALLThis 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.

Page 45: AP Suppliers in R12

  

SELECT    frg.request_group_name,    frg.description,    cp.concurrent_program_id,    cp.concurrent_program_name,    cpt.user_concurrent_program_name,    frv.responsibility_nameFROM    fnd_request_groups              frg,    fnd_request_group_units       frgu,    fnd_concurrent_programs      cp,    fnd_concurrent_programs_tl   cpt,    fnd_responsibility_vl              frvWHERE           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

Page 46: AP Suppliers in R12

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 Purchase Order

Planned Purchase Order

Blanket Purchase Agreement

Contract Purchase 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

Page 47: AP Suppliers in R12

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 NULLPROGRAM Short name of the concurrent programPHASE  Request phaseSTATUS Request StatusDEV_PHASE  Request phase as a string constantDEV_STATUS Request status as a string constantMESSAGE Request completion message

Page 48: AP Suppliers in R12

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 NULLINTERVAL 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 secondsPHASE  Request phaseSTATUS Request StatusDEV_PHASE  Request phase as a string constantDEV_STATUS Request status as a string constantMESSAGE Request completion message

USEFUL APIs

FND_CONCURRENT.SET_COMPLETION_STATUS Called from a concurrent request to set its completion status and messageFND_CONCURRENT.GET_REQUEST_PRINT_OPTIONS Returns the print options for a concurrent requestFND_CONCURRENT.GET_SUB_REQUESTS Get all sub-requests for a given request id. For each sub-request it provides request_id,

phase,status, developer phase , developer status and completion textFND_CONCURRENT.CANCEL_REQUEST It cancels a given Concurrent RequestFND_CONCURRENT.AF_ROLLBACK It is used by a concurrent program that use a particular rollback segment and has no

arguments.

Page 49: AP Suppliers in R12

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.

Page 50: AP Suppliers in R12

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

Page 51: AP Suppliers in R12

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