Serial Numbers with specific reference to Production & Goods Movements – Part 1
This document is aimed at explaining the basics around the Serial number functionality with specific reference to Discrete Production/Goods Movements. The base reference used in sharing the information is ERP 6.0 with Enhancement Package5. Even though the aim is to serve as a generic document the contents/ behaviour observed may change to a small degree depending on the SAP Release/Version used by the person concerned (because of the continuous developments over the releases).
Control of Goods movements with Serialised materials according to what is called as serialising procedures in SAP is not common in forum discussions and a small attempt has been made to explain the same with illustrations based on various configuration settings in this document.
Introduction:
The SAP Serial number functionality allows us to manage serialized stock keeping. Serial number is a numeric or alpha-numeric number given to an individual item of a material in addition to the material number and differentiates the item from all other items of the material.
Materials can be tracked across business streams like Sales Order taking through Production through Quality through Purchasing and Material movements through Handling Units through the Customer deliveries with what is called as a Serialisation Procedure.
Say in a MTO scenario the starting point of serialisation may be from a Sales order which can be referenced over to a production order and then given back at the time of Sales delivery may be through a handling unit usage also for instance. And in case of a MTS scenario the starting trigger can be from a production order and carried over to other streams inclusive of Quality management through Delivery against a Sales order for instance.
Normally 11 Serialisation Procedures are made available in the Standard:
Business Stream |
Number |
Serialising Procedure |
Description |
Production |
1 |
PPAU |
Serial numbers in PP order |
2 |
PPRL |
PP order release |
|
3 |
PPSF |
Serial numbers in Repetitive Manufacturing |
|
Quality Management |
4 |
QMSL |
Maintain Inspection lot |
Inventory/Goods Movements |
5 |
MMSL |
Maintain Goods Receipt and Issue doc. |
Handling units |
6 |
HUSL |
Maintain Handling unit |
Sales and Distribution |
7 |
SDAU |
Serial numbers in SD order |
8 |
SDCC |
Completeness check for delivery |
|
9 |
SDCR |
Completion check IR delivery |
|
10 |
SDLS |
Maintain delivery |
|
11 |
SDRE |
Maintain returns delivery |
|
Purchasing* |
12 |
POSL |
Serial Numbers in Purchase Orders |
13 |
PRSL |
Serial Numbers in Purchase Requisition |
* As of ERP6.0 with Enhancement Package 4, two new procedures are made available for purchasing also (only) after the activation of the Business Function LOG_MM_SERNO.
(Details of the POSL/PRSL procedures are available in the MM forum’s Documents section and the document is Serial Numbers in Purchasing with EhP4 Business function LOG_MM_SERNO).
In the Industry specific solution offered under SAP High Tech (for Fabless Semiconductor Manufacturing) we are provided with two new procedures for process orders: PIAU and PIRL. More similar to PPAU/PPRL as available in the core application.
In the configuration we start of with what is called as a Serial profile and assign the various Serialisation procedures underneath it.
IMG path:
Plant Maintenance and Customer Service–> Master Data in Plant Maintenance and Customer Service–> Technical Objects–> Serial Number Management –> Define Serial Number Profiles
(TA code:OIS2)
IMPORTANT: It should be noted that the settings here done for the procedures are ‘Global’ with the exception of MMSL and POSL/PRSL procedures. Meaning the system adheres to this setting for all concerned documents/order types that undergo serialization as the case may be.
For MMSL procedure, related to Goods Movements (GR and GI) alone, SAP allows us the option to bring in what can be called as ‘Exceptions’.
This is done as specified under ‘Define Serialization Attributes for Movement Types’ in 2 steps:
- Define Flow type groups
- Assignment of Movement Type Group to Movement Type
Business Scenarios:
A typical business scenario may be that certain bought out components alone are required to have the serial numbers at the time of GR against a Purchase order whereas some other procured components do not require serial numbers at the time of GR against a purchase order. In such a case we get the flexibility to act accordingly with the ‘Exceptions’ provided.
Same flexibility holds good for GR against a Production order for multiple serial profiles existing for manufactured components also.
Another business scenario may be to procure a component with out serial numbers but later on when it is issued against a production order it may be mandatory to serialise it. Such a scenario can also be addressed by the ‘Exceptions’ functionality.
EqR: This field specifies that whether an equipment master record is created at the time of serial number generation or at a later stage.
When the setting is 01 the equipment is not generated at the time of serial number generation and can later be generated from the IQ02 transaction by clicking on the Equipment view icon there.
Normally when we have a finished assembly alone which requires serialisation we do not need any equipment creation at all. Tracking is sufficient at this serial number of the assembly material itself.
In business scenarios like multiple serialised components used in a finished assembly and all of them requiring tracking for failures at a later date in the future then this equipment creation also can be done and this helps in tracking multiple components inside an assembly with what is called as an Equipment Hierarchy.
Other details in the Serial profile config:
ExistReq check box: If the business practice is to create serial numbers manually and then assign them during production order creation for instance, then this needs to be checked ON. Else if we create a serial number on the fly/automatically then this needs to be left blank.
Cat: Category of the equipment that is associated at the time of serial number generation. Has its Own number range and gets created in the background. If no value is specified here the same is picked from the Define Default Equipment Categories for Serial Numbers config and this also specifies whether the combination of material number and serial number should be unique or not.
StkChk: Ensures Stock check during goods movement based on the serial number status (like the production order statuses) that is set automatically by the system. 3 Options are provided (No Stock validation, Inconsistencies in Stock data–>Warning and Inconsistencies in Stock data–>Error).
When stock validation is set, the system checks for the Serial number status accordingly before any goods movement. If a component has been issued already against a production order and if thesame serial number is provided for a subsequent order the system does the validation. Serial number status should be EQ ESTO and NE (AVLB or INAC or DLFL).
If validation fails we get a
a. DLFL status
Serial number xx cannot be used here
Message no. IO201
System status DLFL is active (EQU xxxxxx)
b. INAC status
Serial number xx cannot be used here
Message no. IO201
System status INAC is active (EQU xxxxxx)
c. Both DLFL/INAC status active:
System status INAC is active (EQU xxxxxx)
Serial number 5 cannot be used here
System status DLFL is active (EQU xxxxxx)
d. Wrong/Invalid/Duplicate serial number:
Stock data of serial number not suitable for movement
Message no. IO231
(Details of serial number statuses is discussed later in this document).
Serialisation in Production Orders:
From Production point of view, we have 3 relevant Serialisation procedures:
PPAU |
This procedure enables you to use Serial numbers in production orders. |
PPRL |
This procedure enables you to assign serial numbers when production orders are released. |
PPSF |
Required for REM scenario only and is called up when the serialised components are back flushed using MFBF transaction. |
When PPAU SerUsage value is say 1 in the profile it does not allow serialisation in a Production order at all. With this setting when we try to create a production order for the serialised material and click on HeaderàSerial Numbers in CO01 screen we will get a message ‘Serialization not possible for material number xxxxxx’ Message no. IO205.
This setting has to be 2 or above for a Serial number usage in a production order.
PPRL setting is influenced by the PPAU value and a consistency check happens as follows:
PPAU value |
PPRL value can be |
1 |
1,2,3,4 |
2 |
2,3,4 |
3 |
3,4 |
4 |
3,4 |
PPRL with a value of 3 makes it mandatory to assign the serial number manually. When we try to save the order with out assigning serial numbers we get a RELR status for the Order concerned.
PPRL with a value of 4 ensures that serial numbers are assigned automatically during Production order creation.
Assigning the Serial numbers:
(For PPRL-4)
In the standard, System always follows a ‘Numeric’ number assignment. If a serialised assembly is subjected to a production order creation first time the system assigns 1 by default as the first number. Note: For ANY material this value is defaulted as 1.
If you manually change it to 75 and save it, next time when a production order is created the system assigns 76 and so on. Any alpha-numeric value assigned is not considered and not incremented accordingly. Rather the system saves only the highest numeric number assigned so far for the material in MASE table and looks at it every time when a new production order is created next time.
Alpha-numerals or Customer–specific Serial numbers can however be assigned using: Name of Enhancement: IQSM0001
Name of Function Module: EXIT_SAPLIPW1_001
Name of Include: ZXQSMU01.
Learnings:
- Create a Production order for say 10 numbers and try to do a GR for the same with a partial quantity and observe the system messages. After a successful partial receipt when we do the GR again which are the serial numbers proposed?
- No consistency check happens if a serialised procedure for instance PPSF is not assigned in the profile for a REM component and the error comes into picture only at the time of the concerned trigger. Consultants need to understand which procedures need to be used in a profile. What is the best option- Include all standard procedures in a profile irrespective of the current business usage and take future business changes into account as and when required or make use of only required procedures?
- Try to key in different available values for the SerUsage field for each procedure and observe for any status bar messages in the screen.
- If you use the StkChk indicator field as say Inconsistencies in Stock data–>Error and try to set the value of a serialising procedure like MMSL as 01/02 what message does the system display in the status bar?
Material Master/Routing Details:
- In the Material master the Serial profile can be assigned in the WS view for a manufactured material or Plant data/Stor2 view for a Procured component.
- If we try to set the Backflush indicator for the serialised part in the master (both options 1 and 2), we get an error message ‘Serial number management is not possible with backflushing’. Message no. M3896.
- Level of Explicitness field in the master ensures that we can make use of our own serial number convention leaving the option as blank (default) or make the serial number similar to the equipment number with the other option. (Remember the equipment category has its own number range and this number is then defaulted as the Serial number also for the second option).
- Try to set a Serial number of profile for a material currently non-serialised in the material master and also with stock existing and observe the information.
- In the Routing if we try to assign the backflush indicator to a serialised component for any particular operation the system does not do any validation. It saves the details with backflushing indicator. However when you create a production order the serialised components appear without the backflush indicator. Any attempt to set the backflush indicator for these components in the component overview of the order results in an error message ‘There must be a serial number for material xxxxx in plant xxxx’ Message no. CO689.
Serial number Statuses possible:
Like the Production order statuses we know, the system also assigns Statuses for Serial numbers and the commonly seen statuses are:
AVLB–> Available
ASEQ–> Allocated to superior equipment
DLFL–> Deletion Flag
ECUS–> At Customer site
EDEL–> Assigned in delivery note
ELOK–> Locked
ESTO–> In the Warehouse
INAC–> Object Deactivated
List is not exhaustive and we have others like INST–> Installed, HUAS–>Handling unit assigned etc etc.,
Let us say that we have a Serialised assembly X and Serialised component Y.
Activity |
Assembly X |
Component Y |
Serial number assigned at the time of Production order creation for the Assembly material |
AVLB |
N/A |
Goods Receipt against Production order with Serial numbers |
ESTO |
N/A |
Goods Receipt against Purchase Order |
N/A |
ESTO |
Goods Issue of Serialised components against a Serialised assembly |
N/A |
AVLB |
Equipment Hierarchy Built (Y is built into X with IE02 transaction) |
ESTO |
ASEQ |
Delivery created against a Sales order for the Serialised assembly |
EDEL |
Remains ASEQ |
Goods Delivered against a Sales order to Customer |
ECUS |
Remains ASEQ |
DLFL and INAC statuses can be set manually from the change serial number transaction IQ02.
Controlling Goods Movements: (OIS2 Settings vs Exceptions)
Inference of SerUsage values in MMSL procedure at the time of a GR against Purchase Order:
A. Option with OIS2 setting only and No Exceptions config in place:
SerUsage Value-01
The PO Item detail Serial number tab will show up as
- SerUsage Value-02
PO Item detail Serial number tab will show up as
Check passes with a green icon and Serial number tab shows 3 editable rows (equal to Purchase Order qty). For the optional setting 02, we can still do a GR with or without any serial number.
- SerUsage Value-03
In the PO, when we click on check we will get an error message as below:
We need to enter the serial numbers to proceed further and post the document.
B. Option with entries in OIS2 as well as Exceptions: System prioritises the Exceptions instead of OIS2 entries.
OIS2 has MMSL SerUsage- 01/None for the Z006 Profile.
Exceptions Config:
- Plant Maintenance and Customer Service–> Master Data in Plant Maintenance and Customer Service–> Technical Objects–> Serial Number Management–>Define Flow type groups
We define SNRO as the Movement type group making SerUsage 03/Mandatory.
(Try to input any other procedure other than MMSL in procedure column and observe the message given by the system).
We carry over this definition to the next step in the Exceptions config definition.
Plant Maintenance and Customer Service–> Master Data in Plant Maintenance and Customer Service–> Technical Objects–> Serial Number Management–> Assignment of Movement Type Group to Movement Type
Against movement type 101 and indicator Goods movement for Purchase Order/No Consumption option, we set the SNRO movement group defined already.
When we try to do a GR against the purchase order for the material with Z006 profile using MIGO,
We get an error message stating that Serial numbers are mandatory.
Even though the OIS2 setting specified no serial number usage, based on the Exceptions setting we are able to exercise control during the goods movements.
Say if we have another profile Z007 maintained for other procured components, in the first step we can maintain the flow type group as the same SNRO but with SerUsage as 02. For these components during GR for Purchase order the serial numbers then become optional.
Again if there is another profile say Z008 for another category of procured components and if no flow type group definition is maintained for this profile it would follow the OIS2 setting then.
Also to be noted is inspite of maintaining a Flow type group if the value in Movement type group is not made available in the Assignment of Movement Type Group to Movement Type config or if this config has a different value of Movement type group then also the OIS2 setting is considered by the system for proceeding further.
To summarize:
a. OIS setting MMSL-01/None
b. Flow type group:
Profile/Mvmt type group/SerUsage value
Z006/SNRO/03
Z007/SNRO/02
Z008/SNRP/03
c. Assignment of Mvmt type group to Movement type
101/Goods Movement for Purchase order/SNRO
d. Results during a GR against Purchase order for:
- Z006 profile materialà Serial number entry is mandatory
- Z007 profile materialà Serial number entry is optional
- Z008 profile materialà Serial number entry is None(from OIS2)
Once understanding this becomes clear, all other related movements with respect to serialised components become very easier.
In the Exceptions Config we can see that there is a separate entry provided for 101-Movement for Production order to use the exception function with Production order receipts also for appropriate profiles as per the business requirement.