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:
-- Standard Parameters.
--Parameters for WSH_DELIVERIES_PUB.Delivery_Action.
-- Handle exceptions
-- Initialize return status
x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
-- Call this procedure to initialize applications parameters.
user_id => 1318
, resp_id => 21623
, resp_appl_id => 660
-- Values for WSH_DELIVERIES_PUB.delivery_action
p_action_code := 'PICK-RELEASE'; -- Releases Lines related to a delivery
p_delivery_id := 3773373; -- delivery ID that action is performed on
-- Call to WSH_DELIVERIES_PUB.Delivery_Action.
p_api_version_number => 1.0,
p_init_msg_list => P_init_msg_list,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_action_code => p_action_code,
p_delivery_id => p_delivery_id,
p_delivery_name => p_delivery_name,
p_asg_trip_id => p_asg_trip_id,
p_asg_trip_name => p_asg_trip_name,
p_asg_pickup_stop_id => p_asg_pickup_stop_id,
p_asg_pickup_loc_id => p_asg_pickup_loc_id,
p_asg_pickup_loc_code => p_asg_pickup_loc_code,
p_asg_pickup_arr_date => p_asg_pickup_arr_date,
p_asg_pickup_dep_date => p_asg_pickup_dep_date,
p_asg_dropoff_stop_id => p_asg_dropoff_stop_id,
p_asg_dropoff_loc_id => p_asg_dropoff_loc_id,
p_asg_dropoff_loc_code => p_asg_dropoff_loc_code,
p_asg_dropoff_arr_date => p_asg_dropoff_arr_date,
p_asg_dropoff_dep_date => p_asg_dropoff_dep_date,
p_sc_action_flag => p_sc_action_flag,
p_sc_close_trip_flag => p_sc_close_trip_flag,
p_sc_create_bol_flag => p_sc_create_bol_flag,
p_sc_stage_del_flag => p_sc_stage_del_flag,
p_sc_trip_ship_method => p_sc_trip_ship_method,
p_sc_actual_dep_date => p_sc_actual_dep_date,
p_sc_report_set_id => p_sc_report_set_id,
p_sc_report_set_name => p_sc_report_set_name,
p_wv_override_flag => p_wv_override_flag,
x_trip_id => x_trip_id,
x_trip_name => x_trip_name
IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS)
DBMS_OUTPUT.PUT_LINE('The delivery '||p_delivery_id || ' is successfully pick released');
WSH_UTIL_CORE.get_messages('Y', x_msg_summary, x_msg_details,x_msg_count);
IF x_msg_count > 1
x_msg_data := x_msg_summary || x_msg_details;
DBMS_OUTPUT.PUT_LINE('Message Data : '||x_msg_data);
x_msg_data := x_msg_summary;
DBMS_OUTPUT.PUT_LINE('Message Data : '||x_msg_data);
The delivery 3773373 is successfully pick released
Test the API:
select * from wsh_new_deliveries where delivery_id = 3773373;
Here the STATUS_CODE will be 'OP'
select RELEASED_STATUS from WSH_DELIVERY_DETAILS where delivery_detail_id = 3963468;
- MTL_TXN_REQUEST_LINES (LINE_ID goes as TXN_SOURCE_LINE_ID)
- (move order tables. Here request is generated to move item from Source (RM or FG) sub-inventory to staging sub-inventory)
- MTL_MATERIAL_TRANSACTIONS_TEMP (link to above tables through MOVE_ORDER_HEADER_ID/LINE_ID, this table holds the record temporally)
- MTL_SERIAL_NUMBERS_TEMP (if item is serial controlled at receipt then record goes in this table)
- MTL_SERIAL_NUMBERS (enter value in GROUP_MARK_ID )
In shipping transaction form order status remains “Released to Warehouse” and all the material still remains in source sub-inventory. We need to do Move Order Transaction for this order. Till this no material transaction has been posted to MTL_MATERIAL_TRANSACTIONS.
Below post will give you the details about the pick release status
Instance: 11i or R12
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.