Sunteți pe pagina 1din 36

http://www.oracleappshub.

com/category/beginner/
Beginners Books for Oracle e-Business Suite
Long time back , I got a complementary copy of EBS books from author Roel
Hogendoorn.

These six books, roughly have 175-200 pages each, covering some of key areas of EBS.

• System Administration
• Workflow
• Flexfields
• Alert
• Reporting in E-Business Suite
• BI Publisher

I am so delighted with the content in these BOOK that I thought to share to rest of
community people.

"...Extremely well written book, enjoyable and informative reading!"

Truly an excellent book and definitely a must for EBS beginners. In a world of ERP , this
book actually delivers a lot more than its cost. Roel, has provided an incredibly honest
approach to some of key attributes essential for EBS Implementer.

The webshop for the books is: http://stores.lulu.com/learnworks


Flow ,Discrete & Process
manufacturing in ERP ?

This is a very basic question for ERP consultants , what is basic difference into two
manufacturing operation : discrete manufacturing and process manufacturing . Lets
redefined and understand in simple words:

As we know, in ERP prospective manufacturing operation can be broadly classified into


two major category:

• Flow manufacturing
• Discrete manufacturing
• Process manufacturing

Discrete Manufacturing

Discrete manufacturing is distinguished by the production of distinct items that use bills
of material and routings to determine costs and lead times.

Examples: Automobile manufacturing, computer manufacturing, dishwasher and washing


machine manufacturing, etc .

Typically they follows either a Product, Process or a Combination Layout these layouts
can be understood like:

• Product Layout - Processes come to the product . typical example are Ship
Building, Car Assembly Line, PC's, etc.
• Process Layout - Products go to Process areas Typical Example are Cabinets and
Casings, Sub-assemblies, Rubber Mixing, etc.

Is normally a Product that is "Built Up" from components or sub-assemblies.

A note with Oracle Product


Discrete manufacturing is Oracle Applications method to handle the unique problems in
manufacturing equipment, like electronics, medical devices or a complicated assembly
like the space shuttle as indicated above.

Discrete manufacturing is based on piece parts that are assembled or machined to make
larger assemblies.
Oracle Discrete Manufacturing has a great deal of
functionality to manage the Bills of Materials,
Routings and Engineering changes that are required
to adequately track assembly and cost the finished
product.

Flow Manufacturing
Flow manufacturing is also called Lean
Manufacturing or JIT(Just-In-Time) and uses the
principles of demand flow manufacturing to produce
product is required, for customer orders, quickly and
to meet the demand exactly on-time.

Usually, in order to use Flow a company needs to have production facilities that
subscribe to the principals of Lean Manufacturing. It is necessary to design production
facilities so that production lines, resources, machines, and labor are making only what is
needed for immediate customer orders.

Process Manufacturing

Process manufacturing is distinguished by a production approach that has minimal


interruptions in actual processing in any one production run, or between production runs
of similar products. This approach produces multiple unique products in relatively small
batches flowing through different production operations throughout the factory.

They typically follows a Process Layout.

They are normally producing a Product that is "Homogeneous" and equally


divided for the convenience of packaging.

Typical examples are Food, pharmaceutical and other batched-based manufacturers such
as refineries, wineries, etc .

A Note with Oracle Process Manufacturing


The OPM capabilities allow for multiple units of measure because the flexibility in batch
production is required in process industries.

Process manufacturing is used at companies that make products that use formulas,
receipts and/or have co-products or by products. Typical users of OPM are manufactures
of food products or chemicals that have complex internal processes and need a high level
of control.

The OPM capabilities allow for multiple units of measure because the flexibility in batch
production is required in process industries.

What makes process manufacturing different from discrete?


Process manufacturing uses formulations or recipes. A discrete manufacturer uses Bills of
Materials (BOMs). A discrete manufacturer assembles along a routing, whereas a process
manufacturer blends in a batch.Apart from these other difference with other factors are
summurized as:

Which come under which category ?


Quick note for Supplier in EBS
In Oracle supplier can be entered from three different place.These are the Setup required
to perform for a suppliers.

• Supplier Accounts
• Taxes
• Payments
• Term Date Basis
• Due Date Basis
• Invoice Currency
• Holds

In Oracle these are the important features through the screen:

• Enter Suppliers
• Enter employees as Suppliers
• Merge duplicate Suppliers

Supplier Data Entry

Other Details

• Classification Information (Significant for type and employee name)


• Parent subsidiary relationship
• Supplier bank information
• Appropriate GL accounts information
• Record tax information
• Hold conditions to supplier site (rather than on individual invoices)

and these are the optional field

• Tax payer ID
• VAT registration number
• Inactive date (to prevent invoice/PO entry after a certain date)

Important Table that holds supplier

• PO_VENDORS : this hold a suppliers information

Some important columns:


o SEGMENT1 – SYSTEM GENERATED OR MANUALLY ENTERED
NUMBER FOR SUPPLIER (PO_UNIQUE_IDENTIFIER_CONTROL)
o VENDOR_ID – SYSTEM GENERATED UNIQUE NUMBER
o CREDIT STATUS –GOOD/POOR
o ORGANIZATION_TYPE_LOOKUP_CODE
o VENDOR_TYPE_LOOKUP_CODE – VENDOR/EMPLOYEE
(EMPLOYEE_ID)
o ONE_TIME_FLAG
• PO_VENDOR_SITES_ALL : This hold corresponding site information
Contains Details of the site like Full Address/Work of site
and its link with vendor_id.Important columns includes:
o PURCHASING_SITE_FLAG, VENDOR_SITE_CODE,
RFQ_ONLY_SITE_FLAG,
PAY_SITE_FLAG,HOLD_ALL_PAYMENTS_FLAG,
HOLD_FUTURE_PAYMENTS_FLAG,
HOLD_UNMATCHED_INVOICES_FLAG
• PO_VENDOR_CONTACTS : This hold supplier contact information for
respective sites.

How they connected

These are typically connected as:


Take a note Segment1 is holding suppliers Number.

Quick query for new babies

select * from po_vendors


where segment1 = '1001‘;

select *
from po_vendor_sites pvs,
po_vendors pov
where pov.segment1 = '1001'
and pov.vendor_id = pvs.vendor_id;

select *
from po_vendor_contacts pvc,
po_vendor_sites pvs,
po_vendors pov
where pov.segment1 = '1001'
and pov.vendor_id = pvs.vendor_id
and pvs.VENDOR_SITE_ID = pvc.vendor_site_id;

Supplier Interface

Yes, that was one of the enhancement in oracle 11.5.10 release. Prior to that version,
there was no interface or Public exist for supplliers, thus it was a tricky to handle
supplier. As we have already seen AP availability of AP some time back.

If you are having 11.5.10+ version,and if you have requirement to create supplier from
your legacy data than use Supplier Interface, life will be easier. Is n't.

How we start

This consist in 2 steps process:

Step 1. Populate the new interface tables with data. This can be done via SQL*Loader or
typically used to load data in a table.
• AP_SUPPLIERS_INT
• AP_SUPPLIER_SITES_INT
• AP_SUP_SITE_CONTACT_INT

Step 2. Run the Supplier Open Interface Request Set (FNDRSSUB1703)

Alternatively, run the individual import programs to load one table at a time

• Supplier Open Interface Import (APXSUIMP)


• Supplier Sites Open Interface Import (APXSSIMP)
• Supplier Site Contacts Open Interface Import (APXSCIMP)

Some important notes for suppliers Interface

• When you load the data it should be 'NEW' initially. After the Supplier Sites Open
Interface is run the status gets changed to PROCESSED'/'REJECTED'.

The entire flow can be shown as:

A Note with R12 for Suppliers

As we know in R12 Supplier is part of TCA , thus the link between PO_VENDORS and
HZ_PARTIES is PO_VENDORS.party_id. The link between
PO_VENDOR_SITES_ALL and HZ_PARTY_SITES is
PO_VENDOR_SITES_ALL.party_site_id.

When a Supplier is created Record will be Inserted in HZ_PARTIES. When the Supplier
Site is created Record will be Inserted in HZ_PARTY_SITES. When Address is created
it will be stored in HZ_LOCATIONS.

How to use Descriptive Flex Fields (DFF) in forms


Implementing DFF in Form consist of two steps Process. The first steps consist of
designing the table structure and registration and step 2 consist of enabling in the form.

Steps 1:
• Define DFF fields in the custom tables

ATTRIBUTE1…ATTRIBUTE15 and ATTRIBUTE_CATEGORY are the normal fields


used for DFF

• Register the table with Oracle AOL


• Register the DFF with Oracle AOL

For this you have to login into application with :

Application Developer -> Flex Field -> Descriptive -> Register

Then you should specify the name of the DFF (Say BTL_AR_DFF) and specify the
associated table.

Step 2:

• Create DFF fields in the custom form

1. Create a form based on the custom table

• Copy TEMPLATE form has example descriptive flexfield which we can use
• Use the TEXT_ITEM_DESC_FLEX property class
• Attach ENABLE_LIST_LAMP_LOV for the field

2. Create a non-base table text item in the block with property class
TEXT_ITEM_DESC_FLEX
3. Make sure that DFF is mapped to fields (ATTRIBUTE) of the table and is enabled.

• Next is to call Flexfield Routines to add DFF built-ins in the form to invoke DFF.
o This consist of these steps:

1. Write, a form level trigger WHEN-NEW-FORM-INSTANCE to invoke the DFF


as

FND_DESCR_FLEX.DEFINE(
Block => 'Name of the DFF block',
Field => 'BTL_DFF',
Appl_short_name => 'AR',
Desc_flex_name => 'BTL_AR_DFF',
Title => 'BPL AR More Info' );

2. Write, block level triggers PRE-QUERY and POST-QUERY as

• FND_FLEX.EVENT('PRE-QUERY');
• FND_FLEX.EVENT('POST-QUERY');
• FND_FLEX.EVENT('Pre-Query');
• FND_FLEX.EVENT('When-Validate-Record');
• FND_FLEX.EVENT('Post-Query');
• FND_FLEX.EVENT('When-New-Item-Instance');
• FND_FLEX.EVENT('Pre-Insert');
• FND_FLEX.EVENT('When-Validate-Item');
• FND_FLEX.EVENT('Pre-Update ');

How to use Key Flex Fields (KFF) in forms


These are the steps required to implement KFF in customization.

• Define KFF fields in your database tables.

The custom table should contain a field named as XXX_ID (where XXX means the
entity. For ex. PART_ID, CODE_COMBINATION_ID etc) to capture the selected code
combination ID.

• Register the table with Oracle AOL.


• Register the KFF with Oracle AOL

Logon as

Application Developer -> Flex fields -> Key -> Register


Existing KFF can also be used. Ex. Accounting FF

• Create KFF in the custom form

1. Create a form based on the custom table.

2. In the block, create two non-base table text items of data type CHAR (2000). One text
item is to store the code combinations (Say BTL_KFF ) and other one is to store
description of the code (Say BTL_KFF_DESC. Make this item as non-updateable).

• Add KFF standard built-ins in the form to invoke KFF

The custom table should contain a field named as XXX_ID (where XXX means
the entity. For ex. PART_ID, CODE_COMBINATION_ID etc) to capture the
selected code combination ID.
this is typical registration of KFF. For Customization in custom development here are the
steps:

1. Write a form level trigger WHEN-NEW-FORM-INSTANCE to invoke the KFF


as

Fnd_Key_Flex.Define(
Block => ‘block_name’,
Field => ‘concatenated_segments_field_name’,
[Description => ‘description_field_name’,]
[ID => ‘Unique_ID_field’
Appl_Short_Name => ‘application_short_name’,
Code => ‘key_flexfield_code’,
Num => ‘structure_number’,

In above defination take a note,

• These arguments specify location


• All fields must reside in same block
• ID is for Key Flexfields only
• These arguments indicate which flexfield is being used
• Short name is application where flexfield is registered
• SQLGL is Oracle General Ledger
• SQLAP is Oracle Payables
• Code identifies Key Flexfield
• GL# is Accounting Flexfield
• Num is Key Flexfield structure number. Default is 101

Usage

FND_KEY_FLEX.DEFINE(
block => 'Custom block',
Field => 'BTL_KFF',
Description => 'BTL_KFF_DESC',
ID => 'XXX_ID',
Appl_short_name => 'SQLGL',
Code => 'GL#',
Num => '101',
Vrule => 'GL_GLOBAL\nDETAIL_POSTING_ALLOWED \nE\nAPPL=''SQLGL'';
name=Parent Values are not allowed\nN'
);

2. XXX_ID will store the code combination ID for each selection.

3.Invoke Flexfield functionality by calling FND_Flex.Event(event) from:


• PRE-QUERY
• POST-QUERY
• PRE-INSERT
• PRE-UPDATE
• WHEN-VALIDATE-RECORD
• WHEN-NEW-ITEM-INSTANCE
• WHEN-VALIDATE-ITEM

3. Write an item level trigger WHEN-NEW-ITEM-INSTANCE on BTL_KFF as

FND_FLEX.EVENT('WHEN-NEW-ITEM-INSTANCE')

4. Write an item level trigger KEY-EDIT on BTL_KFF as

FND_FLEX.EVENT('KEY-EDIT');

5. Write an item level trigger WHEN-VALIDATE-ITEM on BTL_KFF as

FND_FLEX.EVENT('WHEN-VALIDATE-ITEM');

IF :CUSTOM_BLOCK.XXX_ID = -1 THEN
FND_MESSAGE.SET_STRING('You Have Selected An Undefined Code
Combination !');
FND_MESSAGE.SHOW;
RAISE FORM_TRIGGER_FAILURE;
END IF;

These steps makes you flexfield enable in your form.

A NOTE FOR FLEX FIELD DEFINATION

Lets take a close scan to understand some of the paramater used in Flex Field
defination.

1. [Validate=> ‘{FOR_INSERT|FULL|PARTIAL|NONE|
PARTIAL_IF_POSSIBLE}’,]

• This is used only for Key FlexFields only


• “For_Insert” used in a block where the code_combinations table is the base
table
• “Full” used where the code_combination_id is a foreign key in the base
table
• “None” when any value is allowed, such a range flexfield for query
purposes
• “Partial” validates segment values but not the full combination
• “Partial_If_Possible” only used when the flexfield has dependent segments

2.[Vdate => ‘date’,]

• Validation date compared to segment value start/end dates

3.[Required=>’[Y|N’,]

• This is applicable only in the case for key flexfields only


• ‘Y’ requires user to enter a valid value for every required segment, even if
the flexfield is never navigated to
• ‘N’ only requires required segments to be entered when the flexfield has
been updated

4.[Displayable => ‘{ALL | flexfield_qualifier | segment_number} [\0{ALL|


flexfield_qualifier|segment_number}]’,]

• Key Flexfields only. Default is “ALL”


• Naming flexfield qualifier or segment number causes only those segments to
appear.
• Toggle this parameter by specifying more than one value separated with \0
• Display all but the first segment by specifying:
• DISPLAYABLE=>’ALL\01’
• Same parameters for Updateable and Insertable

5.[COPY=>’block.field\n{ALL|flexfield qualifier|segment number}


[\0block.field\n{ALL|flexfield qualifier|segment number}]’,]

• Again, key flexfields only.


• Copy a form field value into the segment indicated by flexfield qualifier or
segment number
• Value must be valid for segment or it will be erased
• Copy works in reverse when flexfield pop-up window closes
• Example copies a form global variable into the natural account segment of the
Accounting Flexfield:
• COPY=>’GLOBAL.default_expense_obj\nGL_ACCOUNT’

6.[VRULE => ‘flexfield qualifier\n


segment qualifier\n
{I[nclude] | E[xclude]}\n
APPL=application_short_name;
NAME=Message Dictionary message name\n
Validation value1\n
Validation value2…
[\0flexfield qualifier\n
…
• Key or range flexfields
• Impose additional validation
• ‘\n’ is delimiter between parameters
• ‘\0’ is delimiter between groups of parameters

AOL - Descriptive Flex Field ( Deep Drive)


As we have seen DFF provide customizable expansion space in the form to capture
additional information, which are not provided at present. A DFF describes an application
entity, providing form and database expansion space that can be customized.

Why Descriptive Flex fields

• Customers require more data to be stored than what Oracle provides


• Oracle gave us additional “space” in most tables to store this data
• Descriptive Flexfields will survive an upgrade

Global vs Context Sensitive

• Global Data Elements mean the question will be asked for every occurrence of the
Descriptive Flexfield.
• Context Sensitive Elements are questions asked “depending” on the answer
to some other question. This “other” question can use a Reference field from
above for its answer.

How Segments Use Underlying Columns

• A DFF uses columns that are added onto a database table. The table contains any
columns that its entity requires.
The DFF columns provide ‘blank’ columns that you can use to store
information which is not already stored in another column of that table.
• A DFF requires one column for each possible segment and one additional column
in which to store structure information(i.e. The context value).
• You can define as many segments in a single structures as you have DFF columns
in your table.
The DFF columns are usually named as ATTRIBUTEn, where n is a number.

Implementing Descriptive Flexfileds


For implementing DFF it requires five steps:

• Define DFF columns in your Database table


• Register your table with AOL/ Pl/SQL scripts
• Register Your DFF with Oracle AOL
• Create Your DFF in Your Form
• Add DFF routines to Your Form

Drawbacks of DFF

1. Disk space is wasted.


2. DFF has limited segment for global as well as context-sensitive attribute.
3. No query possible on DFF segment values.

AOL - Key Flex Field ( Deep Drive) - Part -II


In last post he have seen most businesses use codes made up of meaningful segments
(intelligent keys) to identify accounts, part numbers and other business entities. For
example a company might have a part number 'PAD-NR-GRN' indicating a Notepad,
Narrow Ruled and Green. Another might have a different code structure for the same
Notepad, Narrow Ruled and Green as 'GRN-NR-PAD'. Hence KFF provides the
flexibility to define the code structure of any business entity in the customer-desired
format without reprogram the application.

We all know , oracle GL uses a KFF called Accounting flex field to uniquely identity a
GL account. Oracle have customized this KFF to include 6 segments like Company
Code, Cost Center, Product, Product Line and sub account. Valid values are available to
each segment and cross validation rules are provided for segment combinations. This
KFF can be customized depends upon the business needs.
When to use a KFF

• Used to uniquely identify an application entity with an intelligent key, where the
key can be multipart and each part can have some meaning.
• Use KFF that Oracle Applications provides to integrate your applications
seamlessly with Oracle Applications.

What End User’s want there business Perspective

These are the things normally any business user want if implementation team and
management avoiding any customization.

• Customize the Flex fields Appearance


o Flexfield title
o Number and order of segments
o Prompts
o Value sets, values, and value description.
• Use Flexfield Functionality for Validation
o Individual segment validation
o Cross-segment validation
• Customize to the Situation
o Flexfields allow the application to adjust to fit specific business needs.
o Use multiple structures to match different needs in different situations.

The good things is that the above can be easily control and managed from screen, without
any extra(Ordinary) skill

Types of Key Flexfield Forms

In oracle application key Flexfield appears on three different types of application form :

1. Combinations Form
2. Foreign Key Form
3. Range Form

These form types correspond to the types of tables that contains key flexfield data.

Create Key Flexfield Combinations

A combination is a particular complete code or combination of segment values that


makes up the code that uniquely identifies an object. For example, each part number
would be a single combination, and if you had ten parts you would define ten
combinations. A valid combination is simply a combination that may currently be used.
Combinations Table
Each key Flexfield has one
corresponding combinations table,
known as the Combinations table,
where the flexfield stores a list of the
complete codes, with one column for
each segment of the code, together
with the corresponding unique ID
number(a code combination id
number or CCID) for the code. Then
the other tables in the application
have a column that stores just the
unique ID for the code

Foreign Key Form

• Use the flex field code combinations from a form with a foreign key reference to
the combinations table.
• Internally the underlying Table Uses a Foreign Key
• The unique ID primary key column of the combinations table serves as a foreign
key column here.
• Often the foreign key table contains a structure ID column as well. It can be best
represented as figure below,
Range From

• Here table Contains Two Columns For Each Possible Segment


• Often the table contains a structure ID column as well.
• This form does not require actual combinations, and so does not need a foreign
key link to the combinations table.
• Perform operation on ranges of combinations using this form.

Create New Combinations Dynamically

Allow the defination of new flexfield combinations from forms with a foreign key
references, as mention in the following diagram.
Describe The Values In A Segment

• A segment qualifier is like the segment asking each value a question “What
type of value are you?”
o For example, assign an account type of “Expense” to the Account
segment value 3003.
• Uses Segment Qualifiers with the Accounting Flexfield
o Detail Budgeting Allowed.
o Detail Posting Allowed.
o Account Type: Asset, Expense, Liability, Ownership/Stockholde’s
Equity, or Revenue.

Dynamically Insert Allowed

• Set and change this property while defining the flexfield structure on the Define
• Key Flexfield Segments form.
o Sometimes this property is not technically feasible
o If the combinations table includes mandatory columns that can not be
filled by the flexfield.
o Who columns, CCID columns, and enabled/activation date information
can be filled by the flexfield.

This is all about the key flex field. Hopefully it would be good to start with , If you want
to learn more about the concept, please do refer Flexfield user guide. Next will take
another deep drive for DFF.

Know the Calender feature in EBS


You can enter a value directly to a date field or use the calendar facility in APPS.
Calendar lets you the following needs.

• Represent date and time graphically so that you can make a quick selection
without typing.
• Select only those dates or date ranges that are suitable for the current field.

How to invoke a calendar in a form

To invoke a calendar in a custom form you need to do the following.

• Create a text item with data type DATE in the form.


• Set the LOV of the text item to ENABLE_LIST_LAMP in the property sheet.
• Set the LOV for Validation property of the text item to FALSE.
• Create an item level trigger KEY-LISTVAL as CALENDAR.SHOW

Information - Help Menu


For those who are very new to oracle application , you should know the help menu has
some great functionality for diagnostics purpose.

• How to see application version, Form shortname and version of form


(Help) About Oracle application
• (Help)Diagnostics ->Examine
o Pass the apps password and investigate the value for some variable.
• (Help)Diagnostics ->Examine ....Chose
$DESCRIPTIVE_FLEXFIELD$block
• (Help)Diagnostics ->Examine ....Chose $ENVIRONMENT$block
o This has all primary environment variables.
• (Help)Diagnostics ->Examine ....Chose $PROFILE$block
o this shows all profile options given to user who is accessing the
application.
• (Help)Diagnostics ->Examine ....Chose system block...choose LAST_QUERY
field
o This will shows last query used by the form.
• (Help) Diagnostics -> Display Database error
o This shows any database error message.
• (Help) Diagnostics -> Trace(checkbox)
o The options are on and off for forms tracing. Tracing file (.trc) is put into
user dump folder.
Understanding Multi-Organization Structure in EBS -
Part 1
In order to allow use of the system by multiple business units, accommodating differing
requirements for functional currencies, accounting structures and security, whilst at the
same time ensuring a central core design Oracle provides functionality known as
"Multiple Organizations" in short is called " multi-Org".This allows different business
units to have their own view of the applications, in particular for the financials AP
( Payables), AR ( Receivables), FA (Fixed Assets), CE (Case Management) and INV
( Inventory).

Multi-Org is an important feature of Oracle Applications for several reasons:

• Allows multiple sets of books and multiple legal entities to be configured and to
operate in the same instance
• Provides support for data security between business units within a single
applications installation
• Permits users to sell and ship products from different legal entities (in different
sets of books) with automatic intercompany accounting
• Supports internal requisitions and purchasing/receiving products from different
inventory organizations (within the same set of books)
• Enables an enterprise to be housed in one database instance of Oracle, spanning
multiple countries, currencies, and legal entities without a reduction in response
times (architecture-related)
• Multiple Organizations Reporting enhances the reporting capabilities of Oracle
Applications products by allowing you to report at the:Set of Books level, Legal
entity level or Operating unit level
Multiple Organization in Oracle Applications depends primarily on defining your
organizational structure in the multi-level hierarchy used by Oracle Applications. The
levels are:

• Business groups
• Accounting sets of books
• Legal entities
• Operating units]
• Inventory organizations

Business Groups: Oracle Applications secures human resources information, including


organization definition, by business group. At least one Business Group will be required
for every country since the employee legislation is specific for each country and
employee profile is set up at the Business Group level. Security access to the sensitive
Human Resources data is secured at the highest level at the Business Group. In short
Business Group partitions Human Resources information in a multi-organization
structure. Organization Structures and Organization Hierarchy is defined within the
Business Group.

Multiple sets of books can share the same business group if they share the same business
group attributes, including HR flex-field structures (Grade, positions flex-fields etc).

Accounting sets of books: A General Ledger concept for having separate financial
reporting entities for which chart of accounts, calendar, or functional currency differs. In
addition for scalability and ensuring independent numbering system for all the accounting
transactions as well as the ability to open and close each of the legal entities period
independently a separate set of books will be configured for each legal entity.

Legal entities: An organization that represents a legal company for which you prepare
fiscal or tax reports. You assign tax identifiers and other relevant legal company
information to this entity.

Operating units: An organization that partitions and uses data for Payables, Purchasing,
Order Management, Cash Management, Fixed Assets and Receivables. Operating Units
allow for configuration of the Oracle Applications across Multiple Business Groups using
a single installation of the software.

Inventory organizations: An organization that tracks inventory transactions and


balances, and/or that manufactures or distributes products or components. Segregate Item
data objects for Inventory, Purchasing, Order Entry, and the Manufacturing Applications
(Organization_Id).

Examples could be manufacturing plants, warehouses, distribution centers, and sales


offices
The following applications secure information by inventory organization: Oracle
Inventory, Bills of Material, Engineering, Work in Process, Master Scheduling/MRP,
Capacity, and Purchasing receiving functions. To run any of these applications, you must
choose an organization that has been classified as an inventory organization.

HR Organization
Internal Departments to which Employees are Assigned.

Asset Organizations
An asset organization is an organization that allows you to perform asset–related
activities for a specific Oracle Assets corporate depreciation book. Oracle Assets uses
only organizations designated as asset organizations

Search@Epicenter

What is “Order To Cash” in Oracle?


Posted on July 5th, 2007 by Sanjit Anand | Print This Post | Email This Post

Order to cash normally refer to the process in which taking customer


sale order via different sales channel like email, internet, sales person, fax or by some
other means like EDI, and then fulfilling the order, shipping, logistic and then generating
an invoice and collecting payment for that invoice and then receipt. if we consider the
flow ,this can be further categorize into seven sub-process like

• Customer
• Order entry (creation of order /booking of order )
• Order fulfillment
• Distribution
• Invoicing
• Customer payments /Collection
• Receipt

A typical flow can be best represented as:


Posted in Beginner | 12 Comments »

Understand “Drop Shipment” in Order Management?


Posted on July 4th, 2007 by Sanjit Anand | Print This Post | Email This Post

Order Management allows you to enter drop-ship sales orders as well as standard sales
orders.

It means you can receive orders for items that you do not stock or for which you lack
sufficient inventory, and have a supplier provide the items directly to your customer.

The best can be described as:


These are the following activity takes place when you have drop shipment

• Supplier
o Warehouse Item
o Ship order
o Shipment notification
• Order Entry
o Enter customer
o Enter order
o Demand order (optional)
o Cancel order (optional)
o Close order
• Purchasing
o Create and send
Purchase Order
o Enter shipment
notification in system
• Receivables
o Create invoice
o Collection of payment
o Receipt

hence, drop ship order items ship


directly from a supplier to the
customer of the order processing
company. A purchase requisition,
then a purchase order, is generated to
notify the supplier of the requirement.
After the supplier ships the order, it
notifies Purchasing to enter this
information in the Purchasing
module.

What are the advantages of Drop


Shipment Orders?

These are the benefits:

• No inventory is required
• Reduced order fulfillment processing costs
• Reduced flow times
• Elimination of losses on non-sellable goods
• Elimination of packing and shipping costs
• Reduced inventory space requirements
• Reduced shipping time to your customer
• Allows you to offer a variety of products to your customers

How to understand the dataflow for Drop shipment Orders?

To understand, here are the processes divided in sub process and the underline activity is
highlighted here:

Here are the Details as per Mark

1.Order Entry

Here the activity is entering process where oe_order_headers_all (flow_status_code as


entered) oe_order_lines_all . The order is booked as DROP SHIP
2. Order Booking

3. The Purchase Release program passes information about eligible drop-ship order lines
to Oracle Purchasing.The interface table which gets populated is
po_requisitions_interface_all

4. After Purchase Release has completed successfully, run Requisition Import in Oracle
Purchasing to generate purchase requisitions for the processed order lines. The
Requisition Import program reads the table po_requisitions_interface_all validates your
data, derives or defaults additional information and writes an error message for every
validation that fails into the po_interface_errors table.The validated data is then inserted
into the requisition base tables
po_requisition_headers_all,po_requisition_lines_all,po_requisition_distributions_all.The
n use autocreate PO fuctionality to create purchase orders and then perform receipts
against these purchase orders

7. After the goods are successfully received invoices for vendors are created in accounts
payables as in normal purchase orders.

8. Invoices are generated for customers In account receivables.

9. oe_order_lines_all (flow_status_code 'shipped', open_flag "N")

10. oe_order_lines_all (flow_status_code 'closed', open_flag "N")

Hope this is great help to understand the flow.

Posted in Beginner, Oracle Order Management | 22 Comments »

Procurement/Purchase - Requisition take a look


Posted on June 15th, 2007 by Sanjit Anand | Print This Post | Email This Post

Procurement/purchasing is basically buying of goods and services, based on internal


requirements, which will be used as input for the processing of the end product for a
given company.
The input varies from simple stationery or MRO requirement (termed as indirect goods,
as they are not directly involved in production processing) to raw materials (termed as
direct, as they are used for production processing) and services.

How many types of Requisition in PO module we have?

There are two different kind of Requisition

• Internal Requisition
• Purchase requisition
What is an Internal Requisition?

A requisition from the Purchasing system that will directly result in the generation of a
sales order in the Order Management system through the Order Import process in Order
Management.

Why do we use internal requisition/internal sales order?


Internal Requisition/Internal Sales Order provide the mechanism for requesting and
transferring material from one inventory organization to other inventory organization or
expense location.

What is the location in Oracle Purchasing?


Oracle Purchasing uses locations to identify the final delivery location for both inventory
and vendor sourced requisition. It is using the hr_locations table.

What is an Internal customer?


When using Internal Requisition/Internal Sales Orders, it is required to create an internal
customer for each destination organization and a customer ship-to site for each deliver-to
location within the destination organization. Define the same address for your customer
ship-to-site as your deliver-to location.

Then what is Purchase Requisition?

The Purchase Requisition is the procedural method by which different departments of


organization may request the purchase of goods and/or services, which require processing
by Procurement Department.
What is life Cycle of Purchase Requisition?
If you are using i-procurement this consist of 4 distinct sub-processes like:

A Requisition is generated either manually or by system, which is ultimately turned into a


purchase order by the buyer. Sometimes the buyer decides a request for quotation (RFQ)
is required by other suppliers to determine the best price for the goods or services
requested. Once the quote is back, that information is used to finalize the purchase order.
What is flow of Requisition?
A functional flow of Requisition cycle can be represented as

What are the important Tables for Requisition?


These are the main tables:

PO_Requisition_Headers_All : it stores information about requisition headers. Each


row contains the requisition number and Addition relevant information.
REQUISTION_HEADER_ID is primary key.

HR_Employees : it's a view that contains information about employees. You must have
a row for each requestor, requisition preparer, approver , buyer or receiver . The primary
key is EMPLOYEE_ID.
PO_Requisition_Lines_All : This table stores the information about the requisition lines
like quantity , item , deliver to location , requestor etc. Primary Key is
REQUISTION_LINE_ID

MTL_System_Items_B : This is the definition table for items. This table holds the
definitions for inventory items, and purchasing items. The primary key is
INVENTORY_ITEM, ORGANIZATION_ID.

PO_REQ_Distributions_All : This table stores the information about the accounting


distributions associated with each requisition line. Each requisition line must have at least
one accounting distribution. Each row includes the accounting flex field id and
requisition line quantity. The primary key is DISTRIBUTION_ID.

GL_CODE_Combinations: This table stores valid Accounting Flex Field segment value
combinations for each accounting flex field structure within your GL application.
GL_CODE_COMBINATIONS is populated by the system when a new accounting flex
field combination is used, either through dynamic insertion or manually.

This can be best represented as per data model as:

Here are the drill down information for these two driving table:

1. PO_Requisition_Headers_All

• SEGMENT1 - Requisition Number


• AUTHORIZATION_STATUS - Lookup code and can have values
o APPROVED Document has been Approved
o CANCELLED Document has been Cancelled
o IN PROCESS Document is still undergoing Approval
o INCOMPLETE Document is not yet Complete
o PRE-APPROVED Document is Approved but not yet Accepted
o REJECTED Document as been Rejected
o REQUIRES REAPPROVAL Requires Reapproval
o RETURNED Document has been Returned
• REQUISITION_HEADER_ID Unique Requisition ID (PK)

2. PO_Requisition_Lines_ALL
• REQUISITION_LINE_ID Requisition line unique identifier
• REQUISITION_HEADER_ID Requisition header unique identifier
• LINE_NUM Line number
• QUANTITY Quantity of Line item
• LINE_LOCATION_ID Document shipment schedule unique identifier
• UNSPSC_CODE Standard UNSPSC CODE

How we map the Main screen for Requisition with database table.

Posted in Beginner, Oracle Purchasing | 2 Comments »

Understanding Accounting from Techies Mind


Posted on June 8th, 2007 by Sanjit Anand | Print This Post | Email This Post

Indeed, this is one of good area, where most of techies have lot of confusion and illusion
about when accounting comes. Many of consultant came from Technical background and
gradually moved into doing some techno -functional role or pure functional role, thus it is
essestintial to understand the basic accounting and Guided principal .

Normally, there are two basic accounting methods available in the business world:

• Cash
• Accrual

And most of the ERP accounting products weather its SUN system, Oracle financial or
SAP have functionality to capture on the basis of set up.
Then want is the difference:

Cash Basis Accounting


This is what "Based on Realization"

We Most of us use the cash method to keep track of our personal financial activities.

The cash method recognizes revenue when payment is received, and recognizes expenses
when cash is paid out.

For example, our local grocery store's record is based on the cash method. Expenses are
recorded when cash is paid out and revenue is recorded when cash or check deposits are
received

If we summarize, under the cash basis accounting, revenues and expenses are recognized
as follows:

• Revenue recognition: Revenue is recognized when cash is received.


• Expense recognition: Expense is recognized when cash is paid.

Take a note the word "cash" is not meant literally - it also covers payments by check,
credit card, barter, etc.

Moreover it is not standard method in compliance with accountings matching principle.

Accrual Basis Accounting


This is what "Based on Recognition"

The accrual method of accounting requires that revenue be recognized and assigned to
the accounting period in which it is earned. Similarly, expenses must be recognized and
assigned to the accounting period in which they are incurred.

Then the underline question is what is accounting Period, Let explain like this normally a
company tracks the summary of the accounting activity in time intervals, which we
normally called as Accounting periods. These periods are usually a month long. It is also
common for a company to create an annual statement of records. This annual period is
also called a Fiscal or an Accounting Year.

In the accrual method relies on the principle of matching revenues and expenses. This
principle says that the expenses for a period, which are the costs of doing business to earn
income, should be compared to the revenues for the period, which are the income earned
as the result of those expenses. In other words, the expenses for the period should
accurately match up with the costs of producing revenue for the period.
Take a case:
Company is doing a business and they have to pay sales commissions expense, so sales
commissions expense should be reported in the period when the sales were made (and not
reported in the period when the commissions were paid). Similarly, Salary/Wage to
employees are reported as an expense in the week/month when the employees worked
and not in the week/month when the employees are paid. If a company agrees to give its
employees 2-month equivalent salary of its 2006 revenues as a bonus on January 25,
2007, the company should report the bonus as an expense in 2006 and the amount unpaid
at December 31, 2006 as a liability. This is most simple kind of matching principal
normally has.

In general, there are two types of adjustments that need to be made at the end of the
accounting period.

1. The first type of adjustment arises when more expense has been recorded than
was actually incurred or earned during the accounting period.
2. Similarly, there may be revenue that was received but not actually earned during
the accounting period. Also known as Un-earned Revenue.

The accrual method generates tax obligations before the cash has been collected (because
revenue leads to tax and revenue is recognized against receivable and not against receipt
of money).

If we summarize, under the accrual basis accounting, revenues and expenses are
recognized as follows:

• Revenue recognition: Revenue is recognized when both of the following


conditions are met:
o Revenue is earned
 i.e. when products are delivered or services are provided.
o Revenue is realized or realizable.
 i.e. either cash is received or it is reasonable to expect that cash
will be received in the future.
• Expense recognition: Expense is recognized in the period in which related
revenue is recognized (Matching Principle).

Timing differences in recognizing revenues and expenses


Various accounting books did mention four potential timing differences in recognizing
revenues and expenses between these of two. Just to recap of those:

a. Accrued Revenue: Revenue is recognized before cash is received.


b. Accrued Expense: Expense is recognized before cash is paid.
c. Deferred Revenue: Revenue is recognized after cash is received.
d. Deferred Expense: Expense is recognized after cash is paid.

Compare with a Case to explain these two methods


Your company purchase a new Laptop on credit in May 2007 and pay $1,500 for it in
July 2007, two months later.

Under the both case see how this makes a difference:

• Using the cash method accounting, you would record a $1,500 payment for the
month of July, the month when the money is actually paid.
• Under the accrual method, you would record the $1,500 payment in May, when
you take the Laptop and become obligated to pay for it.

Pros and cons of these Two accounting method


Maintence: The cash method is easier to maintain because you don't record income until
you receive the cash, and you don't record an expense until the cash is paid, where as in
the accrual method, you will typically record more transactions.

Cash-basis accounting defers all credit transactions to a later date. It is more conservative
for the seller in that it does not record revenue until cash receipt. In a growing company,
this results in a lower income compared to accrual-basis accounting.

Do you what is meant by GAAP?


No, I don't know, but knows most of ERP follows these. Lets explain this way:
The word"generally accepted accounting principles" (or "GAAP") consists of three
important sets of rules:
(1) The basic accounting principles and guidelines,
(2) The detailed rules and standards issued by FASB(Financial Accounting Standards
Board and its predecessor the Accounting Principles Board (APB)
(3) The generally accepted industry practices.

Normally Standard GAAP will have various guided Principal, such as

• Economic Entity Assumption


• Time Period Assumption
• Cost Principle
• Matching Principle
• Revenue Recognition Principle

Will take a seprate case of some of them to understand in better way.

If you want to know more about GAAP, weather US-GAAP, UK-GAAP , refer wikipedia

ERP/Oracle Financials
Oracle Financials have been developed to meet GAAP requirements as well as the special
needs of different countries. For example, in Oracle Payables you can choose whether to
record journal entries for invoices and payments on an accrual basis, a cash basis, or a
combined basis where accrual journal entries are posted to one set of books and cash
basis journal entries are sent to a second set of books.
Will continue with some additional accounting stuff, keep reading and commenting.

S-ar putea să vă placă și