Understand SAP EWM – The purpose of wave templates

Understand SAP EWM

The purpose & functionalities of wave templates

Note: This post belongs to the blog-series ‘Understand SAP EWM the purpose & functionalities of wave template in SAP EWM. The purpose of these series of blog-posts is to explain the concept of the core features of SAP EWM in a simple way. It is intended to target EWM beginners and focuses on the basic understanding rather than the smallest details which will be communicated as part of future posts for more advanced users.

Again we start with our warehouse request. Please refer to the post about wave & resource management to get a basic understanding of the terms warehouse request & warehouse request items.

Wave templates in SAP EWM (1)
And again we – and also EWM – are only interested in the warehouse request items. So let us consider our bucket of warehouse request items for the following explanations:
Wave templates in SAP EWM (3)
This bucket represents our total workload. Now we need to decide which parts of this total workload should be processed at what times respectively in which time windows: But how do we get here?  Exactly at this point we make use of so called Wave Templates.
Wave templates in SAP EWM (2)

Open (german-speaking) EWM-Jobs @

To understand the functionalities around wave templates & wave template determination in SAP EWM we will use an analogy. Imagine a group of commuters having to come to their workplace in the morning via public transportation. Each of the individual commuters has his or her own requirements:
  • Where do I have to be picked up?
  • What time am I able to be at the bus station and what time do I need to be at my destination?
  • What company am I working for? (it might provide a dedicated bus for the employees)
  • Which class do I want to travel?
On the other hand, imagine different bus lines being available for those commuters. These bus lines have different characteristics and offerings. They are
  • running on different schedules with different frequencies
  • driving with different speed
  • offering different service levels
  • applying different kind of treatments in case one of the passengers does not have a ticket
  Now we need to decide which of the commuters is going to take which bus line and – one step further – which run from all the different runs that are offered by each line. In SAP EWM the bus line is our wave template and the run of the bus line is our wave template option. The specific bus which is executing the given run for this line will later is our wave. So as mentioned above, this is exactly what is happening here:
Wave templates in SAP EWM (4)
In the first step we check for each individual commuter where he or she has to be picked up, which class he/she wants to travel, what is his/her following connection etc.. Based on this we decide which  bus line should be taken. So in EWM we decide for each warehouse request item which wave template should be applicable. Technically SAP EWM is making use of the condition technique for the determination of the wave template. Basically, all data from delivery header & item can be considered as part of the condition tables (not everything is available standard condition tables but can be added via standard procedures of enhancing condition tables). So instead of checking the starting point and the travel preferences of our commuter we do here check the source activity area, route, document type,  delivery priority, warehouse process type etc. of each warehouse request item. In the second step we check the schedule of the given bus line and compare it with times our commuter has to be at his connection bus stop or workplace (plus we check the time when he/she is able to be at the departure bus stop). We do this to determine which run of the line is most appropriate for each individual commuter. In EWM – we check which wave template option is most suitable for our warehouse request item. Technically, EWM is comparing the planned GI date (in fact it is comparing the planned date/time for departure from yard but usually you map your planned GI date/time from ERP to this date type) with the times from the wave template option. Each wave template has one (or more) different options in the same way as a bus line has busses running at different times (above we called this the ‘runs’ of the bus line). So each wave running a specific option represents a bus operating one of the runs from the schedule:
Wave templates in SAP EWM (5)
Wave templates in SAP EWM (6)

So this template option – respectively our bus – decides now

  • at what time it starts (so basically the latest possible time when the commuter must be at the bus station) -> Some drivers are very friendly and do even allow to hop on while the bus is already driving.  Some are more restrictive and will close their boarding even some minutes before they are actually leaving. In EWM we call this the cut-off time (which can be overwritten by a specific indicator for spontaneous hop-on actions)
  • at what times it will be at the different destinations (note that based on the schedule each bus has different stations with different arrival times) -> In SAP EWM these different destinations are the pick, pack, stage & load steps of the storage processes
  • Decide how many passengers can be on the bus at a time -> In SAP EWM this is controlled with the Capacity which can be set on level of the the template option

Let us look at some examples to make it easier to understand:

  • The first bus of line 100 starts Tuesday morning at 7am at station 1. It can carry up to 80 passengers and arrives at station 2 at 7.30am, station 3 at 8am and its final destination at 9.30am. It offers only 2nd class service
  • The second bus line 100 starts Tuesday morning at 8am at station 1. It can carry up to 80 passengers and arrives at station 2 at 8.30am, station 3 at 9am and its final destination at 10.30am. It offers only 2nd class service
  • The first bus of line 200 starts Tuesday morning at 7am at station 1. It can carry up to 40 passengers and arrives at station 2 at 7.15am, station 3 at 7.45am and its final destination at 8.00am. It offers only 1st class service
  • The second bus of line 200 starts Tuesday morning at 8am at station 1. It can carry up to 40 passengers and arrives at station 2 at 8.15am, station 3 at 8.45am and its final destination at 9.00am. It offers only 2nd class service

Now commuter Bob is looking for a bus. He likes to sleep longer so he can be at the bus station earliest at 7.30am. He has 2nd class ticket and he must be at the final destination at 9am. So bus line 100 with the bus starting at 8am is going to be his choice.

Now commuter Mandy is looking for a bus. She has a 1st class ticket and can be at the station at any time. However, she must be at work at 8am. So bus line 200 with the bus starting at 7am is going to be her choice.

But what do we do now with the commuters who must be at work already at 7am? As there is no bus available on Tuesday morning which will cover this requirement they will have to start at Monday already. This is also why we are sometimes picking our goods on day 1 already although the truck picking up the goods is arriving on day 2 only. If your resources are not able to complete picking on day 2 before truck arrival, there is no option other than doing the picking on day 1. So if the planned completion time for the warehouse request item is earlier than the wave completion times specified in the template options, EWM sets the wave completion date to that of the day before the planned completion date of the given warehouse request item.

Anyway – back to our story –

Let us assume the bus is full – all passenger who were waiting at the bus stop are boarded (luckily, we had enough capacity). The bus is starting either manually (driver sitting at the driving seat starting the bus) or automatically (new driverless bus – engine starts automatically at the planned departure time -> this is the modern approach). In the same way, we can have a background job releasing our waves or one of the warehouse admins jumping in to release it manually (e.g. from EWM warehouse monitor). This is also defined based on the wave templates.

And that’s it!

Of course – as usual – there are also some exception cases for which we do not want to go into detail here. Just one to give this post a worthy end –

From time to time a ticket inspection takes place. Usually all passengers can show their valid tickets but sometimes we see fare dodgers or passenger who do only have a ticket for half of the way. In case the inspector is in a good mood, the passenger can stay on the train or try to borrow some money from some other passengers (and the inspector will come back later again). But usually the passenger is being kicked out of the bus. In this case the inspector is checking whether an alternative passenger with same preferences is sitting somewhere along the way. The bus will pick him up and proceed with the trip.

Romantic story isn’t it!? Good luck in trying to find the EWM counterpart on your own…

I hope this blog post provides value to you and you could learn something. Please feel free to subscribe to my blog updates or my youtube channel in case you want to be notified about new posts!

Get my monthly blog-updates!

Subscribe to my Youtube channel!