Skip to main content

Hello,

 

Since we went live with IFS, we’ve used pick lists to create shipments for our customer orders. From time to time, we need to manually create a pick list using the Create Pick Lists for Customer Orders page (or the Quick Order Flow Handling page). In the past (most recently in 23r1), this generated a pick list which triggered the creation of a shipment since all of our customer order lines are set up to create shipments at the time of pick list creation. It’s also important to note that the pick list was created with a consolidated order number versus a regular order number when following this process.

Now, we get a non-consolidated order number on the pick list, and no shipment is created. All of the shipment type settings that are common between 23r1 and 24r1 are the same and the order lines are saved with the At Pick List Creation shipment creation method. Has something changed? I know there are new Shipment Consolidation parameters (versus Shipment Line Consolidation parameters) in 24r1, but even trying to set those up didn’t seem to help. We can’t figure out why the shipment is not even being created at all.
 

 

I found that this is a bug in the newly created CREAT_PICK_LIST_API.Create_Ship_At_Pl method. If the customer order backorder option is set to No Partial Deliveries Allowed, then the logic does not allow for a shipment to be created regardless of any other circumstances/values, as the variable backorder_check_passed_ never has the opportunity to be set to true.

 

-- Create_Ship_At_Pl
-- This procedure checks the backorder_option_ and handles connecting Customer Order Lines to appropriate Shipments
-- when executing "Create Pick List" for the Customer Order/Orders only if it passes.
@UncheckedAccess
@IgnoreUnitTest DMLOperation
PROCEDURE Create_Ship_At_Pl (
shipment_id_ OUT NUMBER,
backorder_check_passed_ OUT BOOLEAN,
order_no_ IN VARCHAR2,
line_no_ IN VARCHAR2,
rel_no_ IN VARCHAR2,
line_item_no_ IN NUMBER,
shipment_id_tab_ IN Shipment_API.Shipment_Id_Tab,
ignore_existing_shipment_ IN VARCHAR2,
backorder_option_ IN VARCHAR2)
IS
BEGIN
backorder_check_passed_ := FALSE;

IF (backorder_option_ != 'NO PARTIAL DELIVERIES ALLOWED') THEN
-- Check whether the line level Backorder_Check is passed or not.
backorder_check_passed_ := Line_Backorder_Check_Passed__(order_no_, line_no_, rel_no_, line_item_no_, backorder_option_);
END IF;

-- If backorder_check_passed_ is TRUE connect CO line to a Shipment.
IF (backorder_check_passed_) THEN
Shipment_Handling_Utility_API.Add_Source_Line_To_Shipment(shipment_id_,
order_no_,
line_no_,
rel_no_,
line_item_no_,
Logistics_Source_Ref_Type_API.DB_CUSTOMER_ORDER,
Sender_Receiver_Type_API.DB_CUSTOMER,
shipment_id_tab_,
ignore_existing_shipment_);
END IF;
END Create_Ship_At_Pl;

 


Reply