Skip to Content
Product Information
Author's profile photo Marcus Zahn

Monday Knowledge Snippet (MKS) – 84 Detailed Package Building – Product independent packaging definitions

Today’s MKS is about improving a flaw of the Supply Chain Execution Package Builder (SCE PB) that has been there from the very beginning: The product package type assignment. Main task of this transaction is to define into / onto which package material an item shall be packaged and which constraints (maximum height / weight and so on) shall be applied. Started as a very straight forward definition designed together with the first front-runner customers, but grew bigger and bigger over time.

Logic of the PB was to determine for an item (defined by the keys product + business partner + location) exactly one entry and apply those definitions while packaging. It became clear quickly that no customer wants to maintain really for each product those assignments, as many products behave the same. So the definition supported pattern entries (*, A*) for all key fields requiring a pretty complex sorting and evaluation logic. Up- and download was also possible.

With the growing number of SCE PB customers, 2 key issues became obvious:

  1. Pattern entries are evil
    • Even though it is possible to minimize the number of required product package type assignments using patterns, this proved to be still cumbersome as it requires strict naming conventions. Especially the combination of multiple pattern entries (for example for product AND Business Partner) is hard to understand. In addition, the newly supported multi level packaging introduces even more complexity to this definition.
  2. Many definitions are not product specific
    • Taking a closer look at mixed package building, I must admit that most definitions available in the product package type assignment are not product specific, but on a high level. Typically, a customer (so business partner) or a specific warehouse (so location) defines specific rules for the allowed or desired mixed packages / pallets. Questions like How many different products shall be on a mixed pallet? How high shall a mixed pallet be that can be handled in a specific warehouse? Does the customer demand separation material between the product layers? This can be maintained and expressed correctly in the existing definition, but is hard to keep consistent and is hard to be changed.

As always in SAP applications it is hard to get away from existing definitions and clean them up. For compatibility reasons, the SCE PB supports exactly the same ‘old’ fields ate the logically maybe not correct spots and behave the very same for those definitions. This is of course important for upgrades. But now it offers a new way to cope with the requirements.

1. Remove need for pattern entries:

  • The PB has been improved to now support for the product key reference materials (see MKS81). As reference materials can be structured in a multi-level hierarchy, it is now possible to define packaging specific definitions exactly on the required level (for example for a very specific product group – all small can products). The PB will use the definitions found on the most specific (so lowest) reference material.
  • The PB in addition supports for the location key now the usage of a location hierarchy. So all warehouses that have the same packaging definition, can be grouped together and the definitions made once. The location hierarchy to be used can be defined in the enhanced package building profile, for which I will spend a future MKS.
  • For the business partner it was decided to not change the behavior. I can imagine the usage of an organizational hierarchy, but at this stage we had no customer at hand working this out together with us.
  • So guideline for the maintenance is to avoid pattern entries and use the newly supported options for the product and location. What stays as guideline unchanged: Try to find a definition with minimal entries, so only define a new entry if something is specific and different. My assumption is anyway that with the changes described in the following section, the number of product specific entries will decrease a lot

2. Product independent definitions

Package Type Assignment

  • The product package type assignment has been enhanced into a direction of packaging definitions. Those definitions are a combined definition of business partner specific settings, business partner and location settings, and the ‘old’ product specific settings.
  • Note that the menu entry does not need to be changed, but links to the new enhanced definitions in TM 9.6 with the activated PB switch /SCMB/PB_SFWS_714
  • Logic is to determine the definitions as a combination of the 3 layers: In case a product specific setting has been made, this is the most specific. In case no definition is made, the PB takes the setting of the higher level (for example business partner – location specific). To further support this, it is possible to specify in the setting now not only yes / no for indicators, but also UNDEFINED. So if it is required to set a different maximum height for a product, but keep all other definitions on the BP level, all fields should be set to UNDEFINED. Unfortunately this does not work for value fields, so here it is required to take over the global values.

Undefined Settings

So here is a summary of how I would maintain package type definitions:

  • Maintain a single global entry in the product package type assignment covering the majority of the products with the most common constraints (75% of the products go onto a CHEP pallet, global company height limit of pallets is 1,5m, separation material is common between product layers, …; REFERENCE_MAT_TOP -> CHEP_PALLET)
  • Maintain a single entry in the product package type assignment per product group (on highest possible reference material) that needs to be cartonized (REFERENCE_MATERIAL_TEA -> STOCK_CARTON + PICK_CARTON)
  • Maintain all the required explicit product package type assignments to cover multi level packaging (all carton -> pallet definitions need to be explicitly defined; one standard assignment per carton; STOCK_CARTON -> CHEP_PALLET + PICK_CARTON -> CHEP_PALLET)
  • Maintain all deviation on highest possible level (Customer A has specific limits -> one new entry in BP / Location definitions) -> here it is important to really understand for which customer, location or product set deviations are applicable

Function modules for up- and download are available in function groups /SCMB/BAPI_BPL_PKG_ASSIGN, /SCMB/BAPI_BP_PKG_ASSIGN and /SCMB/BAPI_PRD_PKG_ASSIGN.

I am confident that with the new options it will be possible to keep the complexity of the definitions as low and understandable as possible.

Assigned tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Marcus Zahn
      Marcus Zahn
      Blog Post Author

      Here is the link to the LinkedIn discussion: https://www.linkedin.com/feed/update/urn:li:activity:6513386811019005952

      Author's profile photo Marcus Zahn
      Marcus Zahn
      Blog Post Author

      Here is the link to the MKS overview page: https://blogs.sap.com/2013/05/21/monday-knowledge-snippet-series/

      Author's profile photo Marcus Zahn
      Marcus Zahn
      Blog Post Author

      Here is the link to the Detailed Package Building overview MKS: https://blogs.sap.com/2019/02/04/monday-knowledge-snippet-mks-79-supply-chain-execution-package-builder-enhancements-detailed-package-building/

      Author's profile photo Marcus Zahn
      Marcus Zahn
      Blog Post Author

      Transaction Code:

      Product Package Type Assignment: /SCMB/PB_PRD_PKG_ASS

      Package Type Assignment: /SCMB/PB_PKG_ASS

      Author's profile photo R. Criellaard
      R. Criellaard

      Hello Marcus,

      We need to create packages depending on production batches. Is the Package Builder able to separate the batches?

      Example:
      If something is wrong in the production process only this batch need to be return, mixing of batches is not allowed because of this reason. And related to expiry date of the product it's important to not mix batches.

      Kind Regards,

      René

      Author's profile photo Marcus Zahn
      Marcus Zahn
      Blog Post Author

      No, this is not possible yet.

      Author's profile photo Thomas Pongratz
      Thomas Pongratz

      Hi Marcus,

      is it possible to implement custom-logic for the package type assignment? Our customer has it's own logic of how to determine the package material. Is there a  method in the BAdI Defintion /SCMB/EX_Package_builder that you can recomend to use? We are on release 1809.

      it would be great to just have a brf condition table for it 😉

       

      Thanks

      Tom

      Author's profile photo Marcus Zahn
      Marcus Zahn
      Blog Post Author

      Enhancement spot method: /SCMB/IF_EX_PACKAGE_BUILDER~DETERMINE_PACKAGE_TYPE

      I know a lot of customers having done this. If you also need to set packaging definitions: /SCMB/IF_EX_PACKAGE_BUILDER~DETERMINE_SPLIT_FACTOR

       

       

      Author's profile photo Nilay Mehta
      Nilay Mehta

      Hello Marcus Zahn

      In Product-Package Assignment, if two products are assigned the same carton and the carton in turn is assigned to a Pallet. Then PB always creates two levels of hierarchy on the Freight Order - PALLET -> CARTON -> PRODUCT.

      However, is there is a possibility to stop the second level packaging for only one of the products? Example, product1 goes into a carton and carton goes in the pallet but product 2 only goes into the carton but NOT into a pallet?

      Thank you,

      Nilay Mehta

      Author's profile photo Amaury Froment
      Amaury Froment

      Hi Marcus,

       

      Thank you for this MKS also.

       

      We are trying to use detailed package building but having error "No active destination for optimizer application ID". I think this is due to wrong connection with PB Otimizer, but which one is used by PB ?

      Is it same one than for planning ?

      Thank you,

      Best Regards,

      Amaury.

      Author's profile photo Nilay Mehta
      Nilay Mehta

      Hello Amaury,

      PB optimizer used is VSO01. It can be activated using t-code RCCF_CUST.

       

      PB%20Optimizer%20-%20RCCF_CUST.

      PB Optimizer - RCCF_CUST

      I hope this helps.

      Thank you,

      Nilay Mehta