45
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

Beginners Books for Oracle e-Business Suite

  • Upload
    smrane

  • View
    1.125

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Beginners Books for Oracle e-Business Suite

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

Page 2: Beginners Books for Oracle e-Business Suite

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

Page 3: Beginners Books for Oracle e-Business Suite

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 ManufacturingFlow 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 ManufacturingThe 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?

Page 4: Beginners Books for Oracle e-Business Suite

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 ?

Page 5: Beginners Books for Oracle e-Business Suite

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

Page 6: Beginners Books for Oracle e-Business Suite

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

Page 7: Beginners Books for Oracle e-Business Suite

Take a note Segment1 is holding suppliers Number.

Quick query for new babies

select * from po_vendorswhere segment1 = '1001‘;

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

select *from po_vendor_contacts pvc,po_vendor_sites pvs,po_vendors povwhere pov.segment1 = '1001'and pov.vendor_id = pvs.vendor_idand 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.

Page 8: Beginners Books for Oracle e-Business Suite

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

Page 9: Beginners Books for Oracle e-Business Suite

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_FLEX3. 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');

Page 10: Beginners Books for Oracle e-Business Suite

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

Page 11: Beginners Books for Oracle e-Business Suite

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:

Page 12: Beginners Books for Oracle e-Business Suite

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

Page 13: Beginners Books for Oracle e-Business Suite

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\nsegment qualifier\n{I[nclude] | E[xclude]}\nAPPL=application_short_name;NAME=Message Dictionary message name\nValidation value1\nValidation value2…[\0flexfield qualifier\n…

Key or range flexfields

Page 14: Beginners Books for Oracle e-Business Suite

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.

Page 15: Beginners Books for Oracle e-Business Suite

The DFF columns are usually named as ATTRIBUTEn, where n is a number.

Implementing Descriptive FlexfiledsFor 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.

Page 16: Beginners Books for Oracle e-Business Suite

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.

Page 17: Beginners Books for Oracle e-Business Suite

Combinations TableEach 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,

Page 18: Beginners Books for Oracle e-Business Suite

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.

Page 19: Beginners Books for Oracle e-Business Suite

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

Page 20: Beginners Books for Oracle e-Business Suite

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.

Page 21: Beginners Books for Oracle e-Business Suite

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

 

Page 22: Beginners Books for Oracle e-Business Suite

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

Page 23: Beginners Books for Oracle e-Business Suite

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 OrganizationInternal Departments to which Employees are Assigned.

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

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:

Page 24: Beginners Books for Oracle e-Business Suite

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:

Page 25: Beginners Books for Oracle e-Business Suite

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

Page 26: Beginners Books for Oracle e-Business Suite

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

Page 27: Beginners Books for Oracle e-Business Suite

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 ispo_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.Then 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

Page 28: Beginners Books for Oracle e-Business Suite

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.

Page 29: Beginners Books for Oracle e-Business Suite

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.

Page 30: Beginners Books for Oracle e-Business Suite

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.

Page 31: Beginners Books for Oracle e-Business Suite

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

Page 32: Beginners Books for Oracle e-Business Suite

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.

Page 33: Beginners Books for Oracle e-Business Suite

Then want is the difference:

Cash Basis AccountingThis 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 AccountingThis 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.

Page 34: Beginners Books for Oracle e-Business Suite

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

Page 35: Beginners Books for Oracle e-Business Suite

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 methodMaintence: 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 FinancialsOracle 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.

Page 36: Beginners Books for Oracle e-Business Suite

Will continue with some additional accounting stuff, keep reading and commenting.