Flexible Pickup&Delivery Window Interpretation
In the past some of our customers might initially have been confused by the result of our planning due to the way our system interprets the pickup&delivery windows during optimization/scheduling. In some cases this is based on a misconception that the scheduling tries to fit the departure/arrival time in the corresponding freight unit windows. What it actually tries to fit is the loading/unloading times. Per default on an outbound stop the system will try to fit the loading start, on inbound stops the unloading end.
For those who have not yet worked to much with times in TM, just a quick introduction on the most relevant ones for this blog below. All of them can be found on the BO Node TOR~Stop.
Input for scheduling:
- ACC_START/END: Hard Constraint for planning that must not be violated. E.g. determined by Material Availbility Date on Sales Order
- REQ_START/END: Soft Constaint for planning that can be violated but lead to penalty cost during Optimization (if set-up).
Output from Scheduling:
- PLAN_TRANS_TIME: Planned departure Date&Time for Outbound; planned arrival Date&Time for Inbound
- ASSGN_START/END: Planned Loading Start&End for Outbound; planned Unloading Start&End for Inbound
But let’s take a scenario: We have a requested delivery to a customer at 3pm. Based on our contract we are obliged to deliver exactly at 3pm. (This means freight unit acceptable start&end will both be at 3pm for the freight unit inbound stop) In our system we have maintained a loading and unloading time of 2hours each and the travel time will be calculated with 3 hours. For simplicity there are no constraints for when the goods can be picked up from our warehouse.
If we now do a simple VSR run the result will come back as ilustrated below.
For some customers (from different industries) this result is unexpected as according to their business logic a delivery time at 3pm means that the truck actually has to arrive at 3pm.
For those of you, who belong to the group confused by this behavior: I believe the rationality behind the default on inbound, is that the cargo/delivery is handed over when it is unloaded fully from the truck not when the truck arrives at the customer location.
Our customer is actually expecting his scheduling result to look as below:
To support this requirement, with S4HANA 2020, we enhanced our Pickup&Delivery window condition with a new result parameter “Calculation Base” to controll how the system should actually interpret the window during scheduling, if either start or end of (un-)loading should be considered. If initial the system will apply the default as described above, otherwise the values E and S can be set to tell the system how to behave.
The integration in the PUDL window condition offers a nice flexibility to for example treat customer stops differently as your own stops during inbound etc.
Find the discussion on LinkedIn:
Will appreciate if you can share some more insights on the various options in PUDL which we set up in FU type.Does the routes maintained in sales order has any impact on PUDL since sales order scheduling is not available in s4
for the general information around PUDL windows, how they are set-up and considered by the scheduling/optimizer, please find the official documentation, below:
In general the dates determined on your SD/MM documents will be transfered to the freight unit as input. E.g. Requested Delivery date on Sales order is requested end date on the inbound stop of freight unit, the material availablity date is the acceptable start of the freight unit outbound stop. So if you use the SD routes to determine those dates.
In the freight unit type you can maintain if acceptable dates are in addition filled up based on requested or only the requirement dates are taken over. And if there are more requirements you can use an additional condition as described in the SAP help above.
Just started to learn SAP TM. Finding it very complex since SAP Help does not explain things with examples as you have explained above.
I have a confusion. In sales order, the material availability date, loading date, Pick date is calculated an that must be getting transferred to TM. So why there is a need to define Separate Loading/Unloading duration in SAP TM ? I cant understand this,
For eg. In sales order, loading date is the date by which loading must begin and Post goods issue date is the date by which Goods issue must happen. So we have the loading duration (PGI minus loading date) from sales order an that gets transferred to TM. SO why to define loading durations separately in TM.
AM I missing something ?