*******************************ORDER MANAGEMENT(USEFUL INFORMATION************************************
Order to Cash (O2C) Cycle
Order to Cash means Customer’s Order Placing to Vendor’s Cash Receiving.
When your final product is ready to be sold, you market it. The
customer gets fascinated with the marketing campaign and decides to buy
your product and from here starts the O2C cycle.
Step 1] Order Entry:
Customer sends details of order or sales dept brings order from
customers. After that the order is entered in Order Management (OM)
Navigation: Order Management Super User> Orders Returns >Sales Orders
Here we need to enter the Customer Details (Customer Name , Number,
Contact Ship to and Bill to address etc.), Order type. In the Lines tab
we need to enter the Item to be ordered and the quantity required. Here
we can also check the availability of the order. Here we can save the
order. Once saved the Order Status is changed to ‘Entered’.
Key Tables:
* OE_ORDER_HEADERS_ALL – All header information is stored here.
* OE_ORDER_LINES_ALL – All the line information is stored here.
Step 2] Order Book :
When we book the order, we are just confirming and freezing our order.
The final step in the Sales Order Entry process is to Book the order.
This signifies that the Order Entry process is complete and that the
order is eligible for the next stage in the line flow for this order, as
defined by its Transaction Type. Select the Book Order button. The
Entry Status of the Order will change to Booked.
After Order Booking:
Order Header: Booked
Order Line : Awaiting Shipping
Shipping Transaction form: Ready to release
Table Level :
* OE_ORDER_HEADERS_ALL : Flow_Status_code –Booked
* OE_ORDER_LINES_ALL : Flow_Status_code – Awaiting Shipping
* WSH_DELIVERY_DETAILS : Released_Status – R ( means – Ready to release)
Step 3] Launch Pick Release :
Pick Release is the process in which the items on the sales order are taken out from inventory.
Navigation: Order Management Super User> Shipping > Release sales Orders > Release sales order
Based On rule: Select the Grouping rule the reaming details will default in Order, Shipping and Inventory tab
Order Tab:
* Order Number: Select the Order Number. Values for the Order Type
and Customer fields of this form default to those for the order number
you enter here.
* Ship Set: Select the Ship Set to be released. The Order Number must be selected first.
Shipping Tab:
* Auto creates Deliveries : Select Yes in this box to automatically
create deliveries for delivery lines once they are released
* Release Sequence Rule: Select Rule to specify the order in which the picking lines are released.
* Auto Pick Confirm –Yes/No
Inventory tab:
* Warehouse: Select the Warehouse
* Sub inventory: Select the Sub inventory
* Pick Slip Grouping Rule: To determine how released picking lines are grouped onto pick slips.
* Default Stage Sub inventory: Select the Default Stage Sub inventory
Click on Execute Now Button to complete the pick release of the order.
Normally pick release SRS program runs in background . Once the program
get completed these are the table get affected:
* OE_ORDER_LINES_ALL (flow_status_code ‘PICKED’ )
* WSH_DELIVERY_DETAILS (released_status ‘S’ ‘submitted for release’ )
* mtl_txn_request_headers
* mtl_txn_request_lines
* Mtl_material_transactions_temp (link to above tables through move_order_header_id/line_id
Step 4] Pick Confirm the Order:
If Auto Pick Confirm in the above step is set to NO, then the following should be done.
Navigation: Inventory Super User > Move Order> Transact Move Order
In the HEADER tab, enter the BATCH NUMBER (from the above step) of the
order. Click FIND. Click on VIEW/UPDATE Allocation, then Click TRANSACT
button. Then Transact button will be deactivated then just close it and
go to next step.
* Items are transferred from salable to staging Sub inventory.
* mtl_material_transactions
* mtl_transaction_accounts
* wsh_delivery_details (released_status ‘Y’ ‘Released’ )
* wsh_delivery_assignments
Step 5] Ship Confirm the Order:
The Shipping Transaction window provides a centralized workbench that
consolidates three major shipping functions: planning, pick releasing,
and ship confirming.
Navigation: Order Management Super User>Shipping >Transactions.
Here ship confirm interface program runs in background . Data are removed from wsh_new_deliveries.
* oe_order_lines_all (flow_status_code ‘shipped’)
* wsh_delivery_details (released_status ‘C’ ‘Shipped’)
* mtl_transaction_interface
* mtl_material_transactions(linked through Transaction source header id)
* mtl_transaction_accounts
Data are deleted from mtl_demand, mtl_reservations and Item is deducted from mtl_onhand_quantities.
Step 6] Enter Invoices in Receivables:
Run workflow background Process. Workflow Background Process inserts the records in RA_INTERFACE_LINES_ALL with
* INTERFACE_LINE_CONTEXT = ’ORDER ENTRY’
* INTERFACE_LINE_ATTRIBUTE1 = Order_number
* INTERFACE_LINE_ATTRIBUTE3 = Delivery_id
Then it spawns Auto invoice Master Program and Auto invoice import program which creates Invoice for that particular Order.
Navigation: Order Management >view >Requests
Underlying tables:
* RA_CUSTOMER_TRX_ALL will have the Invoice header information. The
column INTERFACE_HEADER_ATTRIBUTE1 will have the Order Number.
* RA_CUSTOMER_TRX_LINES_ALL will have the Invoice lines information.
The column INTERFACE_LINE_ATTRIBUTE1 will have the Order Number.
Step 7] COMPLETE LINE:
In this stage order line level table get updated with Flow status and open flag .
* oe_order_lines_all (flow_status_code ‘shipped’, open_flag “N”)
Step 8] CLOSE ORDER:
This is last step of Order Processing . In this stage only oe_order_lines_all table get updated .
* oe_order_lines_all (flow_status_code ‘closed’, open_flag “N”)
Read more: http://prasanthapps.blogspot.com/2011/04/order-to-cash-o2c-cycle.html#ixzz1RPQIaTS0
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ORDER MANAGEMENT(USEFUL INFORMATION)
-- ORDER MANAGEMENT
Order Management is all about entering, booking,fulfilling the customer orders.
It is the customer orders. Typically an order consists of a Order header and
order lines,with each line corresponding to an inventory item.
To create the order lines, we need an inventory item. let us choose a
standard item, ie. item with BOM type Standard. Now we should also
choose item corresponding to the org_id that we are in. Hence to find
such an item, go to the Oracle inventory and choose the menu item
Organization Item , choose your organization and a pick a particular item.
(Your organization is decided by what you mention in the warehouse field
at the order header level. If you do not mention any value for the
warehouse field, then all the items corresponding to all the org's, can
be chosen in the line items).
Once you choose a particular item, navigate to the order management tab,
and make sure it is customer orderable, shippable i.e these check boxes
are enabled.
Also make sure this particular inventory item, is part of the price list
that you mentioned at the ordered header. If it is not, then you can always
include this item in that price list.*/
-- ORDER ENTRY
*****************
Make sure these profiles are set to null
TAX: Allow Override Of Of Customer Exemptions
OM: Invoice Transaction Type
OM: Credit Memo Transaction Type
This will allow us to enter the tax handling flag to 'Standard'
Also Make sure that the profile option 'Sequential Numbering' is set to
Always Used. Otherwise you may not be able to create an order online. Use
the following query for that.
In Oracle Applications we can create a sequence corresponding to a
specific application (like AP,AR, ONT etc) in the "document sequences"
screen (using system administrator responsibility)
(setup= > documents => define)
and assign that sequence to a specific order type in the
"Sequence Assignments" form.
(setup= > documents => assign).
Once this is done, Oracle OM, will be able to create sequential order
numbers for the order we create.
/*
While creating the order we mention the order type as "Standard - US" .
If we look at the setup, transaction types form we find that this order type
is associated with a particular workflow that you have created using the
Oracle workflow builder. When we create a transaction type in the setup,
the data in the backend goes to
select * from oe_transaction_types_all
/* For any particular order that we are creating, we can see the workflow
nodes by looking at the
Tools=>Workflow status
and see what is the path for this particular order.
As an ex, we can have workflows defined such as OMShiponly, OMInvoiceOnly etc.
In the case of OMShipOonly, if you look at the workflow, we will find
that there will not be any steps beyond shipping. That is, there is no
invoice interface step in that flow.
In the case of OMInvoiceOnly, if you look at the workflow, we will find
that there will not be any steps corresponding to pick release,ship confirm
etc. Once the order is booked, the next step would be the the invoice
interface step.
We have chosen a simplest item. That is this is a standard BOM item type.
At the technical level the ato_line_id is null or it does not have any
parent line id. This item is also called a spare.
If we have put all the other fields properly, like the payment terms,
bill to ,ship to, currency we should be able to book the order successfully.
Once the order is booked, the status of the order header and order line
will change to Booked.
*/
select profile_option_name,user_profile_option_name, description, language
from fnd_profile_options_tl
where user_profile_option_name like 'Sequential Numbering'
/* Now we need to progress the order(lines). Click on the Actions button
and choose the "progress order"
Starting now, the order will go thru different phases and every time we
need to keep doing the same thing
i.e Actions =>Progress Order.
The different statuses that show up are
"Wait for OM Close"
"Dispatch Line".
(when we do the progress order it goes thru the different nodes of the
workflow tree, until it hits either a end or a notification is waiting.)*/
--Once an order is created, we can use the following query to find that in the table,
select order_number,header_id,org_id, flow_status_code,ordered_date
from oe_order_headers_all
where order_number = 1100026593
select org_id,header_id, line_id, shipment_number,ship_set_id ,flow_status_code
from oe_order_lines_all
where header_id = 77469
/* An order can have many lines with each line being shipped to a different
location. A ship set is a group of order lines which are shipped to a same location */
/* Run the following query to get to know what are all the statuses
each order line has gone thru. The key thing here is that item_key in the
workflow tables records the statuses of each line in the order.
Given a line item, we can get its statuses from the query given below.
The wf(workflow) tables store for each kind of item, flow statuses. In
this case, we have the item type as 'OEOL'. Both the order header and
order line will have separate workflow statuses,we can check both of them with
the item types as OEOH,OEOL.
*/
SELECT item_type, item_key, activity_status, begin_date, end_date,
process_activity, activity_name -- * --item_key
FROM wf_item_activity_statuses, wf_process_activities
WHERE item_key = '77469' -- takes the id's not numbers
AND item_type = 'OEOH'
AND process_activity = instance_id
ORDER BY begin_date, end_date
--The following query gives the statuses of all the lines of a particular order given an order number.
SELECT
a.header_id,
b.line_id,
e.segment1,
d.activity_name,
c.activity_status,
a.flow_status_code,
b.item_type_code,
b.inventory_item_id ,
DECODE (b.ato_line_id, NULL, 'Spare '),
c.begin_date,
c.end_date ,
a.ordered_date ,
b.ship_from_org_id
FROM
oe_order_headers_all a,
oe_order_lines_all b,
wf_item_activity_statuses c,
wf_process_activities d,
mtl_system_items e ,
oe_transaction_types_tl f -- oe_order_lines_all g
WHERE
a.header_id = b.header_id AND
c.item_key = to_char (b.line_id) AND
d.instance_id = c.process_activity AND
a.order_number = 1100026591 AND
b.ato_line_id IS NULL AND -- for a spare
b.inventory_item_id = e.inventory_item_id AND
b.ship_from_org_id = e.organization_id AND
a.order_type_id = f.transaction_type_id AND
b.ship_from_org_id = 16 ORDER BY begin_date, end_date
--TAX DEFAULTING IN OM :
/*In AR(look at the AR scripts), typically there is an hierarchy of tax code
defaulting based on the settings at the customer, site, item,system options
etc at the system options level. However in the OM,when you enter an order
line, then the tax code is defaulted by the api "oe_default_pvt.get_tax_code".
Typically this API also behaves identical to the above logic. When there was
no tax code at the site level, it was defaulting to location at the order line
level, however when I provided the tax code at the site, then it is defaulting
that tax code(this is similar the AR tax code hierarchy).
*/
/*ORDER SCHEDULING :
********************
To schedule an order(from the sales order form) means that to find out the
available date of a particular inventory item. Usually when an item is scheduled
it would call the MRP API ,behind the scenes, and come up with an availability for
that particular quantity and populates the scheduled ship date in the sales
order form.
The different types of scheduling actions are
Schedule (& unschedule)
reserve (& unreserve)
Availability Inquires(ATP Inquiries)
Scheduling Issues : BOM Calendar Building :
Occassionaly we might run into the BOM calendar issue when we are trying to
schedule an order line. This could be because the corresponding BOM calendar
is not built.
As mentioned before, a sales order can consist of multiple items with each item
possibly sourcing from different inventory organization.Now let us say for a particular
item, we have specified inventory organization as M1.
A calendar is associated with every inventory organization. And we need to make
sure that,that particular calendar is built properly. First do this ,to find out
what is the calendar associated with your inventory organization.
Pull up the organization from the inventory application,and get the calendar name specified there.
Setup => Organizations => Parameters
Now go to the calendars form and pull up the above calendar.
Setup => Organizations => Calendars
Here specify the correct calendar range, and rebuild it by
Tools => Build
Now even after the BOM calendar is built, if scheduling still fails in OM, then run the Data collections with a
Complete Refresh.
To run the data collection, do the following Steps,
First go to the Order Management Responsibility, and define (or reuse) an instance,
Order Management > Scheduling > Instances
(Make sure you select only the required inventory organizations and not all)
Then, using the responsibility, "Advanced Supply Chain Planner" go to the menu
Collections => Oracle Systems => Data Collection.
(And in the parameter for the collection Method give the value "Complete Refresh")
1) From Advanced Supply Chain Planner, run Planning Data Pull - Purge Staging Tables with Validation = NO
2) From System Administrator, run Refresh Collection Snapshots with Refresh Mode=Complete.
3) Refresh Collection Snapshots again with Refresh Mode=Fast
4) Run Data collections.
/* ORDER BOOKING :
******************
However when an order is booked, it is automatically scheduled.
That is; if the scheduling fails that order cannot be booked.
*/
/* Once the order has been booked, that is the flow_status_code of the order header,
line changes to BOOKED, then that particular order can be PICK RELEASED.
Pick Release is a process where we choose that particular inventory item that we want to ship. As
an ex, let us say we have an item of which we have the quantity on hand as 100.
That is we have 100 units of that item.
# of Items on Hand : 100
# of Items to Reserve : 100
# of Items to Transact : 100
Now let us say we placed an order which has a line item and the we ordered 2 units of that item, then
once the Pick release process has completed, the following will be the scenario.
# of Items on Hand : 100
# of Items to Reserve : 98
# of Items to Transact : 98
We can see all this information in Inventory using the menu option
On-hand,Availability => On-hand,Availability
*/
select * from mtl_onhand_quantities
where inventory_item_id = 21967
and organization_id = 45
select * from mtl_onhand_quantities_detail
where inventory_item_id = 21967
and organization_id = 45
/*Reservations :
If a reservation quantity is entered,let us ,say 14, then when the order is booked, immediately the quantity
is reduced,i.e the this is how it will be, (Even before the Pick release process happens.
# of Items on Hand : 100
# of Items to Reserve : 86
# of Items to Transact : 86
*/
select inventory_item_id,organization_id,demand_source_header_id,
demand_source_line_id,supply_source_header_id
from mtl_reservations
where inventory_item_id = 21967
and organization_id = 45
/* PICK RELEASE :
******************
The pick release is done from the menu
Shipping=> Release Sales Orders.
/*Usually Pick Release is the process thru which the item will be subinventory
transferred from a source subinventory to the staging subinventory. (usually staging
subinventory is the location from where the items are shipped). This is usually
done by a pick wave move order. What this means is that during the pick release,
a move order will be created and transacted. The staging subinventory is
specified here (for each inventory Organization)
setup => shipping => shipping Parameters =>pick release(tab)
/*When you do the pick release,if the picking rule is not mentioned then it would
go by the order in which the picking rules are defined. Picking Rules are
defined in the Inventory(not Order Management) here
Setup => Rules =>Picking
Picking Rules are defined at the inventory item level and basically the pikcing
rule defines the order in which the items are picked for sales orders i.e.
revisions,lots, subinventories and locators.
Hence Oracle Shipping will submit the request to the Inventory (by passing the
inventory item as parameter), then Inventory will look what is the picking
rule for that item, and then subsequently what are the rules like revisions,lotsetc.
So if a picking rule is specified at the time of Pick release ,then Order Management
will use that picking rule.
So if a picking rule is not specified, & let us say we are doing a pick release
and we have not mentioned any picking rule in the pick release form,then it would go look for the picking
rules defined and choose the first picking rule available (the inventory tracks
the order in which the picking rules are defined).
Now it has found the picking rule, having found the Pickign Rule,
Let us say the picking rule says the ubinventory order as "subinventory",
then the system goes to all the subinventories one by one specified by the
picking order and then picks the item from that subinventory accordingly.
Let us say the picking rule says the subinventory order as "receipt date",
then the system will pick the items which ahve the earlies subinventory receipt date.
While defining a subinventory we provide the picking order for each subinventory.
*/
Now in the Shipping Parameters setting, if the Autoallocate is set to YES
(i.e if it is checked),then during the pick release, a move order is created,
allocated and transacted.
If the Autoallocate is set to NO(i.e if it is unchecked), then during the pick
release, a move order is created ,but not allocted or transacted.
(Look in the inventory scripts for more details on the move orders.)
The different steps that a Move order will go thru are given below.
Move Order Creation.
Move Order Approval.
Move Order Allocation => At this stage, the Inventory will use picking rules
defined to allocate the Material to this particular Move order.At this point
the material reservation is made.
that is we can check the information in the table mtl_reservations.
In this step, it will fill all the details like the from and to subinventory,
but does not actually execute those steps.
Print Pick Slip (optional) => This is an optional step to print the pick slip.
Move Order Transaction. => Typically each Move order will consist of a header and
lines. Each line will correspond to an item. We can transact one line at a
time or all together. Now at this point the actual subinventory transfer will
happen. That is we can see the records in the material transaction
mtl_material_transactions. Transacting a Move Order is called Pick Confirmation.
So pick confirmation is moving the items to the staging subinventory.
As a result of which subinventory transfer will happen.
What I noticed is that let us say if an item inv1 is stored in the subinventory S1,
then after pick release, a record is created with the to_subinventory being S1
(while it is already in S1) and from_subinventory being NULL.
Actually when the item is defined we can specify the default shipping organization
(say SO1) in the OM tab.This is the shipping organization and not the subinventory.
*/
select * from mtl_txn_request_lines_v where header_id >= 9343
-- or the material trx
select * from inv.mtl_material_transactions where inventory_item_id = 81
order by creation_date desc
/*Hence,once the Pick Release process completes, the item quantity be reserved for
this particular order ,hence the reservable quantity will go down and also the
material transactions are created.*/
/* Pick Release Errors :
1. Typically while doing a pick release we might end up with
an error APP-WSH-231033,saying that pick release is errored and check the log,which
does not exist at all. Usually this can happen if a hold exists on that particular
order. A hold is usually created at the time of Sales order creation. There are many
reasons why a hold can be created for ex, if the customer credit rating is not good and
if you are using the credit management , then it would automatically apply a credit hold.
Once the hold is removed we should be able to pick release it succesfully.
2. Another error which we might encounter is (which is more of a warning)
Latest dates are lesser than the earlier dates.
3. If you are not able to pull up the order in the pick release form, then
make sure that the item in that sales order is shippable at the inventory item level.
Additionally, if the AutoCreate Deliveries check box is checked in the shipping
parameters window, then once the pick release process is succesfully completed,
a new delivery will be created.
*/
/*So once the order is booked, the delivery details (& assigment records) are
created. The released_status value will be R which will change to Y once pick released */
select a.released_status,a.mvt_stat_status,a.pickable_flag,a.*
from wsh_delivery_details a
where source_line_id in (select line_id from oe_order_lines_all a, oe_order_headers_all b
where a.header_id = b.header_id and b.order_number=56704)
select * from wsh_delivery_assignments where delivery_detail_id in
(select delivery_detail_id from wsh_delivery_details
where source_line_id in (select line_id from oe_order_lines_all a, oe_order_headers_all b
where a.header_id = b.header_id and b.order_number=56704)
)
/*However when we pick release the order, then the actual deliveries are created and
then they are assigned to the delivery detail. So the delivery assignments table will
get updated with the delivery id once the pick release is completed(if the Shipping
Parameters option specifies Autocreate Deliveries).
The way deliveries are created is based on the grouping criteria that is specified
again in the Shippping Parameters.For ex, if there are two lines which two different
shipping terms, then the sytem will create two deliveries and not one delivery.*/
select * from wsh_new_deliveries
where source_header_id in (select header_id from oe_order_headers_all b
where b.order_number=56704)
/*If in the Shipping Parameters "Autocreate Deliveries" has not been checked, we will
have to go to the shipping transactions form and manually create the deliveries. */
/*SHIP CONFIRM :
****************
Having pick released the order line, it is now ready to be ship confirmed.
Again in the Shipping parameters Form,if the AutoCreate Deliveries is checked, once
the order is pick released, automatically the delivery lines are created. And for those
delivery lines a delivery is also created based on the Delivery Grouping attributes.
The delivery grouping attributes are set in the shippping parameters window in the
Delivery tab.(usually the ship from and ship to locations are always checked and hence
if the ship to location is same, then a single delivery will be created for multiple
delivery lines). Hence typically here first delivery lines are created and then the
deliveries are created.
Otherwise if the AutoCreate Deliveries is not checked, then we have two options.
either comes to the delivery lines and do a AutoCreate Delivery Or
Create a delivery and assign the delivery lines to that delivery.
Either way,once the deliveries are created,they are ready to be ship confirmed.
You do the ship confirm on the Delivery tab.
Generally when we do the Ship confirm we specify the Ship confirm rule.
A Ship confirm Rule basically specifies the shipping method, and shipping documents
set etc. We can define any number of ship confirm rules as we want. However we can
specify which one we want to use in the Shipping parameters. So once we come to
the ship confirm Page, we can see that the ship confirm rule (that is mentioned in the
parameters).
Think about Ship confirm in this way. When we do the ship confirm of a delivery,
the system will perform the following steps
-- Create a trip (with two stops ,pickup and drop off)
-- Assign the delivery to that trip. This is probably done by the program
"Interface Trip Stop".
-- Sets the delivery status to In-Transit/Closed and initiates the OM and
Inventory interfaces.(this is when the on-hand qty redcues in inv)
-- Prints all the shipping documents specified in the document set.
-- Change the status of the Order Line to Shipped.
-- To change the status of the Order line to closed, please run the
Workflow Background Process from Inventory for "OM Order Line".
*/
/*Order Lines And Autoinvoice : Actually in the SALES order workbench in the lines, we can
give the scheduled dates different for each of the lines. This way we can close
the lines independent of one another. That is if there are 2 lines in an order we
can progress one line and close it,while the other is still 'Awaiting Shipping'.
Now we can try to push this order to AR as long as the grouping rule that is
associated have the order line also as on the attribute in the grouping criteria.
If order line is not a grouping criteria, then we cannot even select this order
in the Autoinvoice request and hence we cannot push this order to AR. So in
essence, we can progress even one line (of a multi-line order) independently and
create an invoice for that.*/
/*IF UNABLE TO DO SHIP CONFIRM (or SHIP CONFIRM BUTTON DISABLED) : DEFINE GRANTS AND ROLES :
Now in order to ship confirm(or do any major operation in order management), the
user logged in should have sufficient privileges to do so. In Oracle Apps in
Setup=> Shipping=> Grant roles,
We can create a ROLE (which has the ability to pick release, ship confirm etc).
Once that role is created, then GRANT that role to this particular user. Having
done that, the user can ship confirm that order.
Once ship confirmed, it can be seen from the following table.
*/
select * from wsh_new_deliveries
where source_header_id in (select header_id from oe_order_headers_all b
where b.order_number=1100029996) -- 57516219
select * from wsh_delivery_details
where source_line_id in (select line_id
from oe_order_lines_all a, oe_order_headers_all b
where a.header_id = b.header_id
and b.order_number=1100029996) -- 57516219
/* However once the order is pick released, then as mentioned above the
move order will be generated and a record is also created with move order id
in the wsh delivery tables with the status being OP,and also consists of the
initial pick location and the ultimate drop off location,based on the customer's
ship to location.*/
select * from wsh_delivery_assignments where delivery_detail_id = 35157
/*However once the ship confirm process is completed, the status_code, column
in the wsh_new_deliveries table is updated to 'CL' from 'OP'. And released_status
in the delivery details table is also updated.*/
/*WORKFLOW BACKGROUND PROCESS: Now after the ship confirm process is completed,
the line status will be Shipped. After this,the line status should go to 'Closed',
and then the Header status will be closed(if that header only one line). Usually the
"Workflow Background Process" be automatically running. However if it is not scheduled
to run, we can go to the System Administrator responsibility and run explicilty
for both header and line. For Header,we have to give the item type parameter as
"OM: Order Header" and For Line, we have to give the item type parameter as
"OM: Order Line"
This will automatically close the line and header and the interface the order
to AR. And we should see an order in */
select * from ra_interface_lines_all
where interface_line_attribute1 = '1100031634'
select * from wsh_picking_batches where order_header_id = 77462
-- PREPAYMENT SALES ORDERS :
/******************************
For more information about the prepayment receipts, look at the AR Receipts
script. By definition, a prepayment is one where the receipt is first created
even before the invoice. When the invoice is created,this particular receipt
is applied to that invoice.
The first pre-requisite for the Prepayments to work is to enable the payment
functionality. This can be done from the System Parameters window.
Setup => System Parameters => Define.
Here for the parameter name is "Allow Multiple Payments" (parameter code is
MULTIPLE_PAYMENTS), the enabled flag should be checked.
Once this is done, we should be able to see the Payments menu option in the
Actions window of the Sales order pad.
-- DROP SHIP ORDER :
/******************************************************************
In the case of the drop ship order, it starts from the order management
for the item being ordered,we do not have enough stock and ultimately it ends
up in generating a purchase order and gets gets shipped directly from the
supplier to the customer.
To create a drop ship order, change the source type of the line item on the
shipping tab to External.
Once a drop ship order is entered, and booked, we cannot pull that order like
any other order type using the release sales order form etc. The Purchase Release
concurrent program (which can be run manually or mostly it is workflow enabled
and automatically runs) will pull these kind of orders and creates records
in the PO requisition interface tables. Usually what the Purchase release program
does is, it picks up all the lines of all the eligible orders which have the
line type as External. (For regular orders, this source type on the shipping
tab will be Internal). We can check these records using the following query.
Just ensure that the items that are drop shipped do have a unit price mentioned
in the Inventory in the purchasing tab.*/
select * -- look for the interface _source_code which will be ORDER ENTRY.
from po_requisitions_interface_all where interface_source_code like '%ORDER%'
/* the only reference that is found in the above table is the item_id, but
could not find the sales order#).*/
/* At this point we can switch to the Purchasing responsibility and run the
requisition import which will import the interface records and creates the
purchase requisitions. */
select *
from po_requisition_headers_all
where segment1 ='1100029999'
/*Usually for our testing purposes, the purchase order we can create one,
and for approval we can use the following query to make it work.Once the
po is approved, we will be able to receive against that po.*/
SELECT ph.segment1, ph.po_header_id, ph.type_lookup_code,
ph.displayed_field TYPE, ph.vendor_name, ph.vendor_id, ph.full_name,
'Vendor'
FROM po_pos_val_v ph
WHERE (segment1 LIKE '1100028785')
AND ( EXISTS (
SELECT 'Valid PO Shipments'
FROM po_line_locations poll
WHERE ph.po_header_id = poll.po_header_id
AND NVL (poll.approved_flag, 'N') = 'Y'
AND NVL (poll.cancel_flag, 'N') = 'N'
AND poll.shipment_type IN
('STANDARD', 'BLANKET', 'SCHEDULED')
-- AND poll.ship_to_organization_id = :2
)
AND ROWNUM >= 1
)
/* Now we can run the AutoCreate process to create the PO from this requisitions,
which will go thru the standard approval process. Once the PO is approved,
then we can create a receiving transaction from this PO. It is very important
to understand that the physically the item is not shipped to us, but as mentioned
before, the item is shipped directly to the customer. However in Oracle we
do a receiving transaction and ship it to the customer,so that the quantity
of the item remains intact.
The important thing to note here is that, once a PO is created from the
requisition,we can see that the shipment lines for that particular PO will
have the customer address. This make sense, and it means that this particular
PO will be directly shipped to the customer.(ship-to address on the PO header
level might be different,but why??).
Another important thing to note here is that from the Oracle standpoint, this
particular item will be received and immediately shipped. That is the on-hand
quantity for this item will be the same as before.Now for this to reflect,
just ensure that the interface managers are up and running in Inventory.
Setup => Transactions => Interface Managers.
otherwise the items sometimes might be stuck in the interface tables as in*/
select * from mtl_transactions_interface
/*So In any case, once a receiving transaction happens, the Oracle Order
management will immediately close this order and it will go thru the invoice
Interface (if it is enabled). There is no further step involved to be done
from our side. */
/* Just a quick info regarding mentioning the price. In case of purchase
requisitions, if we have the sourcing rule setup, the requisition will always be
imported based on the price against the blanket document or quotation.
Only in cases where in the corresponding item was not found on quotation/BPO -
the requisition import program will look for the list price defined at item level.
*/
/* I understand that the organization is a logical org. But how will receiving
process know that it has to create 2 MTL transactions (1 PO Receipt and the
other Sales Order Issue) for a Drop Ship PO and only 1 MTL Transaction
(PO Receipt) for a Standard PO? */
select * from mtl_material_transactions where inventory_item_id in
(select inventory_item_id from mtl_system_items_b where segment1='Myitem' )
and creation_date >= trunc(sysdate)
Important Point : We can change the sales order quantity as many times as
we want,and the purchase requisition will automatically show the changed
quantity(or other attributes like ship to etc) as long as the associated
purchase order is not approved,if there are NO processing constraints.
We can change data elements after a purchase order is approved,but they wont
be reflected in the requisition if there are processing constraints.
-- BACK TO BACK ORDER :
/**********************/
A Back to back order is basically very much similar to a drop ship order
with the exception that in this case, we receive the item from the supplier
and then we ship it to the customer.
-- INTERNAL SALES ORDER :
/******************************************************************
In the case of Internal Sales Order, it all starts with the PO requisition
and once the requisition is approved, then these are the steps that are
involved in generating an Internal Sales Order.
There are only two types of requisitions that you are created.
One is Purchase Requisition thru which a purchase order is created.
Another is Internal Requisition, thru which an Internal Sales Order is created.
To create an Internal Requisition, navigate thru the from
Requisitions => Requisitions
and ensure that the type has a value of "Internal Requisition".
Here we need to set the profile optoin 'PO: Legal Requisition Type' to Both, so
that we can see both the kinds of requisitions.
*/
select profile_option_name,user_profile_option_name, description, language
from fnd_profile_options_tl
where user_profile_option_name like 'PO: Legal Requisition Type' --119033700
/* Oracle Purchasing uses Order Import to transfer requisitions for
internally sourced products to Order Management. Once imported, the internal
sales orders are processed similar to regular sales orders.*/
/*These are steps that are required to create an Internal Sales Order.
The most important thing here is that, a customer needs to be created and
set that customer as Internal,associate an internal inventory location to his
ship to address. This is the location that we choose while we create an
internal requisition.This is very important even before we start creating
an internal requisition.
/*To ensure that you are able to select the source type as Inventory ,while
creating the internal requisition,do the following.
0. Identify an item and identify the two inventory organizations between which
you want to transfer and ensure that enough quantity is stocked in them i.e
Org A => Sub Inv B => Item I quantity = 250
Org X => Sub Inv Y => Item I quantity = 350
Now we are trying to transfer a quantity of 100 from Org X to A. This is the
Problem Statement.
1. Internal ordered and internal order enabled attributes are flagged to yes,
for the item that you are trying to do the transfer.
Items => order Management tab
2. Inventory shipping networks are setup from and to for destination org and
source org(As an ex,if a intransit inventory is needed or not. Its very simple to do this)
Setup => Organizations => Shipping Networks
3. In the Internal Requisition form you are going to specify the source and
the destination organization and location.
On the Left hand side (Destination), remember only when you specify a location
which has been associated with an internal customer, then only you can see
in the source LOV (on right hand side) both the values of Inventory and Supplier
Otherwise ,you will only see a defaulted value of Supplier.
/*The way the customer is mapped in the sales order is that,the system is looking
the location that was chosen when the requisition was created and from there
it is mapping as to who is the ship to address and who is the actual customer.
So what this effectively means is that you can only associate one location
to one ship to customer. i.e
if a customer C1 => C1 ship to addresss => I1 location; means
we cannot do this
customer C2 => C2 ship to addresss => I1 location;
This makes sense because for a particular inventory location we need not
have more one internal customer associated. It is not required.
*/
Ensure in the above setup, the Customer is also set to Internal.
4. Ensure that the item on the requisition line is assigned to both source and
destination organization and the attributes are correctly set in both organizations.
5) Now create an internal requisition
Purchasing resp--->Requisitions.
And approve it.Now we should see a record in the requisitions table.
(Please refer to the PO queries document to approve the requisition.*/
Ensure that the item is PUrchasing enabled and internal order enabled ,then
you will se the default value of Inventory in the source field.
select *
from po_requisition_headers_all poha
where segment1 ='119035046'
6) Secondly run "Create Internal Orders" concurrent request.
Navigation: Purchasing resp=>Reports=>Run=>Create Internal Orders=>OK=>Submit.
See that the request is completed successfully, if not review the log file for errors.*/
/*After the above step is completed, we should be able to see a record in
the order management interface tables. The orig_sys_reference should give
the requisition header id.Interestingly we do not see the customer information
here,but the ship to ,sold to information is populated.*/
select sold_to_org_id, ship_to_org_id,order_source_id,orig_sys_document_ref,
order_type_id ,order_category,customer_id, customer_name,creation_date
from oe_headers_iface_all
7) Thirdly run "Order Import Request"
Navigation: OM => Orders,returns=>Import orders=>Order Import request.
Pass the parameters Order Source as "Internal" and Order Ref as your Int. Req. No.
Submit it.*/
/*After successful completion of the Order Import, we should see an order in
the Sales order OM table given below. The orig_sys_document_reference refers
to requisition# */
select rowid,a.*
from oe_order_headers_all a
where orig_sys_document_ref = '119035046'
The Internal Sales Order will result in an inter-org Transfer.
So once the order is created in OM,it will be automatically booked (if everything
is fine). Also Internal SALES orders are never invoiced. The status of booked
is the final status for the Internal SALES Orders.To finally to complete the
loop,once the order is booked, what we need to do is that for that particular
internal requisition,we need to go to the purchasing and do receive against
that particular requisition in the source inventory organization. So to repeat,
an internal requisition is basically an transfer between two inventory
organizations.
-- So kinda, Internal sales order and drop ship order are opposite in functionality. */
-- ALL ABOUT ORDER IMPORT PROCESS.
/**************************************************************************/
The main functions of the Order Import are
Validation
Defaulting ,
Inserting,Updating or Deleting of Orders.
Processing Constraint Checks
Scheduling of Shipments
Applying and Releasing Holds
/*
For the order import process, the files can come either as flat files
(.csv files, .xls files).
Using the sql loader we import this data into the temporary staging tables.
These staging tables are an identical copy of the order import interface tables.
(The order import interface tables are,namely oe_headers_iface_all, oe_lines_iface_all,
oe_order_actions_all, oe_price_list_attributes, oe_sales_credits_iface_all etc).
Hence the staging tables also look identical
to the above mentioned tables in terms of column names etc. Having imported the
data into the staging tables we need to write the custom pl/sql apis to pull the
order information from the staging tables into the actual interface tables.
Now these pl/sql api will have logic to validate different order information
like the order transaction types, order line types ,customer info, currency
info etc ,before populating the orders into the iface tables.
At this point, we run the Order Import concurrent program from the oracle
applications, by providing the order source parameter. The order import
concurrent program will in turn call the process order api to do some
process and populate the orders into the order management tables like
oe_order_headers_all, oe_order_lines_all etc.
Another interesting point is that, when we run the order import process, we can
run it in the Validate-only mode as well, in which case the orders are validated
and they are present in the interface tables only , but not moved into the base
OM tables. Order Import imports the order in as Entered and attempts to book it.
If any of the required fields for a booked order are not supplied, Order
Management retains the order in the Entered status and notifies you of the error
Changes. You can import changes to orders that have been imported by passing all
changed data through Order Import. You can update or delete orders, order lines,
price adjustments, and SALES credits. You can use change sequence numbers to
control the sequence of changes you want to make to orders.
Process Order Interface (API)
The Process Order Interface is the central application process interface (API)
provided by Order Management to perform all common operations such as
inserting, updating, deleting, and validating an order or order line. The API also
performs the scheduling and returns a promise date.
Process order API is OE_ORDER_PUB : this is the public interface which is
typically used from the backend.
However the Order Import which we kick off from the Oracle Apps uses private
API oe_order_pvt.process_order. We can provide different parameters for the same
procedure and call different procedures of the same package
like (process line etc).
*/
This API is called by Order Import.
If an Order is successfully imported, it also gets deleted from the interface
tables. If you attempt to re-query the window, you will not be able to view that
order in the Order Import Corrections window.
select unit_list_price,unit_selling_price,
order_quantity_uom,pricing_quantity
,pricing_quantity_uom,calculate_price_flag
from oe_lines_iface_all
*/
The following are the Order Import Interface tables:
OE_HEADERS_IFACE_ALL -- stores the header information
OE_LINES_IFACE_ALL -- stores the line information.
OE_ACTIONS_IFACE_ALL -- This is a multi-org table for sales order actions (holds, booking etc.) open interface
OE_CREDITS_IFACE_ALL -- This tables stores the sales credits information for the orders.
OE_CUSTOMER_INFO_IFACE_ALL
OE_LOTSERIALS_IFACE_ALL --(A lot/serial number is a batch number associated with an item)
OE_PRICE_ADJS_IFACE_ALL -- This table stores the pricing attributes.
OE_PRICE_ATTS_IFACE_ALL -- This table stores the pricing attributes.
OE_RESERVTNS_IFACE_ALL -- This once stores the reservations on the items.
OE_UPGRADE_WSH_IFACE
-- Order Management Tables.
OE_ORDER_HEADERS_ALL
OE_ORDER_LINES_ALL
OE_SETS (contains sets could be either of the ship/line/attribute set)
OE_ORDER_HOLDS_ALL (contains the holds that the order may have)
OE_SALES_CREDITS, OE_SALES_CREDITS_TYPE, OE_SALES_CREDITS_HISTORY
(these tables correspond to the SALES credits associated with the correpsonding order)
OE_DROP_SHIP_SOURCES
This table stores relationship between order lines in oe_order_lines_all table and
associated oracle purchasing requisitions in PO_REQUISITIONS_ALL and Oracle
purchasing purchase orders in PO_LINES_ALL.
OE_HOLD_AUTHORIZATIONS Stores information about who has the authority to apply and release holds
OE_HOLD_DEFINITIONS -- This table stores information about hold name and its validity period.
OE_HOLD_RELEASES This tables stores information about all the holds that has been released
OE_HOLD_SOURCES_ALL This table stores information of the hold source criteria.
--
PROCESSING CONSTRAINTS :
Processing Constraints are basically some security rules that you want the Order
Management system to apply or execute whenever a new record is created or any
fields are updated for an order header or line. They can be accessed by
Setup => Rules => Security => Processing Constraints.
Processing constraints are applied for the orders entered online or for
the orders coming thru a batch.
Each Processing constraint corresponds to a
* Specific Operation (Create, Update, Delete)
* For each operation ,there are conditions with each condition corresponding
to a Validation template.
So as an example of Processing constraint is this.
Whenever an update of a credit card has been done by a user at the headerlevel,
execute a procedure and print a user-defined message. So in the entity
Order Header do the following steps.
1. Then choose the operation as Update and attribute as Credit Card Number
2. In the conditions provide the validation entity and a validate template
which in turn maps to a procedure.
3. Provide the user-defined message, that needs to be shown to the user when
he updates the credit card.
VALIDATION TEMPLATE : A validation template basically corresponds to
a validation entity (like Order Header, Order line, etc) &
a validation type (like a API, Table, or Workflow activity)
If the Validation type is Table, then you can provide some conditions on the
table columns like etc "Customer like 'XYZ%'" and this check is validated
for each record.
If the Validation type is API, then you can provide a package.procedure, and
that procedure will be executed for each record.
And finally once you define a Validation template, we need to generate the
Constraints Validation Package. This can be done using the menu
Tools => Create Validation Packages
RECORD SET : A record set is what you are telling the system on how many records
you are asking the system to act on.
If you change the record set or the validation template you need to generate
the Validation package again.
--------
VALIDATION PROCESS :
Let us see the sequence of steps that the Order Import validation process does :
---- ORDER IMPORT PROCESS FLOW.
The Process flow of the Order Import is classfied into
Pre Process Order API part
Process Order API part
Post Process Order API Part.
Pre-Process Order API Part : (VALIDATION AND DEFAULTING)
----------------------------
-- Insert a request Id in the interface tables
-- Check the closed_flag in the oe_headers_iface_all table.
if oe_headers_iface_all.closed_flag = 'Y' then,
OE_CNCL_ORDER_IMPORT_PVT.Import_Order is called
if oe_headers_iface_all.closed_flag = 'N' then,it is open order,
OE_ORDER_IMPORT_PVT.Import_Order is called.
-- Check the Operation Code
-- Validate Order source and the Orig_sys_document_ref
Check for the Order sold-to-org column,if it is null, then create new Customer.
Header Level Record Validation (check for required attributes ,conditionally
required attributes and cross-attribute validation)
Line Level Record Validation (check for required attributes ,conditionally
required attributes and cross-attribute validation)
So basically the VALIDATION AND DEFAULTING will happen in the Pre-process API.
Process Order API Part : (PROCESSING CONSTRAINTS)
------------------------
Process Header
Check Processing Constraints
Validate Attributes for the record
Validate Entity
check the operation codes or insert,update,delete and do accordingly.
Process Header Adjustment
Process Price Attribute
Process Header Adjustment Attribute
Process Header Sales Credit
Process Lines
Check Processing Constraints
Validate Attributes for the record
Validate Entity
Check Schedule Status
check the operation codes or insert,update,delete and do accordingly.
Process Line Adjustment
Process Line Sales Credit
Process Line Aattribute
Process Line Adjustment Attribute
Process Line Lot and Serial
Post-Process Order API Part : (SCHEDULE SHIPMENT, APPLY HOLDS)
----------------------------
Once the orders are imported ,the Post process will try to do the following.
Price Comparison
Payment Term Comparison (check if the terms on the line is diff from the
customer profile terms)
Reservations
Check Return Status (either delete interdace records or update
the interface records status)
/*PRICE COMPARISON :
If oe_lines_iface_all.calculate_price_flag = 'N' Then
we should provide unit_list_price and unit_selling_price on the oe_line_iface_all
(And Order Import does not do any price calculations).
If oe_lines_iface_all.calculate_price_flag ='P' Then
We should provide 'pricing_quantity' and 'pricing_quantity_uom' columns ,since
the OI will calculate the unit_list_price and unit_selling_price.
If the oe_lines_iface_all.calculate_price_flag 'Y' and selling price is also
populated, then OI will compare and prompt the user for any discrepancies in
the price. However for this, the customer_item_net_price needs to be populated.
PAYMENT TERMS COMPARISON :
If the payment term mentioned in the oe_lines_iface_all.payment_term_id does
not match with the system provided value(i.e OI will determine from the profile
classes what is the payment term id), then the OI will raise a warning,but still
would import the row and would put the customer payment term id in the
column customer payment term id in the oe_order_lines_all table.
RMA FUNCTIONALITY IN ORDER MANAGEMENT :
/***************************************************************************/
Order management supports a variety of methods for returning the products.
The different RMA types are
RMA with Credit Only
RMA with Repair
RMA with Replacement
RMA with Receipt and No Credit
RMA with Receipt and Credit
Returned Item with Failed Inspection(its a mixture of above).
Setup Required for performing RMA's.
-- For each of the above RMA types, that you want, you need to create a
return order workflow and assign it at the order or line level.
-- Further if a credit memo in AR needs to be generated ,then we need to
include an invoicing activity within the workflow mentioned above.
-- The item that customer is returned should be returnable, i.e
Returnable, Shippable, Transactable, Stockable, Invoicable.
--
/******************************************************************/
/* RESERVATION :
A Reservation is a guaranteed allotment of an item to a specific sales order.
A hold is placed on a certain quantity of an item , which is made available
by a specific date. Once reserved the product cannot be allocated to
another sales order.
*/
/* Little bit on the Inventory Item.
An item can be defined for multiple organizations. if we defined the
same item for multiple organizations, then we would find multiple records
in the mtl_system_items table one for each organization id. In general when
we want to look at the item master, then it would ask for the organization,
however for the item master, the org is not significant and hence it would
show the org in the form as GLO (Global organization). However when we look
at the organization items, then it would show only the items corresonding
to that specific org.
The actual item code is stored in segment1 column,which is searchable from
the master or org items form. */
SELECT inventory_item_id inv_id, organization_id org,segment1,
default_shipping_org,description
FROM mtl_system_items_b
WHERE segment1 = 'LD-FO='
-- We can also get the organization name from the following query.
select organization_id,name from
hr_organization_units
where organization_id in (1,2,16,483)
/* You can only create items in Global Organization and then assign those
items to different organization by pressing the organization assignment
button. Having completed the important step of creating a master item in
Global Organization, now we need to assign this item to different
organizations as you want them to be. Each inventory item also has something
called "ship from org id" ,i.e that specific item can only be shipped from
that org. Mere assignment of this item to different org's does not change
the ship_from_orgid's.
Hence even though the same inventory ITEM which is built in different
organizations, it can only be shipped from one org. */
-- Make sure the ship set id is given for every order line item.
/* For this specific inventory item id, we can see what is the on_hand quantity
available and it can be seen from mtl_onhand_quantities_detail.However this
info is striped by the date_received. Hence if we have a total quantity available,
we need to sum up on primary_transaction_quantity.*/
select inventory_item_id,organization_id,primary_transaction_quantity
,organization_id org_id,
subinventory_code,transaction_quantity,onhand_quantities_id, date_received
from mtl_onhand_quantities_detail
where inventory_item_id = 21967852949
and organization_id =16
and cost_group_id =1206
and owning_organization_id =16
and subinventory_code = 'JABIL2-OCC'
and organization_type =2
-- Try to understand the difference between these two org ids' important.
select * from mtl_parameters where organization_id =16 and organization_code ='JAB'
/* The concept of Sub-Inventory :
We have seen from the various modules that for ex, the purchasing dept will
acquire the goods from the supplier which are moved to the inventory.
The order management picks the inventory items from the inventory(which is
called pick release process) and then ship confirms that item for the customer.
Similary the manufacturing department gets the inventory from a inventory
org(sub inventory) and gives the finished manufactured item back to the inventory.
Now we can see that we can have different sub-inventories each for a
particular department like Inventory,Manufacturing and order management.
When defining an item, you can use the item attribute Item Status to
control status attribute values. You determine the list of values for the
Item Status attribute by defining Item Status Codes.
An Item Status Code has a user defined set of Yes/No values for the status
attributes. The values are applied to the status attributes when you choose
an Item Status Code when defining an item. For example, assume you define an
Item Status named Prototype with all status attributes set to Yes except
for Customer Orders Enabled.
Next, you define another Item Status, Active, with all status attributes
set to Yes. In the beginning of a product development cycle, assign the
status code Prototype to an item so that you cannot place the item on a sales order.
Later, assign the status code Active to allow all functions for the item.
A key board is customer ordered item, but we may choose to have to be non
"customer orderable" a service item is not "customer ordered" item and hence
there is no meaning about "customer orderable".
*/
SELECT c.item_key, d.activity_name, c.activity_status, c.begin_date,
c.end_date
FROM wf_item_activity_statuses c, wf_process_activities d
WHERE d.instance_id = c.process_activity AND c.item_key = '343436'
ORDER BY 1, 3, 4
select * --line_id, ato_line_id ,inventory_item_id, ordered_item,tax_exempt_flag, rowid
from oe_order_lines_all
where line_id = 57739178 --header_id = 4314689--57725237
select * from oe_order_headers_all where order_number = 53008567
select * from wsh_delivery_details where source_header_number = 53008567
/*For getting an item for drop ship order, first run this query and take that
item for org, because there are the kinds of items which are eligible for
drop ship orders. A drop shipment order is one where we dont have sufficient
stock of that item or we do not manufacture that item at all. In that case
we raise a drop ship order (meaning the order source is external). This sales
order will in turn raise a requisition , and a purchase order is created
for that requisition. Once that purchase order is fulfilled and the goods
arrive we have 3 options to either send them directly to the customer, stock
them in the inventory or stock it and send to the customer. Look at the .html
file giving complete description about the drop ship order.
oe_drop_ship_sources :
This table stores the relationship betweent the order lines in oe_order_lines_all
and the associated oracle purchasing requisitions in po_requisitions_all and po_lines_all.
*/
SELECT
inventory_item_id,
segment1
FROM
mtl_system_items_b
WHERE
purchasing_enabled_flag ='Y' and
purchasing_item_flag ='Y' and
mtl_transactions_enabled_flag ='Y' and
stock_enabled_flag ='Y' and
reservable_type ='Y' and
customer_order_flag ='Y' and
customer_order_enabled_flag ='Y' and
shippable_item_flag ='Y' and
rownum < 2
-- Creating internal orders
-- order import tables
/*Move Order 8308380 (Transact Move Orders Form)
Its is possible to release an order line independently of other order
lines and order header. */
/*TAX calcuation scenario for orders picked up from shipping DC
We are using vertex and calculating tax based on the ship to location of
customers. At times customer wants to pick up the goods from shipping DC
instead of items being shipped to his 'Ship-to' location. Sales tax in this
scenario is calculated based his ship-to location, and not based on the
location of shipping DC.
Possible Solutions :
We have two workarounds to handle this scenario,
First, one to setup tax codes with specific tax rates and use defaulting
rules to default tax code based on shipping method = PICKUP and shipping DC.
Second create internal customer and define all shipping DC's as locations
and then use them as ship to locations to calculate correct location based tax.
*/
================================================
/* ABOUT ORDER HOLDS
In the new order management functionality, for any particular order (which has a
specific order or transaction type, and which is associated with a specific
work flow), we can view the work flow processes when we go to the
tools => workflow statuses
using a java applet. From that diagram we can know what are the different nodes that particular order
is going thru. We can correlate the same stages from the query which hits the order and workflow tables.
Any hold that you create will go into the table OE_HOLD_DEFINITIONS. Generally
once we create a hold, we also tell that which responsibility can place this hold
and which responsibility can release this hold. So this information will
go into the OE_HOLD_AUTHORIZATIONS. Also we mention when this hold is for which
work flow activity and for order header or line level.
Similarly we can define the release (and codes) and when we release a hold we
can provide this release code as the reason for releasing.
select * from oe_hold_definitions where name like 'Internet Delivery' -- 1012
select * from oe_hold_authorizations where hold_id = 1012
Now from the order organizer window, we can choose a set of orders (and hence lines)
to be retrieved and for all these set of lines, we can apply a hold source. Now
while creating a hold source, we provide the above created hold and choose whether
the hold source should be applied at the customer,order or product level. Here
we can also mention upto what time this hold is valid.
Having done that this information goes into the table, OE_HOLD_SOURCES_ALL with
the hold_id and the corresponding hold_entity_id (i.e if the hold criteria is
Order, then the hold entity_id is order header_id and if the hold criteria
is customer, then the hold_entity_id is customer_id etc), with the corresponding
hold_entity_code being C or O or I.
Hence a sample query would look like
select *
from oe_hold_sources_all
where hold_source_id = :p_order_header_id
To place any particular item in a order succesfully, do the following check list,
check to see if the item is part of the price list that you mentioned at the haeder
level and that the end date of that item in that price list is greater than sysdate ,
and it is customer ordered and orderable, and last criteria is to run the concurrent program
"Item attribute Mapping " conc program which is typically run from the order
pricing manager responsibility.
*/
select header_id from oe_order_headers_all where order_number = 44131973
select * -- order_hold_id, hold_source_id , hold_release_id , header_id, line_id
from oe_order_holds_all where header_id = 5132128 -- 1081522
____________________________________________________________________
select * from oe_hold_sources_all
order by creation_date desc
--where hold_source_id = 1081522
-- Bill-To, Ship-To, Sold-To : Sold-To is the top most company or the main parent company.
/* When importing internal sales orders that contain order line items that require serial numbers, Order Import
requires the associated items serial control attribute be set to: Dynamic at Sales Order Issue.
You can create requisitions (with same number) in two different operating units.
The Invoice Interface Workflow activity will not interface internal sales order lines, even if the activity
is present within a workflow process. Internal order lines are never interfaced to Oracle Receivables.
*/
If the item is invoicable, then once the order is shipped/ship confirmed, the data is populated
into autoinvoice interface tables.
select * from mtl_material_transactions --where transaction_type_id = 64
where inventory_item_id = 22934
select * from mtl_transaction_accounts --where transaction_id = 6953873
where inventory_item_id = 22934
--where transaction_id = 6806418
select organization_id, inventory_item_id,segment1
from mtl_system_items_b
where segment1 like 'MyAstItm' and organization_id=45
-- and inventory_item_id = 22917
select sysdate from dual
select * from gl_code_combinations where code_combination_id = 1024
select max(creation_date) from mtl_transaction_accounts
/*************************************************************************************/
reservation time fence
APS : Oracle Advanced Planning and Scheduling
GOP : Global Order Promising
different kinds of dates request date, available date.
OM: Autoschedule
/****************************************************************************
But my requirement is I have a manual PO, and this PO needs to be displayed
in the the Drop ship tab for one of the SO line for reference purpose.
I created one entry in the oe_drop_ship_sources table with all the required
information but still I am unable to link the PO to SO line.
Here is the query :
INSERT INTO OE_DROP_SHIP_SOURCES
(
DROP_SHIP_SOURCE_ID,
HEADER_ID, --Sales Order Header Identifier
LINE_ID, --Sales Order Line Identifier
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
--LAST_UPDATE_LOGIN
ORG_ID,
DESTINATION_ORGANIZATION_ID,
-- REQUISITION_HEADER_ID
-- REQUISITION_LINE_ID
PO_HEADER_ID, --Purchase Order Identifier
PO_LINE_ID) --Purchase Order Line identifier
-- LINE_LOCATION_ID
-- PO_RELEASE_ID)
VALUES (OE_DROP_SHIP_SOURCE_S.NEXTVAL,189896,251254,'23-Feb-07',5989,'23-Feb-07',5989,84,168,43167,287300);
****************************************************************************/
-- QUESTIONNAIRE :
/*****************
1) It is possible to release an order line independently of other order lines
and order header.
Yes you can using the shipping transaction form.(From pick release you can release
complete order and not independently the lines).
Immediately after the order is booked, we can come to the shipping
transaction form, pull up that order, and for a specific line, we can
"Launch Pick Release". We can also subsequently create a delivery for this
order line and then ship the order as well. Hence we can ship an order line
independently of the other order lines.
Pick release can also be used to release lines independently, by providing
conditional scheduled ship dates ,request dates,in which case, it will release
those specific lines.
2) Once The order is booked ,are the delivery details/lines created ??
Yes. immediately after the order is booked, the delivery lines are created (not deliveries)
(which can be seen from the wsh_delivery_details which reference the sales
order). However once the deliveries are created (either automatically after
the pick release or manually based on the system options), these deliveries
lines are asssigned to the delivery created. Only after
the deliveries are created we can ship (or ship confirm) them.
3) What is Defer Interface?
There is a flag in global parameters setting which is Defer Interface.
Typically once the order is ship confirmed, then the
trip stop report is printed and the order is ready for interfacing to AR.
However if the defer interface flag is set, then even after the ship confirmation,
the trip stop process does not pick this up and is subsequently not invoiced.
Defer Interface flag can also be set at the ship confirm window level.
4)How do we apply credit holds to Orders :
One way of applying a credit hold for an order (based on the customer credit)
is to use the credit management. Another way is to specify within the OM,
the credit limit at the customer or site level as follows,
Customer => Profile : Amounts
We can specify both order credit limit (which is specific to an order)or credit
limit(which is entire credit limit).
5).What are Deliveries and Delivery Lines, and which one is created first?
Lets take an example. Let us say there is a sales order which consists of
two lines. Once the order is booked, two delivery lines are created automatically.
If there are two order lines, there will be two delivery lines,so for each
order line, there is a delivery line. Then as a next step, we assign these
delivery lines to a delivery. And if the autocreate is checked, then automatically
a delivery is created after pick relase and the two delivery lines are assigned
to the newly created delivery.
6) What are Container Items :
Container Items are also inventory items,which are flagged as "Container"
in the Physical Attributes tab. Usually they are not Customer orderable,
customer ordered ,invoicable etc. ;
Items => Physical Attributes => Container Area.
We can also set the item as a Vehicle as the case may be.
7) What is packing the Items :
Usually we Pack the Items, that is when we need to define the Container Item
Relationship,which is defined here,
Setup => Shipping => Container Load Details.
Here you specify the relationship between the regular items (like say Printer)
and the container items (like Box, Carton)and the maximum quantity that can
be filled in that container etc.
Once that is done, we should be able to do the packing.
8) What is partial cancelling of the order line.
If you change the order quantity say from an original value of 50 to ,say, 45,
then the orderline is said to be partially cancelled.
write more about this
9) What is splitting the order lines and how does pick release help in the case
of split lines ?
Let us say we have an order which requires multiple shipments over time, then
you would split the order line, rather than creating multiple order lines.
So in each split line, we specify the quantity and the request data,warehouse
from where it should be shipped. Based on this, the scheduled ship dates are
also populated accordingly for each split line.
Once this is done, during the pick release process, we can specify up to which
schedule date /request date we want the lines to be released and then accordingly
the lines will be released.
10. What are line sets,ship sets, arrival set, fulfillment sets?
Line set is a generic term,which you specify at the order header level,
which can be a ship set, arrival set or fulfillment set.
If you specify a ship set,say 1, for a group of lines, then during pick
release we can release the lines based on that ship set number.
Also a line can belong to a ship set or arrival set,but not both.
13). What are backflush transactions ?
Backflush transactions are those WIP (workin process) transactions which pull
the inventory for the manufacturing operation. It is an issue (outgoing from
inventory) operation and not a receipt operation.
14) What are the examples of ShipOnly and InvoiceOnly orders.
Ship only orders are those where we just ship the item to the customer and do
not invoice them. Example of shiponly orders are demo items, and sample
items,which the customer uses and probably returns them after.
Invoice Only Orders are those where we just invoice the customer,but we do not
ship any item.Example of Invoiceonly order could be a subscription item
where we just invoice the customer for that month,but we donot ship
any item.
15) What are trips and stops and how they are related to deliveries.
A trip consists of atleast two stops, one the pick-up point and one a drop-off
point. When we ship confirm a delivery,a program called "Interface Trip Stop"
is automatically run which creates a trip stop and the delivery is assigned
to that trip.
16)What are the different kinds of Orders
Regular sales order, RMA, Drop ship, Internal Sales order.
17) What are the possible reasons the inventory quantity can be driven negative
for reservable items.
Usually when we pick release, a quantity is reserved and if there is not enough
quantity then the reservation does not happen, and the pick release will fail.
However after a successful reservation , when we come to the delivery lines,
we can change the shipped quantity on the delivery lines as well. If that shipped
qauntity is more than the requested quantity and if that quantity is more than
the available quantity, (and if negative quantities are allowed) then the
inventory quantity can be made negative. if negative quantities are allowed for
that inventory organization, then those records might be stuck in the inventory
interface.
18) Can we change an order after we book it ???
Yes, as long you dont violate any processing constraints.
19) What is the difference between Pick Release and Pick confirmation.
Pick release is the process that you do in Order Management which will create a
move order and it goes thru approval, allocation and transaction.
Pick Confirmation is an inventory operation which is basically transacting a
move order which results in a subinventory transfer of the material from the source
subinventory to staging subinventory.
Hence Pick Release will internally call pick confirmation process.
20) What is retroactive billing ??
21) what is shipping document set??
A shipping document set is a set of shipping documents,which you specify at the time
of ship confirm,so that Oracle shipping wil print all those documents. And they are
Bill of Lading => A receipt given by the carrier to the customer,acknowledging
the goods being shipped and specifying terms of delivery.
Waybill =>it is identical to Bill of Lading, but it is not a document of title.
Commercial Invoice=> prints all confirmed shipped item in a delivery along with value.
Mailing Label => address label showing where we are shipping.
Pack Slip => slip which shows the contents of the package.
Vehicle Load Sheet Summary =>specifies the loading sequence of items in a delivery.
Please note that the document set need not consist of all of the documents.
22) Is it possible to book an order with out any line items ? What would be the
business scenario for this kind of order ??
Yes.
23) What is packing slip ?
Let us say we have an order consisting of 10 items. A pack slip mentions all the
items. Basically it is just a confirmation from our side ,what we are shipping.
A bill of lading is a document from the carrier what we are shipping.
24) What is pick slip?
A pick slip is a document printed by the move order process in Inventory,which
tells what has been picked.
25) Does the order header close immediately after all the order lines are closed??
26)What is the backordered status in the delivery lines mean ?
The term "backorder" or "backordered" is a status,which means that during
pick release, that item is not having enough stock and hence the status of
the order line or shipping line changes to backorder. Please remember that
backordered is just a status, it does not initiate any kind of drop ship
process,to purchase that item from a supplier etc. To resolve this issue ,you
will have to manually do a receipt for that item and have enough quantity onhand.
27) What are the different modules which Order Management will interact with ?
Order Management interaacts with different modules based on different kinds
of items, pricing, type of shipping etc
Inventory (for pick release, shipconfirm)
Pricing,Advanced Pricing (for formula, attributes, qualifiers, modifiers)
Shipping Execution (shipping transactions ex delivery,trips,stops)
Manufacturing (for BOM Items, assemblies etc before/after booking process)
Purchasing (for drop ship, internal sales order, RMA receipts)
28) If aline is stuck at Shipped status, and is not closed, then what is the
difference between running Workflow Background Process in Inventory versus
Order management,coz running from Inventory is pushing to AR ?
29) Does Order Header close immediately once all the order lines statuses are closed?
No. The standard functionality of the Order header closed an order header at
the month end even if all the lines are closed in the middle of the month. So
even if we run the Workflow Background Process for Order Header, the status
will not change to Closed for the Order Header. However this does not stop
interfacing the lines to AR.
30) Can you explain the difference between the Subinventory Transfer,Move Order,
Inter-org Transfer And Internal Sales Order?
31) Explain the process of backorder during the ship confirm process.
We know that during the pick release process ,if there is not enough quantity
the delivery line status will automatically change to backordered. Now even
during the ship confirm, we can do a back order. During pick release the quantity
has moved from source to staging subinventory.
Sometimes we may not ship the entire quantity that is pick released. The business
reason for this could be that we need that material for some urgent or important
customers and hence we might partially ship the quantity. And this is done in
the following steps as follows.
-- In the delivery line, the requested qty(say 100) and shipped qty is null. Let
us say we want to ship only 60 and not the remaining 40. So in the shipped qty
you enter 60, so the backordered quatity will be 40
-- In the ship confirm window, in the unspecified quantities list box change it
to "Backorder". Then the 60 will be shipped and the remaning 40 will need to be
pick released.
-- Now come to the sales order and look at the lines, the original line will be
split into two lines one with 60 ,having status of shipped and one with 40 having
a status of "Awaiting shipping".
-- Do an explict subinventory transfer back from staging to source subinventory as
this will not happen automatically.
Hence understand the status "backordered" ,the quantity needs to be pick released
again.
32). what is the difference between bookings and revenue ?
typically revenue is referred to as current sales while booking is referred to
as the projected future revenue.
33) what is the difference between billing and invoicing ?
Billing is a generic term used for AR invoices, credit memos,debit memos etc,
while invoicing information specifically refers to AR invoices.
34) what is item conversion and customer conversion ?
Lets say we have Oracle ERP A and ERP B and we are trying to convert items
from A to B. Then, when you bring an item X from A to B system, then that
id/code will be preserved.
The other option is to create corresponding new items in system B for each
item in system A and then try to reference the items from system A.
35) What is customer conversion and how does it affect order management ?
Basically when we are integrating two systems, then we need to bring in the
customers of one system to another,so we can transact in the new system
i.e we can create orders.
Hence if we are bringing open orders from system A to B, then we need to
do the item/customer conversion, because the open orders in the new system
will be referring to the old item numbers or customer numbers. For new
orders, that means the orders themselves are created in the new system.
36) what is business alignment ?
Business alignment is basically business aligning with IT. For ex, IT might
implement a new version of oracle ERP with new features ,then the business
should agree to the change and be able to adapt to the changes.
37). What is a Managed Service Point :
Means some company XYZ takes care of a particular functionality (like billing
invoice,check printing) in some other company ,say like Cisco. And for this
service, cisco pays them a flat usually monthly payment. Usually the managed
services provider works remotely from the company i.e managed services offerer.
38). What are the checklist of items that happen while booking the order ?
Scheduling,
Credit check,
Checking Hold if they exists,
Repricing,
Process Price adjustments (apply modifiers),
Payments (Authorization of credit cards)
Sales credit verified,
Constraints are validated,
System parameters are validated,
tax calculation,
Configuration Validation,
Workflow progress based on the type of order,
Shipping data are populated,
IB(Install Base), CZ(Configurator) are populated.
39). How do you fulfill the software Orders versus tangible item orders ?
For tangible items orders, fulfilment is shipping the order; and the IB instances are
created once the item is shipped. For software orders; the two ways of fulfillment are
Ship the cd box or fulfill it online (by downloading etc);
If it is fulfilled online, the IB instance is immediately created with out the serial number;
And once the product is shipped, that is when the IB instance can be updated
with the right serial#.(you cant put a serial# on the box).
40). How do you ship the orders which you frequently ship the items together ?
For ex, let us say you very frequently ship the order consisiting of one cd, one hardware
token and one user manual. Then it makes sense to group them into a BOM(bill of material)
Kit. That is a BOM of the type of Kit. A kit is a group of components,but a kit itself is not
shippable although the component items are shippable. Also ensure that the on hand exists
for all the component items so the pick release/ship confirm will not fail.
41). what is defer interface (at ship confirm) in order management ?
Basically at the time of ship confirmation, if the Defer interface is checked/enabled
then the Interface Trip Stop program is not run. If the Defer interface is not
checked/enabled then the Interface Trip Stop program is run. The interface trip stop
program basically updates the inventory,reduces the on hand quantity and also updates
the order lines status to closed from shipped.
42). At what point of time the onhand quantity gets decremented ?
So once the ship confirm completes and if the defer interface is not set, that is when the
inventory interface happens and the onhand quantity is decremented to reflect the
correct status in inventory.
43). Once the order is shipped, how can we see the delivery lines ?
Once the order is shipped, we can pull up that order in the shipping transactions find form,
by selecting null from the line status field.
We can also run the report like "Shipped Delivery Lines report" and provide the order number to
see the delivery# details etc.
Shipping => Interfaces => Run => Shipped Delivery Lines report
44) Profile option for seeing the output file ?
The profile option to see the output file and the log file is starting with "Viewer%"
45). you can have an item which is not inventory item, but it could be a customer orderable item?
Yes. for ex, service item, which are not inventory items (because they
are not stockable/shippable) however a customer can order the service
item.
46). What are the different scenarios of ordering service from OM ?
Consider these situations :
You can order service from OM for an item
which the customer has on the same order
This is a simple case.
the customer already owns the item,
Then you should know that order number,line#,shipment#,date of service start. Done on the service tab.
or the item should be there in Oracle installed base.
Then you should know the item instance# or item serial
number,called reference number in the form. And if the item does
not exist in the Installedbase,then you should create it manually.
47). where do you define a fulfillment flow. ??
Each order type will have a workflow for header/line attached to it and the order lines
will flow those steps.
48). Does defer interface defer OM/AR interface ?
No the defer Interface is basically defers the shipping module writing the status
back to the OM/inventory interface. However only after this writeback(interface trip stop
program completion), the line status at the order level changes from shipped to closed and
at the shipping line status changes from closed to Interfaced.
And only after the Orderline status is closed, it can be interfaced to AR(if it is an invoicable
item).
49). How do you fulfill a service item order ???
Lets us say there is a consulting service order. Usually these kinds of orders
are fulfilled after the serviced is delivered. the regular orders as fulfilled
once the item is shipped.while these orders are fulfilled once the service is
performed and the timesheet is filled,approved the appropriate authority and sent over.
50). Why is that in OM, once a sales order is created for a customer, a credit hold is
automatically applied?
It may or may not be. It is decided by the workflow process.
51). I understand that BOM's should be defined if the warranty has to be automatically
created upon purchase of a product. What if the customer does not implement BOM?
When you purchase OM, the basic functionality of BOM is provided by default.
52). Does the workflow background process need to be run with deferred processes yes?
Yes to clear the waiting processes,if any.
53). Can the delivery lines in Shipping module be sourced from Other modules than OM?
The sources for the delivery lines are Order Management,Project Contracts and Shipping.
54). What is credit managment module and what is its functionality ?
Credit Management is a separate module which basically checks whether the customer
credit is in good holding and if not,it will put the customer order on hold.
Credit management can be hooked up to the OM/AR/Collections as different touch points.
(just like ipayments module).
55). Is a move order created for a non-reservable items ?
No, when you created a non-reservable item and pick release a sales order for that item,
then there will not be a move order and hence there will not be a reservation or
the item movement from the current subinventory to the staging inventory.So the item
stays in the place where it is currently. This is said to be looser inventory control.
55 a).What is the difference between pick releasing a Reservable Item versus
Non-reservable Item?
Usually the inventory items are by default reservable and when an order with
a reservable item is pick released , then during the allocation and transaction
process, the material reservation is made and move order is transacted.
However when a order with a non-reservable item is pick released, then during
during the pick release process,then there is no allocation required.
56) What are the conditions under which the inventory quantity can be driven
negative(for non-reservable items)?
Usually when the items are non-reservable, then the pick release process will
not check for the item quantity and there is no reservation involved. Hence
when you shipconfirm ,there is a chance that sufficient quantity might not be
there to ship.
So if there is insufficient quantity in an inventory organization ,&
if negative quantities are allowed in that organization , &
if the item and subinventory both are reservable (if an item is reservable
but a subinventory is not, the item quantity in that subinventory is not
reservable),
Then if the above conditions are satisifed, the inventory quantity can be
driven negative.
57). What are the consequences of allowing /disallowing negative balances in inventory?
If you do not allow negative balances in your inventory it will block any shipment
(delivery) where a line is shipping more than the quantity available in inventory.
The error is generally human. You accidentally enter a larger Ship Quantity than you picked.
The whole delivery will be stuck in the Inventory Open Interface.
To solve the problem either go through the entire delivery and find out which line
was overshipped. Then move the required quantity to the staging area and resubmit
all the lines in the Inventory Open Interface. Now run the Interface Trip Stop - SRS
in Order Management. This should do the trick.
Otherwise, allow negative balances in your inventory. And resubmit etc. When the
delivery has been processed there will be a negative balance in the staging area.
Research onthis. if the shipped quantity is more than the requested quantity for the reservable vs non reservable items
do a copmlete flow on this. ??
58). How to create a Manual Delivery in OM ?
Navigate to Shipping Transaction Form
Ensure that radio button is on deliveries in the top right corner (ie in "Search For" region)
Click On find button (You can enter a few criteria to make the search faster)
Once the results screen opens, click on the general create button green "+" icon at
the top left menu.
It will create a new record. Enter all required details and save.
Now you can come to the shipping trx form ,find delivery lines for a sales order and
assign the manually created delivery above to these delivery lines.
This can be understood in the way that when we create a customer, the first thing
that comes up is the customer search screen,so that we can find existing customers,so
that there are no duplicate customer entries.
59). what is the difference betweeen manual delivery vs automatic delivery ?
Actually the difference is when you are creating Automatically, the system will
create one delivery for the lines involved but if you want to do it your way i.e.
either club deliveries or may be have a delivery for each line seperately then it's of use.
To my knowledge if you don't have a seperate Trip Planning or Delivery Planning department
it should be left to create aumoatically as you won't be getting benefited much by that.
59). How do you fulfil an RMA order?
Standard tangible orders(with tangible items) are fulfilled by physically shipping those
items. However return orders(like return only, rma only, rma with credit etc) are fulfilled
after we receive that item into the inventory. So the steps would be
- First book the rma order and note that order #.
- then go to purchasing/receipts and in the customer tab, receive that item
into inventory. check to see if the onhand has increased,ensure that the
receving transaction processor is running.
60). What are the steps involved in shipping of an ATO Item ?
For ATO model you cannot ship the item immediately after booking. Please
find the following steps.
Click the actions button and select progress order. This will run a concurrent
program called autocreate final assembly. If you see the output of the
request you will get the job no.
Query the job in discrete job window and check whether it is released.
If not release it.
Transact the job in move transaction form.
Complete the job
Now query your sale order and check the line status. It will be Awaiting
Shipping.
Now you can ship the order.
61). What is lead time ?
The generic lead time definition suggests it is the amount of time between the
placing of an order and the receipt of the goods ordered.
Usually we can see it as the time difference. So we can have different kinds of
lead times like Transit lead time & Delivery Lead Time etc.
62). What is the difference between Operating Unit Id and Inventory Org id?
As mentioned before, usually whenever we are dealing with org id's in the
Purchasing,OM, we are referring to the operating unit id, while in the
inventory we are referring to the inventory org id.Now when we enter lines
in OM, we choose an inventory item id. Now this inventory item is corresponding
to the inventory organization id that is specified in the Warehouse id.
Actually the warehouse id corresponds to the Inventory Organization Id.
Incidentally the warehouse id is present both at the header level as well
as the line level. Also we can even mention what is the subinventory from
which this item should come at the order line level.
So what this effectively means is that we can place sales orders having
two lines corresponding to the two different inventory organization ids as the
warehouse id is present also at the line level.
63). What are defaulting rules in Order Management ?
Generally while we are creating an order online/offline, certain information
defaults based on the defaulting rules. these defaulting rules can be defined from the
setup => rules => defaulting.
One important point to note here is that when we create a default rule for each
attribute, we mention what is called the default sourcing rules. Here we specify
the sequence in which this attribute will be sourcing. An an ex, consider
a bill to attribute, we specify the sequence as
shipto. billto
customer.billto
blanketheader.billto
agreement.billto.
which means if the shipto entity does not have the billto info,then it goes
to the customer and gets the billto, and if it does not find there to
it goes to blanketheader and gets it etc.
64). Explain the terms, Manufacturer, distributor,reseller, retailer?
A Manufacturer manufactures or produces the goods etc.
A Distributor buys the goods from the Manufacturer, stocks them and sells them
to the resellers or retailers(although he may not stock them sometimes).
Reseller(also called Value Added Resellers,VAR's) will get the goods from a distributor
and sells it to the consumers. Remember they add value,rather than just selling like
that. For ex; they buy a computer and they can add a one year ext warranty for that
for a price and then sell it.
Retailer is also a reseller,however they usually dont add value,they just sell like that.
64a). What is the difference in buy-stock-sell vs sell-source-ship model?
The traditional model of buy-stock-sell is distributors will buy goods, stock and sell
them; in this model the lead time for the order fulfilment is very less.
The new model is sell-source-ship ,where we take the order and source those orders
from an external supplier (at that point of time) and then ship, here the lead time
is more,however it results in cost savings. This is typically the drop ship model.
65). How does the receiving system recognize the difference between receipt of a regular PO
versus drop ship PO???? i.e what is that specific flag that recognizes the difference ?
I believe when an order line is marked as with source type "External", then it make
an entry into a drop ship sources store(i.e oe_drop ship sources which stores the
order header and line id info).
And when the receiving system looks for a PO, it looks in this table if it is a drop
ship PO, and if it is then it does a logical receipt of the goods.
66). What is the logical receipt of goods in the system?
The logical receipt means the onhand quantity does not go up in the inventory. Basically
the system increments and decrement in one transaction and onhand remains same. This happens
in the case of drop ship PO receipt of goods.
67).How do you do a drop ship order across operating units i.e you create an drop ship
order in US to ship a product from an australia supplier to your australia customer?
Basically cross OU/ledger functionality is available only in R12 and not in 11i.
The only difference is a couple of steps
First, set the receiving or in the sales order line as cross OU,receiving org.
second, receive the PO in the desitination OU/ledger and follow the same stepsfrom thereon.
Third, intercompany transactions for this transfer.
Subscribe to:
Post Comments (Atom)
Query to Find Receipt Class and its GL Combinition Query
SELECT ARC.NAME ReceiptClass, ARC.CREATION_METHOD_CODE Creation_Mehthod, DECODE (ARC.REMIT_METHOD_CODE, ...
-
GL AND AP GL_CODE_COMBINATIONS AP_INVOICES_ALL code_combination_id = acct_pay_code_combination_id G...
-
Accounts Receivables useful information ACCOUNTS RECEIVABLES: ==================== ACCOUNTING METHOD , ACCRUAL OR CASH : So do you...
-
SELECT hou.name Organization_name, ---------------------- --Customer Information ---------------------- ...
Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!Thanks order management system
ReplyDelete