Applies to: SAP ECC 6.0
Recently I came across a business process requirement on inventory management for Semi-conductor industry that looked like requires a niche software package, but I found that by innovative usage of existing SAP functionalities the same can be achieved thus enabling a cost saving potential. This article explain how this can be achieved
The business process scenario that will be solutionized in this article is from Semiconductor Industry. The semiconductor manufacturing is basically on silicon fabs/wafers. Wafers are unique products that contain within it electronic chips that can be of multiple statuses. So in a single wafer there can be a number of chips, while the quality of each chip can be different even though they are all part of the same wafer. It is this peculiarity that makes optimized inventory management very challenging.
Here is the business requirement. Inventory has to be managed at Wafer level, while each wafer has electronic chips which are divided into three categories
- Good Ones
- Low Speed Ones
- Scrap Ones
So each wafer should inventoried as single entity while the inventory of chips within each of the wafers are also to be inventoried as standalone items during production process, but until the production process, the chips will continue to part of the wafer. Only after being picked for issue to production, the wafer will be cut into of number of chips. So the chips inventory is basically in-process inventory.
The selection of wafers for issue to production should be based on optimization rule that maximizes the utilization of “Goods Ones” and “Low Speed ones”. The complexity here is that only the whole wafer can be issued to production, so whatever “Goods Ones” & “Low speed ones” used by that specific production process will decide whether all of them are used or some of them are used while the goal is to pick wafers in a such a way that all the chips that can be used are used.
Additional variability is the production requirement on the need for type of chips. It can be only “Good Ones” or “Low speed ones” or a mix of both. So the optimization should take into account this kind of variability also.
Can this kind of inventory management possible in SAP ECC?
First question is whether this kind of inventory management is supported by standard SAP or only niche products are capable of supporting such inventory management processes. My initial analysis pointed towards niche products only but I was able to design a solution using standard SAP functionalities by reducing requirement complexity. Here is the solution proposal with options and details about the most feasible option
Option 1 – Using BOMs
Represent Wafer and chip inventory as Bill of Material. Manage the inventory of both wafer (as BOM header material) & chips (as BOM component materials) as separate materials. Use alternate BOMs to represent different component material quantities as it is dynamic and will change from wafer to wafer
- No special customization required, pure standard SAP solution
- Inventory management will be plain & simple
BOM is a master data, to fulfill the requirement this process would need creation of alternate BOM after wafer is manufactured as only then the actual proportion of chips are known.
- Such reactive master data will be big road-block for planning.
- The number of alternate BOMs can become too big to manage properly resulting in unnecessary maintenance issues.
Option 2 – Using Batch specific UOM & Batch search strategy
Create material master data for Wafer which is inventoried like a normal material and then enable inventory at the level of chips by usage of Batch specific UOM functionality and Batch classification
- Uses standard SAP functionality
- Needs minimum master data – Just one material to
represent both wafer & chips
- Cost effective solution
- Usage of standard SAP functionality not specifically designed for Semiconductor industry, so can have un-intended issues
It is the option 2 that I am detailing out on how to achieve in this article
Required Configuration Steps
1. Configuration of for Batch Specific UOM
Define Batch Level
SPRO -> Logistics General -> Batch Management -> Specify Batch Level and Activate Status Management
Transaction Code -> OMCT
Define Batch Number Assignment
Based on the requirement of having an internal or an external batch number appropriate number ranges have be to configured and assigned.
- If the desired number range is to be internal, then there has to be an internal number range defined and assigned
- If the batch number is decided to be external, an external number range can be created and assigned or there can be no external number range too, in which the system will accept any alphanumeric batch numbers provided externally.
SPRO -> Logistics General -> Batch Management -> Batch Number Assignment -> Activate Batch Number Assignment
Transaction Code -> OMCZ
SPRO -> Logistics General -> Batch Management -> Batch Number Assignment -> Maintain Batch Number Assignment
Transaction Code -> OMAD
Activate Batch Specific Material Units of Measure
SPRO -> Logistics General -> Batch Management -> Batch Specific Material Units of Measure
Transaction Code -> OMWS
Now to activate inventory at semiconductor chip level, 3 new unit of measures are required. These are
- GPC – Good piece
- LSP – Low Speed Piece
- SCP – Scrap
Each of the UOMs as the name itself suggests will be used to represent the number of good chips, low speed chips and scrap chips within each wafer and individually they represent the inventory at chip level.
2. Custom UOM Configuration
Create the new UOMs using transaction code CUNI
GPC – Good Piece
LSP – Low Speed Piece
SCP – Scrap Piece
Now these new UOMs have to be enabled for usage as Batch specific UOM. This can be done using the following configuration path
SPRO -> Logistics General -> Batch Management -> Batch Specific Material Units of Measure -> Edit Batch Specific Unit of Measure
Transaction Code -> BMA1
Using the New entries button add the UOMs in this table so that these UOMs can be used as Batch specific UOMs
Now we have to configure how these UOMs will be linked to material UOM. SAP terminology for this linkage is Proportion factor
SPRO -> Logistics General -> Batch Management -> Batch Specific Material Units of Measure -> Calculate Proportional Factors -> Define calculation of Proportion Quantity from Base Quantity
Transaction Code -> BMA3
Now the three batch specific UOMs are fully configured and ready for usage in transactions.
3. Class & Characteristics
We have to now create batch class and the characteristics that will be part of this batch class. We need one characteristic for each batch specific UOM. Batch class is of class type 023
I am not going to detail out the process of creation of class & characteristics. You can learn it from SAP help itself. So here are the batch class and characteristics that are required for our functionality
What is the important is that the characteristics should have the new batch specific UOMs assigned as units
4. Batch search strategy configuration
We now have the new UOMs and the necessary batch class & characteristics; the next step is the design of batch search strategy where-in we will configure the chips optimization rules. It is this batch search strategy which is going to provide the unique wafer inventory management solution which I have outlined earlier.
I am going to use the standard batch search strategy already available as part of standard configuration. In general a batch search strategy configuration would require the following configuration steps
- Define Condition Tables
- Define Access Sequence
- Define Strategy types
- Make Batch search procedure definition
- Carry out Batch search procedure Allocation and check Activation
The batch search strategy type “ME01 – MovType/Plnt/MatNo.” is the one I have picked for usage in this process
SPRO -> Logistics – General -> Batch Management -> Batch determination and Batch check
You can see this batch strategy type uses Access sequence “ME01 – MovType/Plant/Material” which in-turn has multiple condition tables defined as part of the sequence
4. Define Sort Rules
Now we have to define the sort rules which represent the wafer inventory optimization rule
Transaction code – CU70/71/72
SPRO -> Logistics – General -> Batch Management -> Batch determination and Batch check -> Define Sort Rules
I have defined the sort sequence ZPMC that represents the wafer inventory optimization rule. Basically I have taken a simple rule that wafer is picked for production based on higher the number of goods chips and in descending order to finally achieve the total number of goods chips that are required for the specific production process Here is the sort sequence set-up
Now click on tab “Characteristics” to check the rule
This shows that the batch search rule will be on the characteristics “GOOD_CHIPSETS” which is based on the batch specific UOM GPC. This UOM represents inventory of goods chips in each wafer. By selecting the “Descending” check box, the rule specifies that batch search procedure has to pick up wafer which has the highest number of goods chips and go on selection of wafers in a descending order until the total number of goods chips becomes greater than or equal to the required number of chips for the specific production process.
5. Assign batch search strategy type to movement type
In this process we are focusing on wafer inventory optimization at the time of production process. Hence the relevant movement type is “261 – Goods Issue to Order (Production order)”
Basically you have to assign the batch search procedure for each movement type that is relevant
This completes the necessary configuration required for the process. Now let us move to master data set-up
Required Master data set-up
1. Material Master Set-up
Here are the primary requirements on material master
1.Classification view has to be activated
2.Material has to be activated for batch management
3.Batch Classification has to be assigned
4.Batch specific UOM needs to be assigned in the Prop/Prod unit screen under Additional data tab
Finished goods material – 235
This material is manufactured in-house and accordingly the MRP set-up is done. It has a production version and Routing which are created as simple as possible with single operation. Also this finished good material is the BOM header material with semi-finished goods material 236 as the component.
Semi-Finished Goods material – 236
This material is procured and this is the material on which the wafer inventory rules are applied. As required, this material has batch classification activated and batch specific UOMs defined at material master level.
2. BOM, Routing & Prod. Version
Material 235 which is the finished product should have BOM, Routing and production version defined as these are mandatory master data for production process. Accordingly these are created and below screen shot provide those details
3. Condition record set-up for batch search strategy selection
In this set-up we will assign the already configured batch search strategy to the required material/plant and movement type configuration under inventory management option so that the batch search procedure is activated during inventory posting
Transaction Code MBC1/2/3
While creation of condition records, both the batch class and the sort rule also have to be assigned. The above screen shots show these steps
This completes the data set-up necessary for this process. Now let us go to the actual execution of transactions
For this testing I have actually created planned independent requirements on the BOM header material 235 and then ran MRP with BOM explosion, followed it up with creation of purchase orders for the material 236 (BOM component) and production order for material 235 (BOM header)
Against the purchase order the material 235 is received and batches are created while posting of goods receipt.
The above steps are pretty standard so have not included screen-shots on these process steps.
Here is the stock data for material 236.
24 batches with 1 wafer per batch representing total 24 wafers of stock.
The same stocks now represented in good pieces of chips are 2198 GPCs (The amount of GPCs per wafer is obtained through values entered in the batch classification during GR posting). Out of these 1000 GPCs are needed for one production order 100060 to manufacture 5 pieces of finished good material 235.
As per the BOM set-up, one piece of material 235 requires 200 GPCs of material 236
Now while issuing material 236 for production order 100060, the system will execute the batch search strategy to identify the wafers for issues as per the optimization rule we have established as part of the batch search strategy.
Here is the list of 24 batches with the corresponding stock values in GPCs
The wafers should be identified by the descending order of stock amount in GPCs. Applying this rule, we see the following batches to be picked up for Goods Issue to satisfy the requirement of 1000 GPCs as per the BOM explosion
Here is the batch determination process during the goods issue posting
This is the result of the optimization process. While I have taken a simple optimization rule, we can configure slightly complex rules too if supported by batch search strategy configuration.
For very complex rules involving say more than one UOM then we have to go a for a user exit solution. It will still be a batch search strategy process, but through custom code maintained through user exit. For example in the current case itself we can see that from batch 423 only 50 chips are needed, so instead picking the wafer with more number of good chips we can pick one with less number of good pieces of chips like say batch 425 which has only 85 good pieces of chips.
For such kind of a mixed strategy a user exit solution is the way to proceed.
Here is the final inventory document posted
By innovative way of utilizing the standard SAP functionalities was able to satisfy a complicated inventory management requirement. This aspect is the best part of this whole solution.
Some of the known issues are
•Goods Issue reversals can become very complex as the stock assigned to batches post reversal may not be same as before
•Even through user-exit solution, not sure whether very complex optimization rules can be implemented
•Multiple UOMs being used on the same material can cause issues in MRP run.
Having identified the above issues I still feel that only the second one can be real issue while the other two should have standard SAP solutions through SAP notes.