cancel
Showing results for 
Search instead for 
Did you mean: 

EWM Badi for Pick-HU creation with Z field

Private_Member_324719
Participant
0 Kudos

Hello experts,

I have a scenario in which the client does not want to work with nested-HU, even though fisically the pallet is always composed by cartons. We are managing this with a Z field at Pallet HU header level 'units per carton', filled by the operator at GR time, since the units per carton can vary a lot in each delivery, even for the same material/supplier. Nevertheless, inside one pallet all the cartons have the same quantity.

Problem arises downstream in the flow, at the time of replenishment, for instance. If i replenish 100 units from a pallet that has 20 units/carton in the Z field, i want the system to create 5 Pick-HU Carton, one for each 'real' carton.

I know we can use WOCR with Packing profile assigned, but it seems to work only with weight/volume/height checking against a pack.specification to determine the type and number of Pick-HU to create. What i need here is that for a specific WPT, pick-HU are created with a capacity = my Z field, so for a repl.WT of 100 EA, i would get 5 pick-hu assigned to 5 WT.

Could this requirement by adressed with the option of packing mode Badi (/SCWM/IF_EX_WHO_PACKING) in the Packing profile?

Do you see any simpler way to do this?

Thank you in advance,

João

Accepted Solutions (1)

Accepted Solutions (1)

former_member543347
Active Participant

Hi João,

"If i replenish 100 units from a pallet that has 20 units/carton in the Z-field, i want the system to create 5 Pick-HU Carton, one for each 'real' carton."

Would it be an option to create in this case 5 WT? One WT per desired HU. If so, you could possibly use the BADI /SCWM/EX_CORE_RMS_QUANTITY to manipulate the rounding when creating the WT. At this point you could retrieve your Z-field (provided that the HU is known) and set it for the WT quantity.

Private_Member_324719
Participant
0 Kudos

Hi Julio,

Thank you for your help.

Yes, this is what i say here : 'What i need here is that for a specific WPT, pick-HU are created with a capacity = my Z field, so for a repl.WT of 100 EA, i would get 5 pick-hu assigned to 5 WT.'

So yes, it can be one option. Do you know if this Badi is called when creating Replenishment WT?

Thanks,

João

former_member543347
Active Participant
0 Kudos

I'm pretty sure the BADI is called on any stock removal WT creation, regardless of activity PICK or REPL. But I'm casually testing a scenario with replenishment tasks, so I will set a breakpoint in our implementation of the BADI and send you a call stack in a few minutes.

former_member543347
Active Participant

Bingo. I'm creating order-related replenishment WTs with /SCWM/REPL. You just have to set lv_badi_anfml to your quantity pieces/carton. The source-HU should already be known in is_ltap.

Private_Member_324719
Participant
0 Kudos

Great!

Thank you for your help in this Julio 🙂

Private_Member_324719
Participant
0 Kudos

Julio,

This is the case for only one scenario. We will have other replenishment scenarios where we will move the entire Pallet from source to destination bin. In these cases, i want to ignore the Z field 'units/carton', since i'm moving the entire pallet in my WT.

How would you advise to differentiate it in the Badi implementation? We have different WPT for replenishment, and only for one of them we are breaking the pallet and taking the cartons, so only in this one we would need the mentioned Badi.

Thanks,

João

former_member543347
Active Participant

João,

In cs-ltap you have all the information you need to determine if you want to create carton or HU warehouse tasks:

  • warehouse number
  • warehouse process type
  • from-storage type, section, bin
  • to-storage type, section, bin
  • HU number
  • ...

Plus in SY you can always determine user and T-Code, among other interesting environment variables.

First thing in the BADI implementation, the developer should check the relevant values to decide if in this particular process the quantity needs to be changed or not. Best practice is to define some kind of parameter table instead of hard-coding the desired values, but it's up to you how you solve it.

Of course the BADI will be called very often, so you have additional code that has to be executed for every single WT creation. This will have an impact on the overall performance of your system, but it should be minimum if you have competent ABAPers. This is the price to pay when you need Z-logics.

Private_Member_324719
Participant

Thank you Julio! Great help.

Answers (0)