Friday 12 January 2018

O2C

Explain Order Management Flow in detail?

Create Sale order > in the Header Level - enter customer name whos should be having both Bill to and Sit to Address> enter Payment Terms> enter the pricing > enter the transaction Type of that sale, then go to Line item and pick the inventoriable (or ono inventoribale item) items from item master from the Sub Inventroy Orginsation, then attach this line to a particular sales man or collection agent.
Save the data, (Line statius is 'Entered') then book the order (shows the line status as “line is awating shippment" (order status will be 'booked' > release the sales order > (Line status will be " Picked") and ship the Materail which eventually show the line status as 'closed'.  This shows the inventroy is credited with inventory Cost and COGS is Debited
The next face is interfacing to AR ( Autoinvoicing Rule) - Customer is Debited and Sales is Credited.

enter the order:
oe-order-headers-all
oe-order-lines-all(flow_status_code = entered)
book the order:
oe_order_headers_all
oe_order_lines_all(flow_status_code = booked)
wsh_new_deliveries(status_code =open)
wsh_delivery_details(releases_status = R 'ready to release)
pick release:
which items on sales order we need to take out from inventory. Normally pick release SRS program run from backend once this over.
oe_order_lines_all (flow_status_code=picked)
wsh_delivery_detalis(release_status = S 'submitted for release)
pick confirm:
items are transfered from salable to staging sub inventory.
mtl_material_transaction
mtl_transaction_accounts
wsh_delivery_details (released_status = Y 'released')
wsh_delivery_assignments
ship confirm:
here ship confirm program run from backend and data removed from wsh_new_deliveries.
oe_order_lines_all (flow_status_code =shipped)
wsh_delivery_details (released_status = shipped)
mtl_transaction_interface
mtl_material_transactions (linked through source_header_id)
data deleted from mtl_demand & mtl_reservations
item deducted from mtl_onhand_quantities.
Enter invoice:
this is also called recivables interface,that mean information moved to accounting area for invoicing details. Invoicing workflow activity transfers shipped item info to recevables.
ra_interface_lines_all
then auto-invoice program imports data from this.
then effected tables : ra_customer_trx_all (trx_number is the invoice number)
ra_customer_trx_lines_all (line_attribute 1 & 6 ) linked to header_id
and lined_id for orders....
complete line:
order line level table get updated with flow status & open flag.
oe_ordr_lines_all ( flow_status_code = shipped & open flag = N)
close order:
once we close the order oe_order_lines_all table get updated with flow_status_code as closed.

MOAC

What is MOAC?

Multi-Org or multiple organization access (MOAC) is basically an ability to access multiple operating units from a single application responsibility.

What are its advantages?

Multi-Org Access Control (MOAC) enables companies that have implemented a Shared Services operating model to efficiently process business transactions by allowing them to access, process and report on data for an unlimited number of operating units within a single applications responsibility.
This increases the productivity of Shared Service Centers, as users no longer have to switch application responsibilities when processing transactions for multiple operating units at a time.
Ability to view data from multiple operating units from a single responsibility, gives users more information. This enables them to make better decisions.
The following SQL will dump out the Security Profiles and Operating Unit Names assigned to them.

SELECT   psp.SECURITY_PROFILE_NAME,
         psp.SECURITY_PROFILE_ID,
         hou.NAME,
         hou.ORGANIZATION_ID
FROM     PER_SECURITY_PROFILES psp,
         PER_SECURITY_ORGANIZATIONS pso,
         HR_OPERATING_UNITS hou
WHERE    pso.SECURITY_PROFILE_ID = psp.SECURITY_PROFILE_ID
         AND pso.ORGANIZATION_ID = hou.ORGANIZATION_ID;

There are three Profile Options you need to be aware of related to Multi-Org that should be set at the Responsibility Level.

MO: Security Profile– Always evaluated first.
MO: Operating Unit– Secondary priority being evaluated after ‘MO: Security Profile’
MO: Default Operating Unit– Sets the default Operating Unit for transactions when running under a Security Profile.

How it is done in R12?

In Release 12, one creates a Security Profile and assigns as many operating units as you required. One can tie that security profile to a single responsibility using a profile option called MO: Security Profile. For example, you could assign the security profile to the EMEA Payables responsibility to allow that responsibility to process invoices across all operating units.

In Release 12, define a security profile in HR using the Security profile form or the Global Security profile form, and assign all of the operating units that one would want a responsibility to access. The one needs to run a concurrent request called “Run Security List Maintenance” from HR which will make those security profile available and allow one to assign them to a responsibility via a profile option called MO: Security Profile.

One can define another profile option called MO: Default Operating Unit which is optional and allows one to specify a default operating unit that will be the default when you open different subledger application forms.

Multi-Org in EBS - Technical Implementation

For ERP applications, data partitioning is performed by database views. These views reside in the APPS Oracle schema and derive the appropriate operating unit context from an RDBMS variable.

All applications code is run against the APPS schema. The Applications database architecture is now the same for a Multiple Organizations and non-Multiple Organizations implementation.

Multi Organization Tables

Multiple Organizations in Oracle Applications is enabled by partitioning some database tables by operating unit. Other tables are shared across operating units (and thus across sets of books).
In general, the following criteria determine if a table would be partitioned:
The table contains a GL Account Code (code combination ID).
There is a business reason for the table to be partitioned (for example, the entity should not be shared).
The table contains transaction data.
The table is an interface table where data being loaded is partitioned.

Applications with Partitioned tables

  • Oracle Cash Management
  • Oracle Order Management and Shipping Execution
  • Oracle Payables
  • Oracle Property Manager
  • Oracle Projects
  • Oracle Purchasing
  • Oracle Release Management
  • Oracle Receivables
  • Oracle Sales Compensation
  • Oracle Sales and Marketing
  • Oracle Service
  • European Localizations
  • Latin America Localizations
  • Regional Localizations


RDBMS Variable

A global variable exists in the Oracle database called CLIENT_INFO, which is 64 bytes long. The first 10 bytes are used to store the operating unit ID (or ORG_ID) for the Multiple Organization Support feature. The CLIENT_INFO context is derived from a profile option that the user sets for each responsibility as part of the Multi-Org setup steps.

Org_id column in the warehouse contains the Operating Unit ID
Organization_id column contains the warehouse / Inventory Org.

select * from <table name>_ALL
where ORG_ID = SUBSTRB(USERENV('CLIENT_INFO'),1,10);