Category Archives: Scripts

Pick Release the Sales Order using WSH_DELIVERIES_PUB.Delivery_Action

Pick Release a Delivery using wsh_deliveries_pub.delivery_action API:

Once the Delivery Details are assigned to a Delivery the Next Step is to Pick Release the Delivery.

Sample code to Pick Release the Delivery:

Test the API:


  • (move order tables. Here request is generated to move item from Source (RM or FG) sub-inventory to staging sub-inventory)
  • MTL_MATERIAL_TRANSACTIONS_TEMP (link to above tables through MOVE_ORDER_HEADER_ID/LINE_ID, this table holds the record temporally)
  • MTL_SERIAL_NUMBERS_TEMP (if item is serial controlled at receipt then record goes in this table)
  • MTL_SERIAL_NUMBERS (enter value in GROUP_MARK_ID )

In shipping transaction form order status remains “Released to Warehouse” and all the material still remains in source sub-inventory. We need to do Move Order Transaction for this order. Till this no material transaction has been posted to MTL_MATERIAL_TRANSACTIONS.

Below post will give you the details about the pick release status
Instance: 11i or R12
Possible Values:
B: Backordered- Line failed to be allocated in Inventory
C: Shipped -Line has been shipped
D: Cancelled -Line is Cancelled
N: Not Ready for Release -Line is not ready to be released
R: Ready to Release: Line is ready to be released
S: Released to Warehouse: Line has been released to Inventory for processing
X: Not Applicable- Line is not applicable for Pick Release
Y: Staged- Line has been picked and staged by Inventory
Delivery line statuses in detail
Not Applicable (Code X)  
The delivery line can be invoiced but non-shippable, for example, a service line or a warranty line.
Not Ready for Release (Code N)
 The delivery line is not eligible for pick release. This happens when the order line is manually imported into Oracle Shipping Execution using the Import Delivery Line concurrent process or the corresponding order line has not reached the Awaiting Shipping workflow activity.
Ready for Release (Code R)
  The delivery line is eligible for pick release.  Occurs when the order line has reached the Awaiting Shipping workflow activity (it is booked, scheduled, and in Oracle Shipping Execution).
Submitted to Warehouse (Code S)
Pick release has processed the delivery line and has:
1.       Created move order headers and lines.
2.       Found available quantity and created inventory allocations.
3.       Not pick confirmed. If you are using auto-pick confirm, it changes release status to Staged. If you are not using auto-pick confirm and want to progress the delivery lines, navigate to Oracle Inventory Move Order Transaction window and perform manual pick confirm.
Staged (Code Y)
 The delivery line is pick confirmed; inventory is transferred from storage sub-inventory to staging sub-inventory.  It remains staged until ship confirm.
Backordered (Code B)
Some of the circumstances that can causes this status are listed below
a. Pick release has processed the delivery line and cannot find the entire quantity.  This typically occurs when the Oracle Inventory indicates that there is not enough material (either because there is not enough material or because the inventory balance is incorrect).
b. At ship confirm, you: Enter Shipped Quantity that is less than Original Requested Quantity Backorder the entire delivery quantity transfer a reservation to cycle count.
c. This typically occurs when the material that you want to ship:
1.       Has become unavailable, for example, damaged, between picking and shipping.
2.       Is available and you backorder material for specific business reasons. For example, all available material has been allocated to a specific customer when you find out additional supply for other orders will be delayed.
Shipped (Code C)
  The delivery line’s delivery is ship confirmed and posted as in-transit, OM Interface and Inventory Interface have processed, and the trip is closed.
Cancelled (Code D)

The order line that the delivery line supports is cancelled.

Assign Delivery Details to Delivery

Assigning Delivery Details to Delivery

Based on the delivery details assigned to the sales Order find the delivery detail id. Now we are trying to attach the Delivery Details to the New delivery which is created.

The delivery detail can be assigned to the newly created delivery by using the public API “WSH_DELIVERY_DETAILS_PUB. Detail_to_Delivery”. Continue reading

Create a New Delivery for an Existing Order

Create a New delivery for an existing Sales Order

We have created a Sales Order from Back End using the Sales Order API in Booked Status. The order Number Is: 66401. When an Order is in Booked status a delivery detail’s are created and which can be viewed from Shipping –> Transactions form from Front End.

Find out the existing Ship To Location Id, ship from location id, Organization id using the following Script:


Sample script to create Deliveries:

Once the delivery is Created look at wsh_new_deliveries for this delivery_id:


Create Delivery API

Creating a New Delivery:

Sample Script to Create a New Delivery with respect to its Location:

New Delivery ID : 3772374
New Delivery Name: AOATest-001

Script to verify the API:



Release Holds on a Sales Order

Release Holds on a Sales Order:

Sample code to release a Sales Order Hold: