You are on page 1of 4

Order to Cash - Technical Flow in R12

1. Order Entry
Step 1 Enter header detail, Once after entering the header details on the order header
tab , click on the save button or move to lines tab. The order header gets saved and a
record will insert into OE_ORDER_HEADERS_ALL with FLOW_STATUS_CODE as ENTERED
, OPEN_FLAG as Y and BOOKED_FLAG as N . Header is the primary key in
OE_ORDER_HEADERS_ALL
In the Lines tab of the order Enter item name / number, quantity and other details in
line tab. Click on the Save button. After saving the line, the line data get inserts into
OE_ORDER_LINES_ALL with FLOW_STATUS_CODE = ENTERED, BOOKED_FLAG =
N, OPEN_FLAG = Y and also records will be inserted into OE_SETS with ship set details
of the order.
Primary key is the LINE_ID in OE_ORDER_LINES_ALL and the HEADER_ID is the join
between OE_ORDER_HEADERS_ALL and OE_ORDER_LINES_ALL.
SHIP_SET_ID is the join between OE_ORDER_LINES_ALL(SHIP_SET_ID) and
OE_SETS(SET_ID).
SET_ID is the primary column in OE_SETS.
2.Order Booking
Step 2 , when Order is booked then the Flow status changed from Entered to Booked. At
this stage, these below table are updated.

BRINDARANI.S

23-Dec-13

OE_ORDER_HEADERS_ALL (FLOW_STATUS_CODE =
BOOKED, BOOKED_FLAG updated to Y)
OE_ORDER_LINES_ALL (FLOW_STATUS_CODE as
AWAITING_SHIPPING, BOOKED_FLAG updated Y)
WSH_DELIVERY_DETAILS (DELIVERY_DETAIL_ID is assigned
here, RELEASED_STATUS R ready to release, LINE_ID comes as SOURCE_LINE_ID)
WSH_DELIVERY_ASSIGNMENTS (DELIVERY_ASSIGNMENT_ID is assigned for
DELIVERY_DETAIL_ID present in WSH_DELIVERY_DETAILS, DELIVERY_ID remains blank
till this stage)
*In shipping transaction form order status remains "Ready to Release".
At the same time, Demand interface program runs in background And insert into
inventory tables MTL_DEMAND, here LINE_ID come as a reference in
DEMAND_SOURCE_LINE
3. Reservation
This step is required for doing reservations SCHEDULE ORDER PROGRAM runs in the
background and quantities are reserved. Once this program get successfully get
completed, the MTL_DEMAND and MTL_RESERVATIONS table get updated. LINE_ID gets
updated in DEMAND_SOURCE_LINE_ID in both the tables.
4. Pick Release
Pick Release is the process of putting reservation on on-hand quantity available in the
inventory and pick them for particular sales order.
Pick release can be done from 'Release Sales Order' form or 'Pick release SRS' program
can be scheduled in background. In both of these cases all lines of the order gets pick
released depending on the Picking rule used. If specific line/s needs to be pick release it
can be done from 'Shipping Transaction form. For this case Pick Release is done from
'Release Sales Order' form with Pick Confirm=NO.
Once pick release is done these are the tables get affected:
If step 3 is not done then MTL_RESERVATIONS gets updated now.
WSH_NEW_DELIVERIES (one record gets inserted with SOURCE_HEADER_ID= order
header ID, STATUS_CODE=OP =>open)
WSH_DELIVERY_ASSIGNMENTS (DELIVERY_ID gets assigned which comes
from WSH_NEW_DELIVERIES)
WSH_DELIVERY_DETAILS (RELEASED_STATUS S submitted for release)
MTL_TXN_REQUEST_HEADERS
MTL_TXN_REQUEST_LINES (LINE_ID goes as TXN_SOURCE_LINE_ID)
(move order tables. Here request is generated to move item from Source (RM or FG)
sub-inventory to staging sub-inventory)
MTL_MATERIAL_TRANSACTIONS_TEMP (link to above tables
through MOVE_ORDER_HEADER_ID/LINE_ID, this table holds the record temporally)
MTL_SERIAL_NUMBERS_TEMP (if item is serial controlled at receipt then record goes
in this table)
MTL_SERIAL_NUMBERS (enter value in GROUP_MARK_ID )
*In shipping transaction form order status remains "Released to Warehouse" and all the
material still remains in source sub-inventory. We need to do Move Order Transaction for
this order. Till this no material transaction has been posted to
MTL_MATERIAL_TRANSACTIONS
5.Pick Confirm/ Move Order Transaction
Items are transferred from source sub-inventory to staging Sub-inventory. Here material
transaction occurs.
Order line status becomes 'Picked' on Sales Order and 'Staged/Pick Confirmed' on
Shipping Transaction Form.

BRINDARANI.S

23-Dec-13

MTL_MATERIAL_TRANSACTIONS_TEMP (Record gets deleted from here and gets


posted to MTL_MATERIAL_TRANSACTIONS)
OE_ORDER_LINES_ALL (FLOW_STATUS_CODE PICKED )
MTL_MATERIAL_TRANSACTIONS (LINE_ID goes as TRX_SOURCE_LINE_ID)
MTL_TRANSACTION_ACCOUNTS
WSH_DELIVERY_DETAILS (RELEASED_STATUS becomes Y => Released )
WSH_DELIVERY_ASSIGNMENTS
MTL_ONHAND_QUANTITIES
MTL_SERIAL_NUMBERS_TEMP (record gets inserted after putting details for the item
which are serial controlled at 'Sales order issue')
MTL_SERIAL_NUMBERS (record gets inserted after putting details for the item which
are serial controlled at 'Sales order issue')
* This step can be eliminated if we set Pick Confirm=YES at the time of Pick Release
6.Ship Confirm

Here ship confirm interface program runs in background. Data removed


from WSH_NEW_DELIVERIES.
The items on the delivery gets shipped to customer at this stage.
OE_ORDER_LINES_ALL (FLOW_STATUS_CODE shipped)
WSH_DELIVERY_DETAILS (RELEASED_STATUS C Shipped, SERIAL_NUMBER if
quantity is ONE)
WSH_SERIAL_NUMBERS (records gets inserted with the DELIVERY_DETAIL_ID
reference, only in case of shipped quantity is two or more)
MTL_TRANSACTION_INTERFACE
MTL_MATERIAL_TRANSACTIONS (linked through Transaction source header id)
MTL_TRANSACTION_ACCOUNTS
Data deleted from MTL_DEMAND, MTL_RESERVATIONS
Item deducted from MTL_ONHAND_QUANTITIES
MTL_SERIAL_NUMBERS_TEMP (records gets deleted from this table)
MTL_SERIAL_NUMBERS (Serial number stauts gets updated CURRENT_STATUS=4 ,
'Issued out of store')
7.Enter Invoice
After shipping the order lines is eligible for Invoice. The Workflow background engine
picks the Invoice eligible records and post it to the below interface tables.
RA_INTERFACE_LINES_ALL
RA_INTERFACE_SALESCREDITS_ALL
RA_INTERFACE_DISTRIBUTIONS_ALL
RA_INTERFACE_LINES_ALL -- Sale order and order line information.
RA_INTERFACE_SALESCREDITS_ALL --This table contains all sales credit information for
the sales order
RA_INTERFACE_DISTRIBUTIONS_ALL --This table contains accounting distributions to be
used by the transactions defined in RA_INTERFACE_LINES_ALL.
Then Autoinvoice concurrent program imports data from the above interface tables to
the RA_CUSTOMER_TRX_ALL
TRX_NUMBER is the invoice number
CUST_TRX_ID is the key to link to TRX_LINES table
IN RA_CUSTOMER_TRX_LINES_ALL
LINE_ATTRIBUTE_1 stores the order number

BRINDARANI.S

23-Dec-13

LINE_ATTRIBUTE_6 stores teh LINE_ID of the order


8.Complete Line
After pushing the data to AR interface tables the workflow back ground engine updates
the lines flow status and the open flag
OE_ORDER_LINES_ALL (FLOW_STATUS_CODE CLOSED, OPEN_FLAG N)
9.Close Order
Once all the lines of the sales order is closed then at the last day of the month the
workflow back ground engine update the flow status code of the order to Closed and
open flag to N.

BRINDARANI.S

23-Dec-13

You might also like