15
2 Enhancements Unlock the Potential of SAP Wave Picking by Hasan Yakisan, Senior SAP LES Consultant, Substantia Group, Inc. June 12, 2009 SAPexperts/SCM Improve warehouse productivity and efficiency by streamlining your warehouse activities with wave creation logic and a wave monitor. Key Concept A warehouse pick wave consists of a group of deliveries or work packages that need to be processed together during picking. For example, these deliveries need to ship together on the same truck, or you need to pick these orders from the same warehouse pick zone. You can create pick waves either manually or automatically according to time criteria. Capacity or other restrictions can be taken into consideration when waves are formed. If the deliveries you need to pick are already assigned to shipments, you can refer to these shipments when the pick waves are formed by using the shipment number. This ensures all deliveries in one shipment belong to exactly one pick wave and that you are not

SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Embed Size (px)

DESCRIPTION

SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Citation preview

Page 1: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

2 Enhancements Unlockthe Potential of SAP WavePickingby Hasan Yakisan, Senior SAP LESConsultant, Substantia Group, Inc.June 12, 2009

SAPexperts/SCMImprove warehouse productivity andefficiency by streamlining yourwarehouse activities with wavecreation logic and a wave monitor.

Key Concept

A warehouse pick wave consists ofa group of deliveries or workpackages that need to be processedtogether during picking. Forexample, these deliveries need toship together on the same truck, oryou need to pick these orders fromthe same warehouse pick zone. Youcan create pick waves eithermanually or automatically accordingto time criteria. Capacity or otherrestrictions can be taken intoconsideration when waves areformed. If the deliveries you need topick are already assigned toshipments, you can refer to theseshipments when the pick waves areformed by using the shipmentnumber. This ensures all deliveriesin one shipment belong to exactlyone pick wave and that you are not

Page 2: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

allowed to distribute deliveries fromthe same shipment among differentpick waves.

In today’s warehouse operations, theinbound and outbound workload istypically optimized to maximizewarehouse use by providing thebusiness services required at theright time and the right place. Thisrequires careful planning andmanagement of product movementsthrough the warehouse. Waveprocessing allows you to take onmany of the complex requirementshigh volume warehouse operationsface in a variety of industries, such asretail or wholesale parts distributions.

One of my clients provides non-foodproducts almost on a daily basis tonational hotel and restaurant chainsacross the US. The company has sixdistribution centers nationwideprocessing several thousands oforder lines per day that need to beconfirmed and shipped within 24hours. The most critical requirementin its distribution centers was to beable to process a large number oftransactions (customer order lines) ina short period of time. Such highvolume warehouse environmentsrequire the ability to schedule andoptimize outbound shipments to getthe maximum output throughout theday. The key to such warehouse

Page 3: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

operations is to optimize and groupthe large number of order lines andcreate warehouse pick waves to beprocessed efficiently.

Most people underestimate thecapabilities of SAP ERP wave pickingfunctionality during the design phaseof an implementation. They think thatthe warehouse management (WM)application is just for creating transferorders for picking material. I willshow you how you can provideadditional functionality with twoenhancement options focusing mainlyon the outbound process. With myenhancement options you can definespecific picking waves based on waverules that reflect your warehousebusiness processes.

NoteTo achieve this goal, the SAPsystem has to apply the right set ofbusiness rules for grouping andsorting outbound deliveries. Sometypical business rules to managegroup deliveries into picking wavesinclude grouping deliveries basedon the combination of shipmenttypes, routes, shipping condition,delivery priority, and transportationzones. All these criteria are used inthe examples in my article.

Initiate Wave Picking

Typically, the standard SAP system without the custom waverule logic provides something similar to what is shown inFigure 7. The system assigns deliveries to a wave based onbasic weight or cube capacity limit rules for a wave. Thestandard logic creates only one wave per run until themaximum limit is reached. When the limit defined for the waveis reached, the rest of the deliveries remain unassigned untiltransaction VL35 runs again.

Page 4: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 1

Initial selection screen for transaction VL35(pick wave creation according to timecriteria)

This functionality can be sufficient for small and less complexwarehouse operations. Furthermore, you can manually handlesome of the shortcomings of this functionality during yourwave creation by selecting, or re-selecting, deliveries to begrouped into a wave for processing. However, if you have awarehouse that processes several thousand sales orders (ordelivery lines) per day or in one shift, then this functionalityisn’t possible.

The first step to unlocking the potential in your wave pickingprocess is to look into the standard WM pick wave creationlogic using transaction VL35. This transaction has a long list ofuseful selection criteria that allows you to retrieve the deliverynotes that you need to generate specific waves (Figure 1).

Page 5: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 2

You can increase the flexibility of transaction VL35 to use it ina high volume warehouse operation. Figure 2 shows the corewave picking process flow. The process starts with thecustomer sales order generation. These sales orders areallocated and scheduled based on the availability of theordered product. Then, the orders are converted to deliverynotes when due to be processed by the warehouse. Thedelivery notes can now be assigned to shipments and thenprocessed through the picking wave creation logic. Here iswhere you should position the enhancement of the wavecreations.

Next, the release of the picking waves to the warehousestarts. This process is managed from the wave monitor whereall activities for the outbound process are controlled. Themonitor is used to manage replenishments required for thepick bins of materials belonging to a wave or release wave.The release creates picking warehouse transfer orders andprints pick tickets for the warehouse to process. Thewarehouse transfer orders for replenishments and/or pickingcan be processed via radio frequency (RF) transactions.Standard SAP RF transactions are available to process thesewarehouse transfer orders; however, depending on yourwarehouse processes customized RF transactions can berequired.

Page 6: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Process flow for wave picking

Here are the three steps to adjust transaction VL35.

Step 1. Activate user exit EXIT_SAPMV53W_001 for creationof pick waves. To activate this user exit, create anenhancement project via transaction CMOD and assignenhancement V53W0001 to the project. EnhancementV53W0001 has three user exits EXIT_SAPMV53W_001,EXIT_SAPMV53W_002, and EXIT_SAPMV53W_003.

Next activate user exit EXIT_SAPMV53W_001 fromtransaction CMOD. You use this user exit to create pickingwaves based on customized wave rules whenever transactionVL35 is executed.

Step 2. Develop the wave rule logic. User exitEXIT_SAPMV53W_001 contains include ZXKWLU01. Thedevelopment to be placed within ZXKWLU01 should group thedeliveries due to be picked into waves based on your businessrules (wave rules). The wave building by the customizeddevelopment within user exit EXIT_SAPMV53W_001 includeZXKWLU01 involves the grouping of deliveries based on waverules as shown in Figure 5. See Download 1 (available in theDownloads section online), showing an example of thecustomized ABAP function module to implement wave ruleswithin user exit EXIT_SAPMV53W_001 from a previous client.

Here is how the solution was structured. First I recommendthat you create a custom Z-table to store and maintain thewave rules — an integral part of the enhancements — andbuild the wave rules similar to the SAP condition accesssequence concept. The condition access sequence concept isa search strategy that SAP ERP uses to search for conditionrecords valid for a condition type. Defining a Z-table to storethe wave rules rather than hard-coding the wave rules in theABAP code within user exit EXIT_SAPMV53W_001 will notonly simplify the ABAP code. It also allows easy adjustmentand maintenance of the wave rules with minimal or nochanges to your ABAP code. This design provides moreflexibility to make adjustments to wave rules in the future ifrequired by your warehouse operations.

Figure 3 is an example of a custom wave rule table from aclient showing the wave rule records defined for its warehouseoperations to build picking waves. The customized ABAPdevelopment within user exit EXIT_SAPMV53W_001 searchesthrough the wave rules Z-table to determine the best waverule to use for grouping the deliveries due to be picked intopicking waves. After the customized ABAP program withinuser exit EXIT_SAPMV53W_001 has completed the processof grouping the deliveries into waves, the system automaticallypasses these waves to transaction VL35 for furtherprocessing. Transaction VL35 generates the waves asproposed by the customized wave rule logic.

As mentioned, the concept of the wave rule Z-table simplifiesthe wave rule logic and provides flexibility for adjustments ifbusiness requirements change.

Page 7: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 3

Wave rule table setup and records

Figure 4

Add a new wave rule

For example, I want to add a new wave rule for warehouse310, shipment type Z001, and shipping condition 50. The newwave rule should be checked prior to the wave rule withsequence number 021. The wave rule with sequence 021 forwarehouse 310 is defined as the combination of shipment typeZ001 and shipping condition 40. I just add a new record to mycustom table as shown in Figure 4. This record is assignedthe sequence number 020. In my example, I manuallydetermined the sequence number. This ensures that thesystem checks this record prior to sequence 021 as shown inFigure 3. The key for my wave rules Z-Table is warehouseand sequence number as shown in Figure 3.

For my wave rules Z-Table in Figure 3, I primarily usedreference fields from the delivery note and shipment tablesLIKP and VTTK along with some custom data elements. Forexample, at this company’s warehouse, waves were notallowed to go across shipment types. Therefore, I added theshipment types as a field to the wave rule to my custom wave

Page 8: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 5

rules table.

The key to building the appropriate wave rule structure is tounderstand the operational requirements of your warehouse.That allows you to identify and build the optimum picking wavefor your warehouse. Be sure to include additional fields thatsuit your wave rule requirements in the wave rule Z-table. Forexample, you might want to create special waves for aparticular customer or transportation zones to allow thegeneration of picking waves specific to a delivery area.Likewise, if you want to process orders for your Tier 1customers, it makes sense to add the customer ID to thecustom wave rule table so you can create wave rules specificto customer IDs. These fields can be added via the standardSAP process of defining and creating a custom Z-table.

Once your customized ABAP code is in place within user exitEXIT_SAPMV53W_001 the system automatically invokesthese wave rules during execution of VL35 to build pickingwaves. The custom code within the user exit works throughthe list of the deliveries in the user exit, analyzes each ofthem, and assigns the most appropriate wave rule.

The customized ABAP code assigns the deliveries due to bepicked to the best matching wave rule until a limit/restriction ofthe wave rules is met. If the program encounters a limitationand more deliveries are available for grouping, the programstarts a new wave for the rule to continue building pickingwaves. When the customized ABAP code analyzes andgroups all deliveries are into a pick wave, transaction VL35displays the pick waves to be generated for the warehouse. InFigures 5 and 6, you can see the result of wave creation withthe user exit active.

Page 9: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Example of waves proposed based on waverules

Figure 6

Detailed view of deliveries within a pickwave grouped based on above waveproposal

The standard SAP logic proposes only one wave, as shown inFigure 7. Here, the system selects deliveries 500000472,500000819, 500000822, and 500001069. The remainingdeliveries are not considered for this run because the totalcapacity limit — the cubic feet size — for this pick waveprofile is 500 cubic feet. One reason for the capacity limit isthat you don’t want to create a wave greater than the capacityof your truck. If you increase the capacity or set it to unlimited,you risk getting a gigantic wave, which defeats the purpose ofoptimizing the warehouse workload. You would have to runtransaction VL35 multiple times until no more deliveries qualifyfor your selection to make sure the remaining deliveries areassigned to the wave. You can also manually select andinclude unselected deliveries into the current wave beinggenerated. Either way, this is not a desired business processfor a warehouse that processes a large number of deliverylines.

Page 10: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 7

Example of a pick wave based on standardSAP logic

Figure 8

Wave creation with wave rule logic active

Now look at Figure 8, which shows the wave processingresults for the same list of deliveries based on the proposedenhancement. All deliveries are assigned to an appropriatewave. The system grouped deliveries 500001584, 500001575,and 500001584 based on the rule number 021 (refer toFigure 4). One single run of transaction VL35 groups alldeliveries, and the waves show up on the wave monitor forprocessing right away.

Step 3. Release the waves. The next step is to release thesewaves at the right time to the warehouse operations forprocessing. Use either transaction LT42 (standard SAPrelease logic) or call LT42 from the pick wave monitor, whichhas a button as shown in Figure 11 to execute LT42. Therelease and print logic creates the required warehouse transferorders and generates any required warehouse paperwork (i.e.,

Page 11: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

pick list or labels). These transfer orders (instructions) canthen be processed via radio frequency (RF) transactions or aspaper-based picking. I will not go into any further details ofhow to process the warehouse transfer orders or complete thedelivery/shipments in this article.

Manage and Monitor YourWarehouse Pick Waves

The second enhancement allows you to manage and monitorthe waves created via the first enhancement. Once the wavesare released, it is critical to monitor the progress of the workthat needs to be performed to complete the wave (i.e., pickingstatus and packing status). This gives the outbound supervisorthe ability to identify and address any issues. For example, if awave cannot be completed by the time the carrier shows up, itcan result in additional charges for transportation or delaysubsequent waves. In the worst- case scenario, a shipmentwon’t be able to go out, causing customer dissatisfaction orpossible order cancellation.

For the picking wave monitoring, SAP provides transactionVL37, which is a basic wave monitor transaction (Figure 9). Itcan be useful for less complex warehouses. However, thismonitor is missing some critical information for typical highvolume warehouse operations. Here are some examples ofwave information that were critical to one of my previousclients:

Type of shipment

Delivery area

Shipping conditionLook at wave number 6300000537 in Figure 9. It is not clearon the standard SAP wave monitor what type of a shipment isassociated with the wave, nor any other specific informationsuch as shipping condition or delivery routes.

Page 12: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 9

An example of a standard SAP picking wavemonitor

Figure 10

An example of a standard SAP picking wavemonitor selective overview screen

Click the Analysis of Groups button to retrieve moreinformation about the wave (Figure 10). The standard SAPanalysis of the picking wave doesn’t include enough wave-specific information. For example, standard SAP uses thewave creation date stamp for the wave group description (e.g.,PW 04/15/2009). Finding out more information about the waveand its deliveries requires further analysis, which can be acumbersome and time-consuming task.

Page 13: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 11

Example of the enhanced wave monitor

Instead of using transaction VL37, I provide an example ofhow to build a custom, more advanced outbound monitor,much like an operations cockpit for the outbound supervisor.

Start with a copy of the standard SAP ERP programSAPMV53M for transaction VL37. Then, develop a custommonitor based on this program to present the critical dataelements for your specific outbound processes.

NoteIf you start building the new monitor with a copy oftransaction VL37, you retain all the functionality transactionVL37 contains. You can then determine which standardSAP components should remain active or be deactivated.

Figure 11 shows an example of a customized monitor Icreated that was based on a previous client’s businessrequirements. In the customized monitor, the wave descriptionfor pick wave 6300000537 is IMMEDIATE AIR NEXT D, whichmeans this pick wave contains immediate air shipments fornext day delivery. This can be critical for managing andprioritizing the work to fulfill the orders of the respective wave.

So how does it work? The custom ABAP subroutinedetermines the appropriate wave description showing on thecustomized monitor. This ABAP routine selects the correctwave description associated with the pick wave from thecustom wave rule table ZDT_WM_WAVE_RULE. The wavedescription is part of the wave rule. When the system finds thewave description, the ABAP routine invokes the Z-tableZ_FM_WM_PICK_WAVE_UPDATE_DESC to update databasetable VBSK with the description. This ensures that the system

Page 14: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Figure 12

Example of wave rules table with description

displays the correct wave description on your customizedmonitor.

For my earlier example of pick wave number 6300000537),the custom ABAP programming logic shown in Figure 12determines the wave description IMMEDIATE AIR NEXT DAY.The ABAP routine selects the description of the wave rule inFigure 12 from the custom wave rule tableZDT_WM_WAVE_RULE for warehouse 350 of pick wave6300000537 and sequence number 1.

That’s just one part of the customization of your wave monitor.Any additional customization should be driven by yourrequirements. Here is some additional information you mightwant to include in your monitor.

Replenishment Status: This status shows if prior to the releaseof the wave, transaction LP22 was executed to process anyrequired replenishments for the wave. For example, at thisclient’s warehouse, except for full pallet picking, all picking isdone from fixed bin locations.

Replenishment TO Status: This status shows the status of thereplenishment transfer orders related to the wave

Overall Warehouse Management Status: Overall WM statusbased on the status of the TO line items associated with thewave

Transportation Status: Transportation planning status based onthe shipment status of deliveries of the wave

Goods Movement: Goods movement status (post goods issue[PGI] status) of the delivery

Billing Status: Billing status based on whether an invoice wascreated for the delivery

Delivery Line Count: How many total line items must bepicked for the wave

Transfer Orders Count: How many transfer order line items tobe pick/packed for the wave have been generated

Open Transfer Orders Count: How many transfer order lineitems are still open, items remaining to be picked/packed

Page 15: SAPexperts _ 2 Enhancements Unlock the Potential of SAP Wave Picking

Handling Units: Total count of handling units associated withdeliveries of the wave

Dispatch Time: Planned dispatch time of the wave andshipment carrier associated with the wave