SAP Batch Management Overview
Batch Management can be defined as tagging an alphanumeric or a numeric code to the material produced or material procured. Every batch number has an inventory quantity associated with it. This 10 digit code in SAP helps in uniquely identifying a material and the quantity associated with it.
A partial quantity of production or procurement can be tagged with a batch number that clearly makes that material inventory unique. The Batch number generated for the material quantity not only helps in uniquely assorting the material inventory, but it also stores the characteristics values or the chemical composition or the product specifications at the time of its production or procurement.
Which Materials can be Batch Managed?
Typically you can say that material which can be stored separately without mixing and piling one over the other, is a good candidate for batch management. Product produced or procured has to be stored separately for it to be tagged with a batch number. If you mix all the pieces or mass together then the identification is lost.
Case 1: Products which are powder in state like Iron ore, which is procured from vendors (in ships) and are dumped in a location loosing any sort of traceability of when they were procured and from whom they were procured are not a good candidate for batch management.
Case 2: At the same time, if Iron ore is procured from vendors (in ships) and piled up separately (every shipment is piled up separately) then you can think of making the product (iron ore) as a batch management candidate.
Case 3: You can also take a case where products are Solid in state but are mixed together after production; where the producing company does not wish to keep any traceability of when it was produced and what were the product features or conditions at that point of time. In this case you can avoid Batch management or any recording batch specifications.
Perquisites in SAP for Batch Management
• Activation of Batch Management at Material Level, Plant level or Client Level
• Creation of Number Range for Batch Management: Specify use of Standard Internal Number Range or External Number Range or Both
• Material should be activated for batch management
Life after Batch Management
Batch Management once activated in configuration and the material master’s activated for batch management, then the material is stored in inventory at plant-storage location-batch level. In this case there is no question on mixing of material or losing any sort of traceability. The
plant inventory which would be normally stored in storage locations at the plant-storage location level would now be stored at the plant-storage location-batch level; which means that every time you issue this material for further production or every time you deliver this to the customer, you have to mention the storage location as well as the batch number you are issuing. This may end your liberty of consumption of this material at plant-storage location level and you may get frustrated in knowing the batch number you are issuing every time.
Storage Location Stock before Batch Management:
Material Plant Storage Location Unrestricted Stock Qty M1 0001 -Trident Group - Barnala FG 3502 PiecesStorage Location Stock
after Batch Management:
Material Plant Storage Location Batch Number Unrestricted Stock Qty M1 0001 -Trident Group – Punjab FG 0000002369 1002 Pieces M1 0001 -Trident Group - Punjab FG 0000005480 2500 PiecesActivating or Deactivating Batch Management for a Material during the
life of
the Material
Activating or Deactivating Batch Management for a product means that you would have to go through a lot of work:
a) All the existing in-progress documents like the Purchase orders, Sales orders deliveries, Production orders, Batch Classifications or Batches, which are using the Material batches should be reversed, archived or deleted.
b) All the Material Stock should be made = 0
The best way to do it is, moving the stock of the material to a temporary material or writing off all the stock for the material. Once you have done this you can activate or deactivate the material for batch management.
c) You can then bring back all the stock from the temporary material to this original material.
When is a Batch created in SAP :
A 10 digit batch is created in SAP for a batch managed material at the following instants of goods receipt for the material:
a) A Batch is created at Goods Reciept from Production (Movement type 101):
When you carry out Goods receipt for a Batch Managed Material from a production order or a process order or a run shcedule header, the system creates a batch for the received quantity and material.
The batch received would have an internal batch number assigned (or an external batch number assigned as per configuration).If the configuration is set at External batch numbering, then you would have to assign a batch number before saving the goods receipt. The received stock would be associated with the batch number and any further inventory movement for the material quantity would be made using the batch number. The goods receipt movement types are MB31, MIGO, MIGO GR through movement type 101 - GR from Production order.
b) A Batch is created at Goods Reciept from Purchase order or STO (Movement type 101): When you carry out a goods receipt for a batch managed material from a Purchase order (or a STO - Stock Transport order), the system creates a Batch number (if the configuration is set at internal batch numbering). If the configuration is set at External batch numbering, then you would have to assign a batch number before saving the goods receipt.
The purchase order goods receipt is from an external vendor, whereas STO receipt is from a supplying plant in the same or different company code.
If the Batch Management is set at plant level then in the case of STO transfers the batch number in all possibilities would change at the goods receipt in the receiving plant. If Batch Management is set at Material Level then the supplied material batch would be adopted at goods receipt in the receiving plant.
The goods receipt movement types are MB31, MIGO, MIGO_GR through movement type 101 - GR from Purchase order. In the case of STO you could also create a goods receipt from an outbound delivery created at the sending plant.
c) A Batch is created at Goods Receipt from Production - By Product receipt:
When you carry out by-product goods receipt for a batch managed material from a production order or purchase order using MB1c-531 movement type, the system creates a Batch number. d) A Batch is created at Goods receipt from Initial Inventory Creation:
When you carry out goods receipt as a part of initial inventory creation through 561 or 501 movement types, the system creates a Batch number for a batch managed material.
When you receive a Goods Receipt of a Batch Management Material through any GR Movement type, SAP Triggers creation of a Batch number for the received quantity.
Above were listed only a few major GR Transaction code and Movement type.
SAP Batch Specifications
Batch Specifications
Define Batch Specifications
A Batch is created in SAP as a master data prior to production or at receipt of stock from a vendor through a purchase order or at the receipt from a production order.
A Batch contains a place holder for maintaining various production or product specifications in the form of Batch characteristics.
Mantaining Batch Characteristics Values or Batch Specifications is not mandatory atall: It is not mandatory that you maintain batch specifiation in a batch.
You can create batches for material inventory without any batch specifications. Maintaining Batch characteristics values for batches is an Optional Feature. Batch Specifications Example:
If you producing steel billets of a certain quality, you can maintain specifications for a certain production batch as
Material = Steel Billet Plant = 0001
Batch Number = 0000056239 Carbon = 0.16 Si = 0.2 Magnesium = 0.15
Sulfur = 0.022 Potassium = 0.025 Al = 0.02
How to Make a Batch Unique with Batch Specifications:
To make a batch specifications unique by adding characteristics such as Production Date, Production Line, Shelf life of Product or even the supervisors name. If you add these sort of characteristics with values you would be successful in making a batch unique with unique set of batch specifications.
Making a batch as unique as possible helps differentiating between multiple batches which makes it easier for back traceability.
In the above example of Steel Billte production, you can add some more characteristics in the batch classification, as below:
Material = Steel Billet Plant = 0001 Batch Number = 0000056239 Carbon = 0.16 Si = 0.2 Magnesium = 0.15 Sulfur = 0.022 Potassium = 0.025 Al = 0.02
Production Date = 25th Dec 2009 Production Time = 13:12:08 Production Line = L3
Shelf life = 25th Dec 2019
Batch Specifications Target Values:
Batch characteristics can a predefined value maintained. You can maintain the following: • An absolute value or absolute values
Absolute values predefined will force you enter no other value other than these predefined ones in the
A Character format Characteristics STEEL_PRODUCT_GROUPS can have predefined values such as Billets, Coils, Rounds, and Bars.
While a Numeric characteristics can have predefined values for characteristics “BILLET_LENGTH” as 10m, 50m, 100m, 150m, 200m, 250m,
• A Tolerance Range Value
A Tolerance value range predefined in the batch characteristics will force you enter no other value other than
these predefined ones in the batches.
A Character format characteristic cannot have tolerance ranges.
A Numeric format characteristic CARBON_CONTENT can have predefined tolerance ranges such as 0.1 – 0.3.
• Leave it blank for entry in the Batches during GR or Tolerance Entry in the Material Master
There can be situations where you may want to enter any value in the Batch and not restrict to predefined values in the characteristics
Tolerances ranges at Batch Characteristics Level - There can be situation where the tolerance ranges change with respect to the materials characteristics combination.
Tolerances range Material Wise – There can be situations where the tolerances for the characteristics changes with respect to materials, i.e. characteristics CARBON_CONTENT may not be 0.1 to 0.3 for all the materials and it may vary for each material, to do this you would have to assign a value for the batch class characteristics in the material master and not in the batch characteristics level. You have to enter a value for the characteristics in the material master classification view, say MATERIAL = M1 for Batch Class STEEL_CHEMISTRY would have a value 0.15 – 0.3 for the characteristics “CARBON_CONTENT”.
Master Date Maintenance for SAP Batch Specifications:
If you want to maintain batch specifications for a produced or purchased batch you need to maintain a set of master data in the order mentioned:
• Creation of SAP Characteristics
Create Characteristics through the use of transaction code CT04. Characteristics are the actual Specification master data with predefined values or number range or open for entry of any value.
For example to have something called carbon % you have to maintain a characteristics called – “CARBON_CONTENT”. Similarly you have to create all the characteristics that you want to use for recording values.
While Creation or during change of characteristics, you can define target predefined values for the characteristics or define a tolerance number range within which the recorded value should exists or leave it blank for input of any value during result recording for the characteristics. Though there can be situations where the allowed tolerances changes material wise; in which case you can leave the values section in Characteristics as blank and maintain the required tolerances in the characteristics at the material master classification view for the batch class or material class.
For example, you can have for the characteristics “CARBON_CONTENT” you can define a tolerance number range of 0.17 - 0.24 which means that any resultant value that you would record should be mandatorily within this range. Or as a second example for characteristics PRODUCTION_LINE_NUMBER” you can have predefined set of values such as L1, L2, L3, L4, L5 to choose from during result recording in the Production Batch.
Please see below for details on how to create the characteristics. Example:
Carbon_Content (Characteristics) = Predefined Range 0.1 – 0.3
Si_Content (Characteristics) = Predefined Range 0.1 – 0.3 Mg_Content (Characteristics) = Predefined Range 0.2 – 0.5 S_Content (Characteristics) = Predefined Range 0.01 – 0.03 P_Content (Characteristics) = Predefined Range 0.01 – 0.004 Al_Content (Characteristics) = Predefined Range 0.01 – 0.004 Production Date (Characteristics) = No Predefined Value
Production time (Characteristics) = No Predefined Value
Production Line (Characteristics) = Predefined Values L1, L2, L3, L4, L5 Shelf Life (Characteristics) = No Predefined Value
Note – when you leave the predefined values as blank in the characteristics, it means that any value can be entered or it can also mean that the values change with respect to material master and you have to maintain the values or a value tolerance range in the material master. • Creation of SAP Batch class
Once you have created all the characteristics, you have to create a class using transaction code CL01.
A class is a place holder for characteristics. Eventually you would assign the class to a material master. By assigning a class to a material master you would be indirectly assigning all the characteristics to the material.
See the illustration below:
STEEL_CHEMISTRY (Batch Class type 023) Carbon_Content (Characteristics) Si_Content (Characteristics) Mg_Content (Characteristics) S_Content (Characteristics) P_Content (Characteristics) Al_Content (Characteristics) Production Date (Characteristics) Production time (Characteristics) Production Line (Characteristics) Shelf Life (Characteristics)
When you create a Class, you have to specify the class type, whether it is a batch class or a material class or any other class type for use in any other modules.
Batch class type 022: If you are using Plant Level Batch Maintenance.
Batch class type 023: If you are using Material Level Batch Maintenance or Client Level Batch Maintenance.
You should include a description of the class and the characteristics or specifications that should be included in the class.
• Create Material Master Classification View and assign a Batch Class
Extend or create Material Master Classification view and add a batch class type to the classification view (Transaction code MM02 or MM01 – Material Master Change or creation)
You can add batch class type 022: If you are using Plant Level Batch Maintenance.
You can add batch class type 023: If you are using Material Level Batch Maintenance or Client Level Batch Maintenance.
Assigning a batch class to the material classification view would indirectly assign all the characteristics to the material master. Thus whenever you create a batch for this material through MSC1n or you receive materials in stock from production order or process order or purchase order goods receipt you can record values for these assigned characteristics only. See the illustration below:
STEEL_BILLET_123 (Material Master) STEEL_CHEMISTRY (Class type 023) Carbon_Content (Characteristics) Si_Content (Characteristics) Mg_Content (Characteristics) S_Content (Characteristics) P_Content (Characteristics) Al_Content (Characteristics) Production Date (Characteristics)
Production time (Characteristics) Production Line (Characteristics) Shelf Life (Characteristics)
Characteristics have a predefined format (character alphanumeric or date or numeric format) and a predefined set of values in the form of direct values or in the form of allowed tolerance range or no values (without any values suggesting allowed for random value entry in batch).
Note: There can be situations where the allowed tolerances changes material wise; in which case you can leave the values section in Characteristics as blank and maintain the required tolerances in the characteristics at the material master classification view for the batch class.
Configuration Required for Batch Management
Activating Batch Management Levels:
Transaction code – OMCE
The Foremost configuration in Batch Management is activating the level at which batch management would work. The following are the levels at which you can activate batch management:
Plant level: Batch Unique at Plant Level
The Batch Numbering for a material is specific to a plant. When you are using an internal numbering scheme for batch numbers in SAP, Material M1 can have a batch number B1 in a Plant 0001, while Material M2 can also have a batch number B1 in the same plant. Batch numbering is unique for the material.
If a material stock for Material M1 with Batch B1 is transferred from plant 0001 to another plant 0002 it would definitely have a different internal batch number generated at good receipt in that plant and the user has an option to store different batch characteristics values (batch specifications) for the batch in the plant 0002.
Every Material Batch stock stored at storage location level may have batch specifications stored under it. Material Batch specifications may be the same for batches. It is not necessary that the specifications stored under material batches are always unique.
If a material batch B1 at plant 0001 is created with the following specifications (specifications are stored in batches through the use of batch characteristics):
Internal Width = 5mm External Width = 10mm Length = 5m
There can be other batches (Material M2, Batch B2) in the plant for the same material produced with the same specifications:
Internal Width = 5mm External Width = 10mm Length = 5m
If you want to keep batch specifications unique at material batch level in a plant then you have to include characteristics like Date of Production, Shift of production, may be even the Line used for production. For example
Material M1 – Batch B1 – Plant 0001 >>> Internal Width = 5mm
External Width = 10mm Length = 5m
Date of Production = 25th Dec 2010 Shift of Production = S2
Line = L23
Material M1 – Batch B1 – Plant 0001 >>> Internal Width = 5mm
External Width = 10mm Length = 5m
Shift of Production = S3 Line = L23
Material level: Batch Unique at Material Level
The Batch Numbering at material level means that 2 or more materials can have the same batch number in a plant, i.e. Material M1 can have batch B1 in Plant 0001 and Material M2 can also have batch B1 in Plant 0001.
Though when a Material batch is transferred to another plant (Stock Transfer) it would mandatorily have the same batch number and the same batch characteristics values, i.e. if the material Batch M1-B1 is transferred to plant 0002 from 0001, the batch number for the material M1 at the receiving plant 0002 would remain the same (B1) and the batch characteristics and the characteristics values (batch specifications) would also be adopted from the sending plant (0002) Note – In Material Level Batch Management, the batch management should be activated for all the plants where the material is extended.
Client Level: Batch Unique at Client Level
A Client is a SAP Box which can contain a set of company codes and plants under it. In such cases if you define batch management at client level, it means that the material M1 would keep the same batch number (say B1) across all the plants and across all company codes in the client. This also means that the batch classification values or characteristics values would also remain the same across.
Note - If you want to go back to Material level batch settings you can do so at any time by changing the configuration to material level batch management, but you cannot go back to plant level from the client level settings.
Activating Batch Management Status:
Transaction code = OMCS
After activating Batch Levels, it is logical to activate batch management status. There is no harm in doing this. The only good that this setting does is that it can tag the material batch stock as unrestricted or restricted which is an added advantage to stop the batch from being used even when the batch stock lies in unrestricted stock type (restricted batch status).
Batch status can be looked at as an added stock type over and above the standard stock types in SAP like the unrestricted stock, Blocked stock, Quality stock. This means that:
• If a batch stock is in quality stock type or blocked stock type and tagged with unrestricted batch status, then it’s still counted as quality stock.
• If a batch stock is in quality stock type or blocked stock type and tagged as restricted batch status, then its still counted as quality stock, though when you move the stock from quality to unrestricted stock type, the batch stock would still be not-available for use since the batch status – restricted is still stopping it from consumption.
• Similarly when a batch stock is in unrestricted stock type and tagged with restricted batch status the batch stock is unavailable for consumption.
You can choose to configure a default batch status, whenever a batch is manufactured or received in stock.
Using transaction code OMCT, you can change the batch status
Activating Batch Status at Plant level:
Once you have activated Batch Status Management feature, there is an option in SAP, to choose the plants at which you want to use this functionality.
Activating Internal Batch number assignment:
Using transaction Code = OMCZ, you have to activate internal batch number assignment. And at the same time you have to use transaction code OCHA to set the internal number allocation of batches at goods receipt to automatic for the plants you choose.
Configuring Batch Where used List:
Transaction code = OCHA
The batch where-used list is set to active at all the plants, but you would have to manually select synchronous posting of batch where used records. Selecting a plant for synchronous posting means that you trace the batch history (batch history of receipts and consumptions) across all the plants.
A batch where-used list can tell you the production order through which the batch was produced, the object where the batch was issued (production order or sales order), in short the batch where-used list gives you the list of objects from where the batch was produced from and the objects where the batch was issued to. If the batch is under inspection with an inspection lot, the list also shares the inspection lot number.
You can switch between a Top-down hierarchy option and a Bottom-up hierarchy option that gives you the batch where-used information in various hierarchical ways.
Uses – Batch traceability, i.e. Understanding the history of a batch thereby analyzing the history of batches in case when there are customer complaints.
You can use the following path to enter in to this transaction setting:
Logistics General Batch Management Batch Where-Used List Make Settings for Batch Where-Used List
SAP Characteristics
One can create characteristics through the use of transaction code CT04 in the cross application classification system of SAP.
A characteristic is a Specification master data which defines the specification and gives it an identity in SAP. Characteristics describe the properties of objects.
Example: Characteristic “COLOR” has the values 'red', 'green', and 'blue'. When you classify an object, you use this characteristic to specify the color of the object.
Example: Characteristic “Viscosity” has the values ’10 cP', ’20 cP', and ’30 cP'. When you classify an object, you use this characteristic to specify the color of the object.
SAP Characteristics are mostly used to define specifications and record their values for example “width of product”, “length of product”, “color of paint”, “density of steel coil”, “tensile strength of steel coil”, “pH value of product”, “viscosity of product”, “carbon content in steel”, “magnesium content in steel”, “etc. On the other hand you can define characteristics to record values for “manufacturing line”, “shift supervisor” etc, SAP also provides standard reference characteristics with automatic value recording for characteristics like the “Production date”, “shelf life”, “last goods receipt date” etc., referencing the same from a SAP table and field. As a consultant we can use characteristics in the material class or batch or variant class to record values for certain features or characteristics which are not available in SAP or not provided by SAP.
SAP Characteristics can be used to define values for a given feature in:
• A Batch Class defining the specifications and their values for the produced goods
• A Material Class defining the standard theoretical material specifications
• A Variant classes where specifications are used to configure a product according to customer provided values
• Any other Class type where you have to define certain features and specifications and give predefined values to it, as required.
When creating a characteristics, one needs to define the format for the values it would carry (character alphanumeric or date or numeric format) and if required a predefined set of values which are allowed for use at the time of result recording (Values in the character format if the characteristics is a character format characteristics or the values can be numerical in the form of
single value or tolerance range. If the Characteristics have no values, then any value can be recorded for the characteristics provided the “additional values allowed indicator in the characteristics is set).
Note: There can be situations where the allowed tolerances changes material wise; in which case you can leave the values section in Characteristics as blank and maintain the required tolerances in the characteristics at the material master classification view for the batch class.
Characteristics are also called as General characteristics and they differ totally from the Master inspection Characteristics. A Characteristic is linked with the Master Inspection Characteristics, so that the QM inspection data recorded against a Master Inspection characteristic can flow in to the Characteristics of the Batch Record.
Eventually the characteristics are grouped together in a class to specify the set of characteristics that belong to a particular group of Materials. This grouping of characteristics is called “Creation of Class”. This Class is further Assigned to a set of Materials that have the same set of characteristics.
Creation of SAP Characteristics
For creating characteristics you have to maintain at least the basic data view to specify the name, description, group and format of the characteristics.
You can use the description tab to specify the description of the characteristics in various languages used for log-on.
The Allowed values tab can be optionally used to restrict the values that would be used while recording the characteristics.
The Additional data tab can be used to make the characteristics a reference characteristic so that its values can be fetched from a standard SAP table. At the same you can set to be a hidden characteristic or characteristics which would not carry any values at all.
The Last tab called the restrictions tab allows you to restrict the use of the characteristics to a certain class type only. This again is optional. Not doing this allows you to use the characteristics in any class type across the client.
Name of Characteristics
If the name is more than one word then use underscores (underscore _) to separate the words in the name. For example Characteristics steel carbon content can have a name such as “CARBON_CONTENT”. It is always recommended that you should not use blank or hyphens as a word separator.
Description of Characteristics
You can maintain a description of the characteristics name chosen. For example you can have a description as – Carbon Chemistry %.
Characteristics Group
You can create a characteristics group in configuration, but you can choose not to use this field.
Status
You should use the characteristics status to lock it for use or to release it for use in classes. If you are creating in the process of creation, you can also choose the status – “in Preparation”.
Format of Characteristics
One can create characteristics, to have a value in date format or character format (alphanumeric value up to 30 characters) or a numeric value (with number of characters and the number of decimals places within those characters and a UOM).
For example if you are creating a characteristics with characters as 5 and number of decimals 3, it can carry a value as – 12.345 and if you are creating characteristics with total characters as 7 and number of decimals as 2, then it can carry value as – 12345.67.
UOM
The UOM of the characteristics has to be pulled in from the drop-down available. If a certain UOM does not exist in the drop down, you should create the UOM in the SPRO (IMG customizing). Units of measure are defined in Customizing for Global Settings by choosing Units of Measurement. Use the transaction code CUNI for creating or changing the Unit of Measure (path SPRO >>> SAP NetWeaver >>> General Settings >>> Check Unit of Measure.
Template of characteristics
You can have a predefined template with number of characters and decimals and UOM preconfigured thereby avoiding the pain of entering characters, decimals and UOM.
Single or Multiple Values
You have to mention whether you want to maintain single value result or multiple value (more than one value) result for the characteristics (when it is used).
Intervals allowed
When you choose intervals allowed, you can maintain values in the form of intervals for numeric characteristics instead of maintain an absolute value. For example you can maintain result value for the characteristics (wherever it is used in batch class or material class) in the form of intervals. Note: If you want to activate the characteristics as an intervals allowed then the characteristics should be marked as “Multiple Value” Characteristics (This is a Mandatory requirement)
Restrictable Characteristics
You can restrict the allowed values for this characteristic in Variant configuration. Entry required
When you feel that the users should always maintain/record a value for this characteristics (wherever it is used), you should mark the characteristics as mandatorily required for entry. If the characteristics is being used in a batch class with an entry required indicator, then without a Characteristics value being entered for this characteristics goods receipt is not saved (thus value becomes mandatory). Similarly if the characteristic is used in a material class, a value entry for the characteristics in the material master classification view becomes mandatory.
If you want to hide a characteristics value assignment or you want to hide the characteristics, depending upon the value of other characteristics or if you want to assign a value to a characteristics depending upon the value of other characteristics, then you can make use of object dependencies and assign the same to the characteristics or to the value of the characteristics which you want to govern.
You can assign the following type of object dependencies to a characteristics or characteristics values:
A) Pre-conditions (Both Characteristics and Characteristcis values) B) Selection Conditions (Both Characteristics)
C) Procedures (Both Characteristics and Characteristcis values) 1st Example: Pre-conditions for Characteristics Values
If you are producing a Honda car, then a "Accord EX" Brand can only have "Leather Seating of Type AA".
Create two characteirstics "Brand" and "Seating" and assign both the characteristics the material that is being produced, it can be a configurable material used in varaint configuration or it can be a regular material whose value assignment needs to be governed (it can be controlling the value assignment in materia class or a batch class or in a variant class) see below:
Characteristics - BRAND - 01 - HONDA CITY 02 - HONDA CIVIC LX 03 - HONDA CIVIX EX 04 - HONDA ACCORD LX 05 - HONDA ACCORD EX Characteristics - SEATING 01 - CLOTH SEATING TYPE TQ 02 - CLOTH SEATING TYPE HV 03 - LEATHER SEATING TYPE PT
04 - LEATHER SEATING TYPE AA ($SELF.BRAND = '05')
The object dependencies "Z01" - Precondition (just an example name) can be created as a precondition with an algorithm $SELF.BRAND = '05'. The object dependency must be assigned to the value 04 - Leather Seating of Type AA of the characteristics "Seating"
2nd Example: Pre-conditions for Characteristics Values
You may also want to hide the characteristics Value - "04" (Leather seating of type AA) for characteristics "Seating", if the characteristics "Brand" does not have a value "05" (Honda Accord EX), then you need to create a object dependency "Z02" and assign it to the characteristics value "04" of the characteristics "Seating"
Object Dependency - Z02 - Precondition - $SELF.BRAND = '05' and SPECIFIED BRAND
3rd
Example: Pre-conditions for Characteristics
The characteristics "Seating" is available for use and value assignment if the value of the characteristics "Brand" is "05" (Honda Accord EX). To have the characteirstics open, you can do so by assigning an object dependency (Z03) to the characteristics "Seating" at the header level. Object dependency Z03 - Precondition - $SELF.BRAND = '05'
4th Example: Pre-conditions for Characteristics Values
You may also want to hide the characteristics "Seating", if the characteristics "Brand" does not have a value "05" (Honda Accord EX), then you need to create a object dependency "Z04" and assign it to the characteristics "Seating" at the header level.
Object Dependency - Z04 - Precondition - $SELF.BRAND = '05' and SPECIFIED BRAND
5th: Selection Condition for Characteristics
Assigning Selection Conditions to a characteristics would make it mandatory for the value assignment to the characteristics based on a value assigned to the other characteristics.
The characteristics "Seating" should be entered with a characteristics value if the value of the characteristics "Brand" is "05" (Honda Accord EX). To have the characteirstics mandatory for input, you can do so by assigning an object dependency (Z05) to the characteristics "Seating" at the header level.
Object dependency Z05 - Selection condition = $SELF.BRAND = '05'
An object dependency - Z03 - Precondition added to the characteristics would unhide the characteristics "Seating" if brand = 05 (Honda Accord EX) - $SELF.BRAND = '05'
Both the precondition and selection condition working together would firstly unhide the characteristics and make an entry mandatory respectively.
Procedures are object dependencies which are used to infer the characteristics values. Procedures can be used at characteristics header level or at characteristics value level. In varaint configuration scenarios you can assign procedures to the configuration profiles.
In Variant configuration, procedures can be used to change BOM quantity or change the Routing/Recipe Standard Values.
Procedures are also used to default values to characteristics.
For example:
When you are in a business of manufacturing of steel, you can have the theoretical weight of the steel billets inferred through the weight and length of the billet as shown below:
Characteristics Width = P m Length = Q m Height = R m
Weight = ? cubic meter Packing_Type =
$SELF.Weight = $Self. width * $Self.Length * $Self.Height
Similarly, you can also infer the value of characteristics "Packing_Type" depending upon the weight of the steel billet. Use a source code as below:
$Self. Packing_type = 'CONTAINER1' IF $Self.Weight < 100 $Self.Packing_type = 'CONTAINER2' IF $self.Weight > 100
Maintaining Descriptions
You can maintain descriptions in various languages to have the description shown when a user logs on in various other languages other than English. The other use of descriptions is for printing them on forms or certificates that you may send to the customer with the characteristics value.
If you want to maintain in other languages other than English, then you can enter the language code and enter the description in that language. If you don’t maintain the description in other languages, then on, logging-in SAP in that given language, you would not see the description of the characteristics.
Values View
If the characteristic is a character format characteristic (COLOR), you can manually define the allowed value as RED, YELLOW, BLUE, GREEN. The number of characters used to define the value should be equal to the allowed characters define in the basic data view of the characteristics.
If the characteristic is a numeric format characteristic (pH), you can manually define the allowed value as 1, 2, 3, 4, 5 pH. The number of characters used to define the value should be equal to the allowed characters define in the basic data view of the characteristics. For numerical characteristics you can also define tolerance ranges within which the characteristics values should be set or you can define the allowed values to be equal to or greater than or less than a certain value.
Other Value Check
The “other value check” option allows you to enter the allowed values manually or fetch the same through a ‘check table’ maintained in SAP or to restrict the allowed values through a logic programmed in a functional module or have the allowed values directly brought in from a QM catalog for character format characteristics as shown below:
You can define the characteristics as reference characteristics to pull in the values of the characteristics from a standard ‘SAP Table – Field Combination’. Enter the Table name and the field name in the tab area as shown in the screen below:
a) Table Name – Define the SAP Table name where the values are referenced from while recording the Characteristics
b) Field Name – Define the SAP Field name where the values are referenced from while recording the Characteristics
Not ready for input
If you select this indicator for the characteristic, the values cannot be entered manually and would be referenced automatically or entered through other programmatic methods.
No Display
The Characteristics is hidden and you have to press the “Hidden Characteristics” Button to see these characteristics.
Display Allowed Values
The allowed values are shown on the screen below the characteristics; you don’t have to pull-down to see the allowed values.
If you want to restrict a Characteristics for use in a particular Class Type, then you can enter the Class types that you are restricting the characteristics to, in the Restrictions Tab, For Example if you want to use a characteristics “G2I_VISCOSITY” in the Batch Class type 023, and not in the Material Class type- 001, then don’t enter 001 in the restrictions tab.
If you don’t use the restrictions, you can use the characteristics in any class type as required.
SAP Class and Class Type
SAP Class and Class Type
Define Class and Class Type
You can use SAP transaction code CL01 (CL02/CL03) to create a characteristics.
Instead of directly assigning the characteristics to an object like the material master or a batch, SAP has come up with a simpler solution, where it first assigns the characteristics to a class and then assigns the class to the object.
Classes are created for a class type, for example, if you want to create a class assigned with characteristics for defining the material features, then the class type is called “material class type – 001”, if you are creating a class with a set of characteristics to be used for recording the batch related values, then you have to create the class with a “batch class type – 022 or 023” etc, etc. A class is created for a purpose, for assignment to a certain object and for a certain reason; this very reason defines the class type of the class.
A class is created with a class type, name and description (in languages required) and with the set of characteristics required for recording values against the class.
The class type determines how classes are processed, and how objects can be classified and retrieved in these classes. You define class types for a specific object type, such as materials.
Material class Batch class
Class Where-Used List
If you run the where-used list for classes, you can see the assigned objects to the classes. For this you would need to go to CL02 or CL03 Transaction menu >>> environment >>> Press where-Used List. You could also use the transaction codes CL30N - Find Objects in Classes or CL31 - Find Object in Class Type or CL6BN - Object List
Class List Report
You can use the class list to check the list of classes and the assigned characteristics with their formats. Similarly you can check the class hierarchy using the CL6B transaction code in SAP.
Creation of SAP Class and Class Type
Classes are created individually in SAP using the CL01 transaction code while class types are pre-configured by SAP.
Following steps are required to create a class:
Basic Data View
The Basic Data view contains the following. You should first enter values for the Basic data view explained as below:
• The class type for which you are creating the class for • The Name of the class
• The Description of the class. You can also define keywords for the class. • The Validity of the class with the “valid from” and the “valid to” dates
• Status: You should use the characteristics status to lock it for use or to release it for use in classes. If you are creating in the process of creation, you can also choose the status – “in Preparation”
• Class Group: The classification of a class or the grouping of the class helps in reporting or retrieving a certain class.
• Assignment of the class to an organization area like Sales, purchasing, production, where the characteristics of the class are going to be used. This is really optional
• “Do not check” for identical characteristics values in the classification of an different object of the same class
• When identical values are assigned to the classification of different object using the same class, the system issues a warning – Check with warning
• When identical values are assigned to the classification of different object using the same class, the system issues a error – Check with error
• Authorization restriction for maintaining, using the class for classification and searching objects of the class.
• Assignment indicator – defines whether objects are already assigned to the class. Characteristics View
In the characteristics tab, you have to enter the name of the characteristics which is required to be assigned to the class. Pressing F1 on the characteristics in the characteristics tab would divert you to the characteristics master data. When you insert characteristics in the characteristics tab, the format of the characteristics is also pulled in.
Documents View
You can also assign documents to the class through the documents view Assignment of SAP Classes to Objects
Assign of Classes to Objects
The classes have to be assigned to the objects. Objects in SAP are mostly materials; though they can be other objects in SAP where classification is required (this is not discussed here). Assignment of classes to material, indirectly assigns the characteristics to the objects or the material master.
Class Where-Used List
If you run the where-used list for classes, you can see the assigned objects to the classes. For this you would need to go to CL02 or CL03 Transaction menu >>> environment >>> Press where-Used List. You could also use the transaction codes CL30N - Find Objects in Classes or CL31 - Find Object in Class Type or CL6BN - Object List
What are Objects
• If you wish include batch class to capture batch management characteristics values at the point of goods receipt from the order, you should assign the material with a ‘batch classes’ (class type 022 or 023)
• If you wish include material class to capture material (product features) characteristics values at the point of creating a material, you should assign the material with a ‘material classes’ (class type 001)
• If you wish include variant configuration class to capture configuration values with characteristics at the point of creating a sales order, you should assign the configurable material with Variant class (300)
• Similarly if you are trying to use configurable class – 200 to the materials so as to use the same in variant configuration, you should assign the class 200 in the material variants (and not in the configurable material).
Create Assignment of Classes to Objects
The assignment of the classes to the objects is carried out using the following methods: • The material master (MM01 or MM02) itself in the classification view Example:
Material Master Classification View: Material = M1 Assignment Class 1 Assignment Class 2 Assignment Class 3 Assignment Class 4 Assignment Class n
• Or through the use of CL20 (Assignment of classes of single class type to single material master) Example: Material = M1 Class Type = 023 Assignment Class 1 Assignment Class 2 Assignment Class 3 Assignment Class 4 Assignment Class n
• Or through the use of CL24N (Assignment of single class of a single class type to multiple materials) Example: Class = XYZ Class Type = 023 Assignment Material 1 Assignment Material 2 Assignment Material 3 Assignment Material 4
Assignment Material n
• Or assign classes to a superior class, thus creating class hierarchies through the use of CL22N Example: Class = XYZ Assignment of class 1 Assignment of class 2 Assignment of class 3 Assignment of class 4 Assignment of class n
Other Points about SAP Classification
Other Points about SAP Classification
Other important points and tricks about SAP Characteristics and Classes:
Changing characteristics or removing characteristics from the class:
When a SAP Characteristic is used in any class and assigned to the objects (for example – material, batch etc) and further classified in objects with values (like in material master or batches), it becomes really difficult to remove the assignment of the characteristics from the class or change the characteristics master data (especially for format).
If you wish to really remove the assignments or change the characteristics (you would have to go back in the same route you have come):
1st: First you would have to use the where used list for the characteristics and find out the objects to which it is assigned. You will get a list of classes and the objects (materials and batches) to which the characteristic is assigned to.
2nd: You would have then ‘remove or delete’ any classification values set on all the objects for the characteristics or class (material or batch). For deleting the whole classification, there is a provision especially in the batches initiated by pressing the “delete classification button”. On the other hand, you may also removing values for the required characteristics from all the objects.
To go to the classification area, you should go to classification tab in the batches or in the classification view of the material master.
3rd: After the steps 1 and 2 are done, the system would let you remove the ‘characteristics’ from the class or classes. This removes any connection of the characteristics with the classes and the objects.
4th: Then you can change the characteristics master data for the format; you may create new characteristics with the correct details and then reassign it to the class or classes.
Note: There is a program in SAP to remove or delete the characteristics from the classes even though they are classified in objects. This Standard SAP program “RCCLZUOB” can be used.
Deleting the class:
Follow the below steps so to delete a class. The system will not let you delete the class, if the class is already assigned to objects and they are classified in materials or in batches or in variant classes.
1st: For deleting the class, you would have to go in to the where-used list of the class and find out the objects to which it is assigned to (for example – materials, batches).
2nd: Then you should go individually in to the materials to remove the assignment of classes from the materials; alternatively you can go in to CL24N to remove the assignment of materials for the class and class type.
If the system does not let you remove the assignment of the classes from the materials then you should delete the classification (i.e., delete all the classified value for the material or in other words remove the classified values for all the assigned objects). If the class is a batch class you should go and delete the classification from the batches classification view and for material class you should go in to the material master and remove the material classification values. This will let you delete the class…
3rd: Deleting the assignment of the objects would let you delete the class using CL02 transaction.
SAP Batch derivation
Transferring batch characteristics values or batch master fields from the sender batch to the receiving batch is called “Batch Derivation”. The component batches can pass on their Field values/characteristics values to the manufactured batch.
Events at which the copy of characteristics values to the manufactured batch is possible = • At Goods Receipt of the manufactured quantities
• At Release of order • At Usage Decision • At Batch Creation
Batch Derivation Example
The following is an example of batch derivation at production order or process order release. Production order / Process order = 1000120 for Material M1
Step 1: Define the transfer characteristics from the issued or sending component batches to the manufactured batch. Issued Component Batch Concerned Characteristics Value Require Transfer Logic C1 B1 COLOR RED NO
WIDTH 2 M YES Move Average Value
LENGTH 10 M YES Move Average Value
HEAT NUMBER H1 YES Move the Minimum
B2 COLOR RED NO
WIDTH 3 M YES Move Average Value
LENGTH 10 M YES Move Average Value
HEAT NUMBER H1 YES Move the Minimum
Step 2: At Goods Receipt of the order or at Release of the manufacturing order or at usage decision, the transfer of characteristics can be triggered from the sending batch/es to the receiving batch/es.
Manufacture d
Material
Batch Concerned Characteristics
Value Whether Copied over
M1 BX DIAMETER 5 MM
WIDTH 2.5 M Move Average Value
LENGTH 10 M Move Average Value
HEAT NUMBER H1 Move the Minimum
SAP Batch Derivation Types
There are 2 types of Batch Derivations, Pull and Push Batch Derivation. Pull Derivation
Pull derivation exists when there are multiple sender batches and one receiver batch.
Batch Master Characteristic’s values or Batch Master Field values can be transferred to the receiver batch from the sender batch.
For a given characteristics either its value from the first batch can be copied over or an average value can be copied over to the receiver batch.
Pull Derivation = Many Senders >>TRANSFERRED>> One Receiver =
n
senders– 1
ReceiverPush Derivation
When there are many receivers and 1 sender. You have to choose whether the batch derivation is a push derivation in the sender condition record.
An example of Push derivation can be:
When you procure a component batch and use it to produce chemical products which are produced in bulk and stored in various bulk containers marked with unique batch numbers, in this case you if you want to transfer a component batch characteristics value or component batch master fields to the receiver batches, then you can do so using “Push Batch Derivation”.
Push Derivation = One Senders >>TRANSFERRED>> Many Receiver =
1
senders– n
Receiver
Steps in Settings up SAP Batch Derivation
One can use the following steps to set up batch derivation in SAP.
Step 1:
Activate Batch Where used list
One should activate the Batch where used list, in the configuration with the BaWU Synchron.posting indicator on– Allowing the system to figure out the sending batches and the sending characteristics values. There is no Transaction code for this, you have go to Logistic General >>> Batch >>> Batch Where Used List.
Step 2:
Batch Derivation Activation
Batch Derivation should be active in configuration so as to use this functionality. Use transaction code DVSP.
Step 3:
Setting Batch Derivation Search Procedure Techniques
It becomes really impossible for us to inform the system about the sending batch number (for each and every batch) and the characteristics/rules to transfer to the receiving batch number/s. Thus we use the batch search procedures and conditions records to direct the system so that for all the sending material batches at the “plant” level should be considered in the search and its data should be transferred to the receiving material batches. A similar condition record should be set for the receiving side so that all the material batches at the “receiving plant” level should be considered in the search and they should receive the characteristics data. Setting the sending condition on “sending plant” and the receiving condition on the “receiving plant” is just an example. You could define the levels at which condition records should be defined through the standard condition table and access sequence configuration
SAP makes it easier for the users to make various combinations of levels for the sending party and the receiving party, to do this you should choose the condition fields as supplied by SAP and create a condition table and use these tables or key combinations to assign them in an access sequence with priorities. This suggests that you can make use of more than one key combination assigned in priorities so that if the condition record for one combination is not found, the system
can make use of the next condition record to search for the sending batches and the receiving batches involved in the transfer.
Once the Condition tables, access sequences, strategy types, and search procedures are configured for the sending party and the receiving party, you should then create condition records at the defined levels or defined key combination, for the sending party and the receiving party.
For example
If the sending key combination or sending condition record is to be defined at the “sending material-plant” level, then you should define the “actual sending material and the “sending plant” in the condition records and the characteristics involved in the transfer.
On the other hand you should also define the condition records key combination for the receiving party, for example if you make a definition at the “receiving material-receiving plant level”; you should enter the actual receiving material and the receiving plant involved in the derivation, to help the system to search for the receiving batches.
While you create the receiving condition records, you should maintain a set of transfer specific rules i.e., if the sender field/characteristics value is empty or the sender is overwriting any existing characteristics values in the receiving batch then should it error out the transfer or issue an warning or do nothing and on the other hand you can direct the system to send minimum/maximum/average value of the sender characteristics if there are more than one sender batches or more than one value is defined for the characteristics in the sending batch.
The Batch derivation procedures and the condition records, for the sending party and the receiving party, which are set, it helps the search for all the concerned sending batches and the receiving batches, and identifies the rules defined in them, so that the characteristics values can be transferred to the receiving batches.
Steps in setting up Batch Derivation Condition techniques 1. Create Sending Condition Tables
SAP provides a set of standard key combination sets or preconfigured sending condition tables. Conditions tables are created with a combination of conditions field all provided. You cannot add your own field. Each Condition table contains a key combination.
You can alternatively create your own sending key combination/condition tables other than that provided by SAP as shown above, by creating a custom sending condition table. Following set of sending conditions fields can be used to create your own sending key combination or sending condition table (Use configuration Transaction code DSC1):
Receiver Material Receiver Material Type Sender Material
Sender Material Type Sender Plant
The key combinations or condition tables (for the sender) as provided by Standard SAP are as below:
Sender Material Number (Table 010) Sender Material Type (Table 011)
Receiving material + sending material (Table 012)
Receiving material type + sending material type (Table 013) Sending Plant (Table 502)
You can create your own condition table – 901 with the following condition fields Sending material + Sending Plant (Table 901)
2. Create Receiving Condition Tables
SAP provides a set of standard key combinations set in preconfigured receiving condition tables. Conditions tables are created with a combination of conditions field all provided. You cannot add your own condition field. Each Condition table contains a key combination.
You can alternatively create your own receiving key combination/condition tables other than that provided by SAP as shown above, by creating a custom receiving condition table. Following set of receiving conditions fields can be used to create your own key combination or receiving condition table (Use configuration Transaction code DRC1):
Material Number Material Type Receiving Plant
The key combinations or condition tables (for receiver) as provided by Standard SAP are as below:
Receiving Material Number (Table 001) Receiving Material Type (Table 002) Receiving Plant (Table 501)
Receiving material + Receiving Plant (Table 902)
3. Create Sender Access sequence,
Create Sender access sequence so as to help in searching the attributes of the sender batches. Some field key combinations or sending condition tables are already grouped together in priority sequence in the standard SAP Batch derivation access sequence “BDS1”.
The field combination which are set in a priority sequence in the configuration represent the field key combination that would be used to create the master data for sending party, which in-turn would help in searching the attributes of the sender batches.
If you choose to create your own access sequence, you may do so; when you do that you have to assign the sending condition tables in your own defined priority sequence. Transaction code is DSC5 to create access sequences in configuration.
SAP offers the following receiving condition tables (key combinations) for use in the access sequence BDS1 arranged in a priority:
10 Receiving material + sending material (Table 012) 20 Sender Material Numbers (Table 010)
30 Sending Plant (Table 502)
You can create your own sending access sequence arranged in a required access sequence: You can call this sending access sequence as “ZDS1”
10 Sending Plant (Table 502)
20 Sending material + Sending Plant (Table 901)
4. Create Receiver Access sequence,
Create receiver access sequence to search for the attributes of the receiver batches. Some field key combinations or receiver condition tables are already set up in the standard SAP Batch derivation access sequence “BDR1”.
The receiver condition tables which are set in a priority sequence in the configuration represent the field key combination that would be used to create the condition record master data for receiving party, containing the characteristics and rules, which in-turn would help in searching the attributes of the receiver batches.
If you choose to create your own receiver access sequence, you may do so; when you do that you have to assign the receiver condition tables in your own defined priority sequence.
Transaction code is DRC5
SAP offers the following receiving condition tables for use in the access sequence BDR1 arranged in a priority sequence:
10 Receiving Material Number (Table 001) 20 Receiving Material Type (Table 002) 30 Receiving Plant (Table 501)
You can create your own receiving access sequence arranged in a required access sequence: You can call this sending access sequence as “ZDR1”
10 Receiving Plant (Table 501)
20 Receiving material + Receiving Plant (Table 902)
5. Sending Condition Type (Strategy type)
Sending Condition types is created to assign the sending access sequence to it. Standard SAP already has done this for you.
In SAP, the standard sending condition type BDS1 is created and assigned to the standard sending access sequence BDS1.
Transaction code is DSC6.
6. Receiver Condition Type (Strategy type)
Receiver condition types are created to assign the receiving access sequence to it. Standard SAP already has done this for you.
In SAP, the standard receiving condition type BDS1 is created and assigned to the standard receiving access sequence BDS1.
7. Sending Batch Derivation Search Procedure
Sending Batch Derivation Search Procedure contains the sending Condition type.
Various condition types are assigned in a priority sequence for use for searching the sending batches and its data.
Note: You can choose to assign more than one condition type set in a priority while building a search procedure.
Transaction code is DSC7.
8. Receiver Batch Derivation Search Procedure
Receiver Batch Derivation Search Procedure contains the receiving Condition type.
The various condition types are assigned in a priority sequence for use for searching the receiving batches.
Note: You can choose to assign more than one condition type set in a priority while building a search procedure.
Transaction code is DRC7.
Step 4:
Define the Batch Derivation Event
Defining derivation event would tell the system of a business event to trigger batch derivation, i.e., a point in time to transfer batch characteristics values from a sender batches to a receiver batches.
The transaction code to configure the derivation events is DVC8.
A) When do you want to trigger the batch derivation?
The answer to this question decides when you would wish to trigger the batch derivation
• @ Release of production/process order
• @ Goods receipt from production/process order
• @ Usage Decision
• @ Manual Batch Derivation
• @ Batch Master creation
B) What would be the Sender/Receiver Batch Determination Procedure?
The answer to this question decides the search of the sender batch and the receiver batches to copy/compute the batch characteristics values for the receiver batches.
• Assign a Sender Batch Derivation Search Procedure
• Assign a Receiver Batch Derivation Search Procedure C) What is the type of Batch Derivation?
The answer to this question decides what would be the type of Batch Derivation that is required for business use.
• Static batch derivation transfers the characteristics values of the sender batches to the receiver batches. A derivation log is generated in the derivation Monitor.
• Dynamic batch derivation does not transfer the characteristics values of the sender batches to receiver batches, it only simulates the transfer. The receiving batches are not automatically updated with the transferred values; you would have to manually change it. D) Do you want to display the batch derivation results
The answer to this question decides whether the derivation results are displayed.
• Display in Errors
• Hide when ok
• Always Display
• Always Hide
Step 5:
Creating Sending Condition Records or Sending Batch search Strategies
When you configure the system till the creation of batch derivation search procedures for both sending and receiving parties, you would eventually create the master data for the sending conditions. To create the sending condition records you should follow the process as below using the transaction code DVS1/DVS2/DVS3:
Choose the batch derivation strategy from the drop down >>> Then choose a key combination as set in access sequence >>> and then create the sending batch derivation strategy master data by entering values for the condition fields of the key combination >>> Enter the characteristics that you would want to transfer the values from the sending batches >>> Save.
There is not much of data entry when you create the sending condition record apart from assigning the characteristics for which values are to be transferred to the receiving batches. You can set master data for more than one key combination (a key combination decides the master data level at which the master data is created), but the system at the time of execution would first access the first condition key combination and check whether the master data exists for the sending batches, if the sending batches are not found using the first sending condition record master data, the system would check whether the master data for the sending batches exists for the second key combination condition and if the batches are not found using the master data under the second sending condition records then it will go to the next key combination in the access sequence and search whether master data for the sending batches is created for the third key combination, so on and forth.
Step 6:
Creating Receiving Condition Records or Receiving Batch search Strategies
When you configure the system till the creation of batch derivation search procedures for both sending and receiving parties, you would eventually create the master data for the receiving conditions. To create the receiving condition records you should follow the process as below using the transaction code DVR1/DVR2/DVR3: