Skip to Content


Requirement is to convert one material into another material having different Unit of Measurements

Restrictions of not to use 309 movement type and production order process

Account posting restrictions

Process starts from SD till MM (Inventory)


  • Process is designed for Customer Warranty returned/Damaged batteries. Where returned batteries moved to LAB location (Inspection location that is not QM managed) for inspection.
  • All these batteries coming from customer are having unit of measurement EA – Each. And all these batteries need to be recycled 100%. This recycling involves converting these batteries into one Semi finished material used in batteries called Core.
  • All these batteries need to be converted into single Core irrespective of size of battery. Unit of measurement of Core is KG – Kilogram.
  • So the requirement was converting Batteries (EA) into Core (KG)



  • Customer Warranty returned/Damaged batteries (EA) coming from customer against “Return sales order”
  • Returned batteries (EA) taken into companies block stock using GR against “Return delivery”. Block stock used because after GR no should use them for dispatch or MRP.
  • Once inspection is done batteries are ready for recycle. This inspection is just a visual damage or warranty check no QM check involved in this.
  • Once inspection is done batteries are broken and Cores are taken out of it. And sent to other plant for recycling. This Core is in KG unit of measurement.



  • We can not use standard movement type 309 – Material to material transfer. As this movement type requires both materials in same unit of measurement.
  • We can not use production order option as there were thousands of batteries and single Core. So there are BOM issues and also Battery to Core conversion was based on Sales order material list.
  • Batteries are finished product and Cores Semi-Finished. So there is price difference either positive or negative. Because all returned batteries got converted into single Core material. So this difference amount should get posted to one specific G/L account.
  • FI/CO restrictions were there. They require specific cost center based on G/L account, controlling area, Chart of account and profit center combination stored in a custom Z… table. Also they require an additional field “Order” in accounting document. Field value of this Order should get fetch from Customer master “Search term 2”. This Order is an Internal orders are generally used to plan, collect and settle the costs of internal jobs and tasks.
  • Conversion factor for unit of measurement was 1 EA = 16.25 KG. So even though we were having single core material we need to flexible on conversion factor. We can not hard code 16.25 in program.


  • To meet the client requirement we need to create a custom transaction that can convert Batteries into Cores. For this we have selected standard movement types 201 – Consumption for cost center from warehouse and Consumption for cost center from consignment – reversal. We made copy of these movement types as ZI1 and ZI2 respectively. Custom transaction will post these movement types in background. Also we require some custom changes from FI/CO point of view.
  • Solution flow will be –

Custom transaction is posting movements 343 – Transfer material from blocked to un-restricted, ZI1 – Consume Batteries and, ZI2 – Create Core with equivalent weight (ZI1 and ZI2 are copy of 201 and 202 with some customization changes).

  • Customization changes –

         As we require additional field “Internal order” while posting ZI1 and ZI2). For Enjoy transaction MIGO there is a provision by which we can      activate suppressed fields. So we have activated “Internal order” field for ZI1 and ZI2 movement types. After activating internal order field we         get this field in “Account assignment” tab in MIGO.


When we have a requirement where we need to convert one material into another with different unit of measurement. We can not use movement type 309 as it requires both materials in same unit of measurement. And if there is restrictions not to use production order process. Then we can use 201 and 202 movement types as alternate solution for it.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

    1. Former Member Post author

      Good question….

      If there is any change in future for conversion factor then system should consider new conversion factor not the old one.

  1. Bisweswar Sahu


    This is a good solution,

    I would like to know the control part i.e

    No one should use for other purposes as the pair is a copy of 201-202.


    How Cost difference(+/-) between Mtr-1 & Mtr-2 will impact ML process as there is no relation between them.

    Can you share the Description, you used for this movement pair.



    1. Former Member Post author

      Hi Bisweswar,

      Regarding restricting these movement types – Add those movement types in a specific role which is assigned to users who are handling this these movement types.

      Regarding cost difference – Configure custom Account modification and assign required G/L account to it in config. So that when we call BAPI for goods movement, it will post difference amount to that custom G/L.



  2. Cecil D'Souza

    This solution has be very professionally documented with indentation and sub-titles. This is what makes a document so interesting. Thank you Sagar, for your trouble and effort to share and document your knowledge.


Leave a Reply