0% found this document useful (0 votes)
32 views91 pages

Material Type Configuration in SAP

The document provides an overview of Material Master configuration in SAP ECC 5.0, detailing the significance of material types and their influence on various aspects such as number ranges, field requirements, and user departments. It also outlines the organizational structure necessary for Materials Management, including company codes, plants, storage locations, and purchase organizations, along with the setup of release procedures for purchase requisitions and blanket purchase orders. Key configurations and transactions for managing these elements are highlighted, ensuring efficient material management processes.

Uploaded by

Htay Lwin Oo
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views91 pages

Material Type Configuration in SAP

The document provides an overview of Material Master configuration in SAP ECC 5.0, detailing the significance of material types and their influence on various aspects such as number ranges, field requirements, and user departments. It also outlines the organizational structure necessary for Materials Management, including company codes, plants, storage locations, and purchase organizations, along with the setup of release procedures for purchase requisitions and blanket purchase orders. Key configurations and transactions for managing these elements are highlighted, ensuring efficient material management processes.

Uploaded by

Htay Lwin Oo
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Material Master: Material Type configuration

SAP version used for this post: SAP ECC (ERP Central Component) 5.0

When creating a material, you need to specify the material type.

The Material type is the highest level of categorization of material masters.


Material Types defined in configuration and below is a summary of main areas that material
type influence:

• Number range of material master and if it is internal (system allocated) or external (user
allocate number)
• Which fields in material are mandatory / read only / optional
• User departments (Views in material)
• Purchase Orders allowed
• Valid valuation classes
• Quantity and Value update (does it update stock qty and value)
• Is it a pipeline material or not
• …. and many more

Standard SAP Material Types include:

ABF - Waste
CH00 - CH Contract Handling
CONT - Kanban Container
COUP - Coupons
DIEN - Service
ERSA - Spare Parts
FERT - Finished Product
FGTR - Beverages
FHMI - Production Resource/Tool
FOOD - Foods (excl. perishables)
FRIP - Perishables
HALB - Semifinished Product
HAWA - Trading Goods
HERS - Manufacturer Part
HIBE - Operating supplies
IBAU - Maintenance assemblies
INTR - Intra materials
KMAT - Configurable materials
LEER - Empties
LEIH - Returnable packaging
LGUT - Empties (retail)
MODE - Apparel (seasonal)
NLAG - Non-stock materials
NOF1 - Nonfoods
PIPE - Pipeline materials
PLAN - Trading goods (planned)
PROC - Process materials
PROD - Product groups
ROH - Raw materials
UNBW - Nonvaluated materials
VERP - Packaging
VKHM - Additionals
VOLL - Full products
WERB - Product catalogs
WERT - Value-only materials
WETT - Competitor products

The main configuration of material type is in transaction OMS2


IMG: Logistics > Material Master > Basic Settings > Material Type > Define Attributes (OMS2)
Some settings can be done per plant
This information resides in:
T134 - Material Type
T134T - Material Type: Text
T134M - Material Type: Valuation area data

For number range configuration, the transaction is:


IMG: Logistics > Material Master > Basic Settings > Material Type > Define Number
range (MMNR)

First create a Group


Then link the material type to it

This is the main settings of material type. In later articles, we will address other configuration
that can be be done per material type.

SAP Hierarchy -- Materials Management

Willem Hoek on Jan 11, 2013

SAP version used for this post: SAP ECC (ERP Central Component) 5.0

Key Org structure objects used by Materials Management are:

• Company (FI)
• Plant
• Storage Location
• Purchase Organisation
(the red crosses indicate links that are not allowed – see notes below)

Q: Why do we set up SAP Organisational Structures (or SAP Hierarchy)?

• It roughly mimic the actual structure of the organisation


• Use for reporting purposes, examples:
“What are the current stock levels at storage location 0001?”
“I want to have a Balance Sheet for company 1000?”
• Use for authorisation purposes, examples:
“We don’t want people in plant 1000 to receipt goods related to plant 2000”
• Master data is stored per organisational object, example:
• Valuation is on plant level, so if same material is in two plants the material will have two
accounting views (one per plant)
• If the same vendor is used by multiple purchase organisations it will have multiple
purchasing views

To keep it simple you want minimum amount of SAP Hierarchy objects (companies, plants,
storage locations, …). Example: Don’t just create a lot of plants – always ask why, why, why?

Company Code

Set up on the FI side of SAP.


Required if we need to do external financial reporting.
All companys must have different codes (company code is 4 characters)
Questions to ask business:

• What are the legal entities of the business?

Plant

Used by all Logistics modules (MM, PM, PP, QM, PS,…)


Must be link to a company code. (only one)
All plants must have different numbers (plant number is 4 characters)
Questions to ask business:

• Where are the physical places (storage locations, distibution centres, ..) where materials
are handled?
• If using SAP PP, where are all the factories?
• How does the valuation (prices) of material differ between all these places?
• Reporting and authorisation requirements?

Storage Locations

Used by Inventory Management (and Warehouse Management)


Part of one Plant.
Storage locations within the same plant must have unique number (4 characters)
Questions to ask:

• Where are all the physical storage places (warehouses, tanks, …)

Purchase Organisation

A plant must have a purchase organisation (one or more)


The link to company code is optional. If a Purchase Organisation is link to a company code, it
can only be used by plants within that one company code.
Contracts / Pricing are done in the purchase organisation.
It consists of people (purchasing groups) that manage the purchasing function.
Purchasing views in vendor master is per Purchasing Organisation
Questions to ask:

• What is company structre of contract negotiators and buyers?


• Is the same vendor used by only some buyers?

Plants can also be linked to a default Purchase Organisation. This is used for example in “Auto
PO create (when doing GR)” functionality, so that the system knows what [Link] to use. This link
is only required if these functionalies are used.

CONFIGURATION IN SAP

Creating and Assigning (linking) Plants

First create a plant by copying an existing plant:


IMG: Enterprise Structure > Definition > Logistics > Define, copy, check Plant
Select Activity: Copy, delete, check plant
No assign the plant to a company code: IMG: Enterprise Structure > Assign > Logistics >
Assign Plant

Creating Storage Locations (within plants)

IMG: Enterprise Structure > Definition > MM > Maintain Sloc

It is also possible to give a storage location “address” information (optional)


Create and Assigning (linking) Purchase Organisations

Create the purchase organisation

Then link it to the plants where it will be used.

It can also be link to a company code (this only takes place if the [Link] will be used plants
linked to this company code).
Link to default Purchase organisation (if required)

Setting up simple Release Procedure for Purchase


Requisitions
Willem Hoek on Feb 11, 2006

Release Procedures (approval) can be used for Purchase Requisitions (PR), Purchase
Orders (PO), RFQ’s, Outline Agreements and Service Entry Sheets. The principle is
exactly the same for all. If you can master one, you will know them all.

Lets set up release procedures for PR for the following example:

Our company have got 2 plants: Plant 3100 (London) and plant 3600 (New York).

• For New York (plant 3100), if PR item value is between 0 - 1000 USD, then PR
needs to be released by one person (person B)
• For New York (plant 3100), if PR item value is bigger than 1000 USD, then PR
needs to be released by two people (first by person B, then person C)
• For London (plant 3600), All PRs (therefore amount >= 0 USD) need to be
released by two people. First by person A, then person C.
Key terminology:

• Release Codes - The different levels that the approval will go through.
• Release Groups - Grouping of strategies.
• Release Strategy - Unique, set of condition, sequence and levels of releases.
Every line in diagram is a Strategy (so we have 3).
• Release Indicator / Status - The status of PR as it moves through the
strategy. Example ‘Block’ (can’t create PO yet) or ‘Final Release’ (can create PO
from PR)

Here is a summary of the steps to follow to set up our example:

• Create Characteristics & link to comm. structre (CEBAN for PR)


• Create Class & link to characteristic
• Create Release Groups & link to class
• Create Release Codes
• Release Indicator
• Set up strategies
o Strategies & Codes
o Prerequeirements
o Status
o Assign values for strategies
• Set overall / item for doc type (PR only)
• Create and allocate autorisation profiles

Detail steps of setting it up

Create Characteristics & link to communication structure (CEBAN for PR)

Here we define which fields are used to determine the strategy that will kick in. In our
case we used ‘Plant’ and ‘Item value’. Not all fields in the PR can be used. For a full
list of fields that can be used to determine the release startegy, see tcode se12 table
CEBAN.
So the two fields that will be used is:

Field CEBAN-WERKS for Plant


Field CEBAN-GSWRT for Item Value
We need to create a characteristic for every field. Use transaction ct04 Any
characteristic name can be used. Keep something descriptive to avoid confusion.
For Item Value – lets create characteristic Z_GSWRT

First go to Additional Data tab and enter the table/field (and Enter)

Enter currency to be used in the Basic data tab. Also select multiple values _and
_Intervals allowed

The Intervals allowed will allow us to assign a range of values, example: If PR value is
0 - 1000 USD …..
Save the characteristic

For Plant – characteristic Z_WERKS


Again, the table/field name in Additional Data to enter table/field
Again set multiple values and save the characteristic
The multiple values is to assign more than one plant to strategy, example: If PR for
plant 3100 and plant 3600 is …

Create Class & link to characteristic

Create a class (simply to group the characteristics). Again any name can be used.
Tcode CL01 – Create Class. The Class Type must be 032.

Configure Release Procedures

Above actions was all master data. We now need to do some configuration.
Menu: IMG > Materials Management > Purchasing > Purchase Requisition > Release
Procedure > Procedure with classification > Set up procedure – (tcode OMGQ in older
SAP versions)
Create Release Groups & link to class

We have two groups to create AA and AB. We need to indicate the class we are
working with, in out case Z_PR.

Create Release Codes

Create all the release code / group combinations. This is all the dots in diagram
above. So we have 4.

Later on, authorisation profiles will be linked to these code / group combinations.

Release Indicator

First we create the different statusses that the PR can be in throughout it lifecycle.
Later on (below), we will be linking using these statusses. Here is the standard SAP
indicators, wou probably wouldn’t need to add any.
We will be using two of these – X (Block) and 2 (Released)

Under the Details section, you can indicate which documents can be created from
this PR. For Indicator 2, one can create PO’s and RFQ’s.
With _Field Selection _you can define which fields can be changed. This is the same
indicator that gets used with document type configuration to make some fields read
only, mandatory, hidden.

Set up strategies - Strategy & Codes

Every line in our diagram above is a strategy. So We have three Lets call them:
Group AA / Startegy S1 – Code L1 (for plant 0001)
Group AA / Startegy S2 – Code L1 & L2 (for plant 0001)
Group AA / Startegy S2 – Code L1 & L2 (for plant 0002)

Here are the settings for AA / S2

Set up strategies - Prerequisites

For every strategy, we need to define a release prerequisites. This indicate if one
code need to take place before the other. In this case, level 2 (L2) can only take place
if level 1 (L1) has been released.
Set up strategies - Status

This is also done for every strategy. The screen is dependant on what groups were
linked to the strategy as well as prerequisites that was set up. In this example:

• if nobody release it then PR is block.


• if L1 release the PR, the PR is still blocked
• if L1 and L2 release the PR, the PR can be converted to RFQ/PO

Out of interest, the reason why there is not a L2 only option is because of the setting
in the prerequisites.

Set up strategies - Values for strategies

The values linked to strategies are master data (not configuration) and can be set in
two places. Either within the configuration itself – selecting the classification button

Or, in classification, example CL24N


Both methods work, the advantage of CL24N is that all the strategies can be viewed
easier.

Set overall / item for doc type (PR only)

For Puchase Requisitions, there is an option to release either on item level or on


document level. For PO / RFQ / Contracts, one can only release on header level. Back
to the PR, it is highly recommended to use item release. This can be done in two
places.

Firstly where the groups were created

On the document type configuration for PR


Config menu: Materials Management > Purchasing > PR > Define document types

Create and allocate authorisation profiles

In our example we will have three people releasing, so three profiles will need to be
created. Authorisation profiles can be created using tcode PFCG.

Usage of PFCG are not being discussed here, but see below for relevant screen where
the profile was created.
————— USING RELEASE PROCEDURES —————

Create a Purchase Requisition

Lets create a PR, and see if the release procedure kicks in. In our case we will create it
for plant 3600 and any value. So we will expect Strategy AB / S2 to kick in.

Create PR – me51n

If no ‘Release strategy’ tab, then it didn’t work. In this case all is fine. The user can see
the Release Group (AB), Strategy (S2) and release indicator (X).

(SAVE)

Release a Purchase Requisition

Releasing can be done per PR or collective. Lets’ use the collective release. SAP
Menu: Logistics > Material Management > Purchasing > Purchasing Requisition >
Release > Collective Release – ME55

Select all the items to be released and then hit Save. You will see the status of the
item change to the next Release Indicator.
This is the absolute basics of setting up Release Procedures for Purchase
Requisitions. For more posts on Release Procedures, see index of posts.

SAP version used for this post: SAP ECC (ERP Central Component) 5.0

Blanket Purchase Orders


Willem Hoek on Dec 20, 2006

In SAP, Blanket Purchase Orders refer to the business process where you have a
Purchase Order with a validity period (start / end date) and a limit on the item. No
Goods Receipt takes place. Payment is triggered by Invoice.

Multiple invoices can be processed. Main point is that invoices must be processed
within the validity period spesified in PO. The total value of invoices must also not
exceed the limit spesified in PO item. The validity period is spesified on PO Header
Level, while the Limit is on Item level. The creation of Purchase requisition is
Optional.
Purchase Requisitions doesn’t have validity period fields, although the limit can be
spesified on item level. So if users create PR’s then they could type the validity period
simply as text in one of the long text fields.

During invoicing, if the date is outside validity period or the amount is bigger, either
a Warning or Error will occur. This setting is done in customising.

Examples on where this business process can be used include: Services: example
buying flowers, travel. Perticular if the receipt process is not very formalised. It is also
sometimes used for utilities (water, electricity…).

Look at processes where Financial invoices (no PO) are used. To improve control, a
lot of vendor invoices could be moved to Blanket Order process.

Lets look at key fields in the Purchase Order

The Overall Limit is the value that will be used to in the check during invoicing. If
Commitment is switched on in Costing, the Expected value is the value of the
commitment against in this case the Cost Centre. The actual will be posted during
invoicing.

Account assignment is mandatory, so this process is non stock purposes only. Stock
can not be procured using this method (For stock a GR is required).

Because no Goods Receipt (GR) will take place, the GR indicator is switched off when
the item category is selected.
Release procedures for PO vs PR
Willem Hoek on Jan 11, 2013

I received an email from someone recently asking: What is the differences in the
configurationare between Purchase Order (PO) and Purchase Requisition (PR)
release procedures?

This was ask after reading the detail post on “How to setup configuring for release
procedure for PR’s” - [Link]

Answer in short. The concept of class / characteristic still apply (as with PR).
Differences are:

• Releasing on PO is on header only. Where on PR it can be header or item


(mostly item)
• List of field names to chose from comes from CEKKO (not CEBAN for PR). To
see the list, view database table via se12 (dictionary)
• The PO release procedure is also used to release RFQ’s & Contracts. The
reason for this is that RFQ’s and contracts are also stored in table EKKO (hence
CEKKO when setting up PO’s)
• The config itself is under PO in IMG and not PR
• The release statusses are different
• Transaction to release PR not same as that to release PO’s

Load release procedure values using LSMW Direct Input


method
Willem Hoek on Jan 12, 2010

This post shows how to load Release Procedure values easily in SAP. The same LSMW
can also be used to load characteristics for other objects, example for material
masters

Loading release procedure values manually in SAP can be done via a few transaction
codes, the most popular being: CL24N and CL20N
For mass upload, there is a standard Direct input program that can be used via
LSMW (Legacy System Migration Workbench). The mass upload is based on
transaction CL20N.
Input file

Input file will contain all or some of fields required in CL20N


• Class Type (032 for release procedure)
• Release Group
• Release Strategy
• Class
• Characteristic name
• Value
Yours will be different because your Release Code, Strategy, Class, Characteristics and
values will be different.

LSMW Project

Find attached below for sample project used. Key settings in LSMW are:

Object Attributes

Source Fields

Conversion rules
Specify fields

In this case the input file must be in c:dataoutfilecl20_1.txt. Find sample file attached.
Start direct input
Table AUSP

After loading it in, you can verify the data is in via transaction CL20N or Cl24N or
download the contents of table AUSP (using se16n) where class type = 032

Speed of execution

Depending on system configuration, on my system, it runs approx 1 minutes for 2000


records.

Deleting characteristic values

Values can be deleted using transaction CL20N. Select all the objects (strategies) and
click delete. You may need to keep pressing Enter or use your stapler on the enter
key .
Other uses for this LSMW

The same LSMW can be used to load characteristic values for materials. Main
difference is that class type is not 032 but 001.
Attachments

• Sample input file: LSMW_input_file.zip


• LSMW Project: LSMW_project.zip
If invalid strategies are loaded – for example you load strategy XY that was not
configured. It will still add the values in table AUSP but you will not be able to delete
the values using CL24N. Invalid values (in AUSP) can be deleted using program
(SE38) RCCLZUOB

Serial Numbers and materials

Willem Hoek on Jan 11, 2013

EDIT on 2022-08-18: Initial post was done in 2013 based on ECC 5.0. Looking at
S4/HANA 2021 in 2022 – the functionality is very much still the same! The screens look
a bit more modern but that is about it. The config menu and transaction code are also
still the same. I decided to leave the ECC 5.0 screens in this post so that you can see
how little did it changed.

Serialization is a way to keep track of individual items (material masters). When


processing transactions, example Goods Receipt, Physical Inventory, etc.. you don’t
just type in material and quantity but also the serial numbers of the individual items.
Serial numbers is a unique number that identify an item. Example if quantity is 2, one
need to indicate serial numbers of the two items. A report is available to show all
movements for a spesific serial number.

Lets go through a simple example to do a Physical Inventory posting on a material


where we activate serial numbers.

Setting up – Master data

A material is activated in Plant / Data Storage 2 view of material master. Field MARC-
SERNP .The options (serialization profiles) are set up in configuration and define how
it will be used (see below).

MARC-SERNP Serial number profile


MARA-SERLV SerLevel or Level of Explicitness for Serial Number. This is the level on
which the serial number must be unique. If the indicator is blank, then only the
combination of the material- and serial number is unique. If the indicator is 1, the
serial number and equipment number are kept synchronous; that is, when master
records are created, the system always sets the equipment number the same as the
serial number. In this way you can make the serial numbers unique on a client-wide
scale. A prerequisite for this is that all material master records have the
indicator set to 1.
Using it in transactions

Lets look an an Inventory Management transaction for this material,


transaction MI10 to do a stock adjustment and see where the serial numbers are
used.

For this material, serialization is active, so the system force you to enter the serial
numbers of the items, in this case the quantity was 2, therefore 2 serial numbers.

Lets look at stock overview – tcode mmbe and see if the serial numbers are visible.
Showing all the serial numbers

Double clicking on the serial number take you to transaction IQ03 – serial number
per material.

History of all inventory management transactions related to this serial number are
visible by hitting the ‘History’ button
Setting up – Configuration

IMG Menu: Sales and Distribution > Basic Functions > Serial Numbers > Determine
Serial Number Profile - tcode OIS2

Key fields:

• Serial prepartion: Template


• ExistReq. or Serial Number Existence Requirement: Indicator that determines
whether the serial numbers entered for a business transaction need to be
created first as a master record in the system. If the indicator is set, the serial
numbers must be created first as a master record in the system. If the
indicator is not set, the serial numbers are created during a business
transaction.
• C or Equipment Category: The equipment category specific to the profile that
should be proposed as default when serial numbers are created automatically
during serialization procedures. If a category is not specified here, the serial
number is given a default value specified in a table.
• StkCk or Stock Check for Serial Numbers: This indicator states whether the
system should perform a stock check during serial number assignment. If it
should, it also establishes with what type of notification (warning or error) the
system reacts in the event of stock inconsistencies with Inventory
Management. 3 options - [blank] No stock validation, 1 - Warning if
inconsistencies and 2 - Error if inconsistencies.
Where serial numbers need to be created first, use transactoins:
IQ01 - Create Material Serial Number
IQ04 - Create Material Serial Number - List Entry
For every profile, one needs to specify the area in SAP where it will be used and how
it will be used.

Serializatoin Procedures (as per S/4HANA 2021):

ADVR Material Inspection in Adv. Returns Mgt.


HUSL Maintain handling unit
JITC Assign serial no. to customer JIT call
MMSL Maintain goods receipt and issue doc.
PIAU Serial numbers in PI order
PIRL PI order release
POSL Serial Numbers in Purchase Orders
PPAU Serial numbers in PP order
PPRL PP order release
PPSF Serial nos in repetitive manufacturing
PRSL Serial Numbers in Purchase Requisition
QMSL Maintain inspection lot
SDAU Serial numbers in SD order
SDCC Completness check for delivery
SDCR Completion check IR delivery
SDLS Maintain delivery
SDRE Maintain returns delivery
SDVC Version Change: SD sales order
Serial number usage:
01 - None
02 - Optional
03 - Obligatory
04 - Automatic
Equipment required indicates if a equipment is required.
01 - Proposal without equipment
02 - always with equipment

HOWTO change the Materials Type of a material master

Willem Hoek on Jan 11, 2013

EDIT on 2022-08-18: Initial post was done in 2013 based on SAP ECC 5.0. Looking at
S4/HANA 2021 in 2022 – the functionality is very much still the same! The screens
look a bit more modern but that is about it. I decided to leave the ECC 5.0 screens in
this post so that you can see how little did it changed.

In some cases it is possible to change the Material Type of a Material Master.

Prerequisites:

• Configuration of both material types must be similar (see transaction OMS2 -


Material Type configuration)
• There should be no open PO’s against this material
• There should be no valuated stock against this material
• There should be no open line items against vendors for this material (see
transaction FBL1N - Vendor Line Item display)

Material Type can be changed using transaction MMAM


Menu: Logistics > Material Management > Material Master > Material > Change
Material Type (tcode MMAM)

• Type in material master number


• Indicate new Material Type
• Execute

A message will indicate if it was successfull or not. And if not why. For example here
it failed due to valuated stock and open purchase orders that exists.
Adding fields to Material Document List (MB51)

Willem Hoek on Jan 11, 2013

Within Inventory Management, the material document list transaction is used to list
material documents. It is a very popular transaction.

The selection fields can be changed in configuration. For example: We want to add
the “Order” field to the selection screen.

Selection screen before change

Transaction MB51 - Material Document List


Observe – there is no “Order” field.
Screen after change

Transaction MB51 - Material Document List


This time with the “Order” field in the selection.
Configuration required

Config Menu > Materials Management > Inventory Management > Reporting > Define
Field Selection for Material Document List

Using MRP Areas

Willem Hoek on Jan 11, 2013


Normally materials planning take place on PLANT level. By using MRP areas - specific
storage locations can be grouped together and planning take place on that grouping
(the MRP Area). Example: Plant 3200 / Sloc 50 and Plant 3200 / sloc 51 in one MRP
Area. This is done in Configuration.

When activated, materials can now be planned (MRP types, Lot size, etc…) per MRP
Area. And MRP runs can also be done on MRP Area. Consumption history will be
kept on MRP Area level.

Material Master data

When creating / changing materials -; you will see MRP Areas in MRP1 view

Material data fields on MRP Area level


How to use MRP Areas -; Running MRP

When you run MRP, you can run it either for PLANT or MRP AREA. Example for a
material:

• For Plant 3200, set MRP Type = V1, ROP = 300


• For MRP Area 3200_1 (within plant 3200), set MRP Type = V1, ROP = 100

If we run MRP for Plant 3200, SAP creates a PR of qty 300 (because ROP = 300).
If we run MRP for MRP Area 3200_1, SAP creates a PR of qty 100 (because ROP =
100)

Consumption History

Consumption History is stored on the lowest level either Plant or MRP Area level. If
MRP Area = plant then Consumption History is available in:
Menu: Display Material (MM03) > Additional data > Consumption
Example for plant 3100 (where MRP area is on PLANT)
For MRP Area 3200_1, this information is accessed via MRP1 view.

Tables where consumption data are stored:

• Table MVER –> Plant Level


• Table DVER –> MRP Area level

Configuration to take place in order to use MRP Areas


Start of by looking at SAPNet for notes on MRP Areas. Steps to follow:

Step 1: Convert planning file entries (SE38 program RMDBVM00)


THIS IS DONE ONCE OFF
Program: RMDBVM00

Step 2 Activate requirements planning for MRP areas


Step 3 Define MRP Areas

The Receiving storage location is the default sloc that will be in PR that was created
by MRP. A MRP area consists of one or more storage locations. This is where they are
defined.

<

SAP version used for this post: SAP ECC (ERP Central Component) 5.0
Blocking Release Procedure strategy

Willem Hoek on Jan 11, 2013

Got following question from one of the readers.

I have a series of Release Strategies that drive PR approvals. The issue I face is that a
user could mistakenly enter a PR and select a set of options that would not direclty
match a release strategy, this currently results in the PR going straight to a PO. For
SOX 404 purposes I need to block this and have any PR that does not match a Release
Strategy be stopped with an error message to the user. How would I do this?
One method is to create “blocking strategies”.

For those strategies, you need to include all those “other” options. If the user create a
PR with these set of options – a release procedure will kick in – but it can’t be
released. The release statusses will all be BLOCKED.

You may need a few blocking strategies in order to catch all options.

Default GL account in account assigned


Purchase Requisition
Willem Hoek on Jan 11, 2013

SAP version used for this post: SAP ECC (ERP Central Component) 5.0

When creating a Purchase Requisition, it is possible to default a GL account based on


Material group. This is set in configuration:

IMG: MM > Purchasing > Material master > Entry Aids for Items without an material
master

The GL account itself is link to the Valuation class in T030 (tcode omwb)
If the ‘Entry Aids’ (default valuation class per material group) is not found, one can
also set a default GL account in T030 by leaving the Valuation class blank. Example is
first row sample above.

Release procedure question


Willem Hoek on Jan 11, 2013

I recently received this email from a user:

I followed your instructions on setting up a simple pr release strategy. I have added the
table for: Plant - Z_WERK Overal PR release Z_GSFRG Account Assignment - ZKNTTP

I have selected the overall release button on the P.R. document type, and also on the
Release Group. I’ve selected the “overall release to YES within the release
strategy/classification.

I cannot get the release strategy tab to come up on ME51N. And if I deselect the
buttons on the PR doc. type & release group, then I get the “release strategy” tab on
ME51N, but it goes over the limits set.

Can you offer any help? We are in ECC 6.0


Some ideas:

• If your release procedure is not working, start with just ONE characteristic (in
your class). And use an easy one where you know you can’t make error
(example Plant, Account Assignment). If this works – then simply keep on
adding characteristics
• Also – use only one line item in your testing. Not multiple. This way errors on
plant (when overall approval) can be elimicated
• If you are using a User Exit – learn how to debug the user exit. Even if you are
not a programmer, it will help to check the values being passed to User Exit
• Else – let me know…
SAP MM Tables
Willem Hoek on Jan 11, 2013

EDIT on 2022-08-03: Initial post was done in 2013 based on ECC 6. Tables updated to
reflect S4/HANA 2021

Materials

MARA - Material Master: General data


MAKT - Material Master: Description
MARM - Material Master: Unit of Measure
MAPE - Material master: Export control file
MARC - Material master: Plant data
MARD - Material master: Storage location
MBEW - Material valuation
MLGN - Material Master: WM Inventory
MLGT - Material Master: WM Inventory type
MDIP - Material: MRP profiles (field contents)
MKOP - Consignment price segment (old versions of SAP)
EBEW - Valuation of sales order stock
QBEW - Valuation of project stock
MVER - Material Master: Consumption <Plant>
DVER - Material Master: Consumption <MRP Area>
MVKE - Material Master: Sales <Sales Org, Distr Ch>
MLAN - Material Master: Tax indicator
MAPR - Material Master: Forecast
MCH1 - Material Master: X Plant Batches
MCHA - Material Master: Batches
MCHB - Material Master: Batch Stock
MDMA - MRP Area data
DBVM - MRP Planning File Entry: MRP Area
MOFF - Outstanding Material Master Records (Maintenance status)
The history tables below are related to ECC / ERP only – not S4/HANA.
For S/4HANA these are CDS Database views, not actual tables.
The CDS views are on MATDOC and MATDOC_EXTRACT.
MARCH - Material Master C Segment: History
MARDH - Material Master Storage Location Segment: History
MBEWH - Material Valuation: History
MCHBH - Batch Stocks: History
MKOLH - Special Stocks from Vendor: History
MSCAH - Sales Order Stock at Vendor: History
MSKAH - Sales Order Stock: History
MSKUH - Special Stocks at Customer: History
MSLBH - Special Stocks at Vendor: History
MSPRH - Project Stock: History
MSSAH - Total Sales Order Stocks: History
MSSQH - Total Project Stocks: History

BOM

STKO - BOM - header


STPO - BOM – item
STAS - BOMs - Item Selection
STPN - BOMs - follow-up control
STPU - BOM - sub-item
STZU - Permanent BOM data
PLMZ - Allocation of BOM - items to operations
MAST - Material to BOM link
KDST - Sales order to BOM link

Business Partners

BUT000 - General info


BUT100 - BP Roles

Vendors

LFA1 - Vendor Master: General data


LFB1 - Vendor Master: Company data
LFM1 - Vendor Master: Purchasing Data (Purchasing organization)
LFM2 - Vendor Master: Purchasing Data (Plant, Vendor sub-range)
WYT3 - Vendor Partner Functions

External Service Management

ASMD - Service Master: Basic Data


ASMDT - Service Short Texts

ESKL - Account assignment specification for service line


ESKN - Account assignment in service package
ESLH - Service package header data
ESLL - Lines in service package
ESSR - Service entry sheet header data
ESUC - External services management: Unplanned limits for contract item
ESUH - External services management: unplanned service limits header data
ESUP - External services management: unplanned limits for service packages
ESUS - External services management: Unplanned limits for service types

Purchasing

EBAN - Purchase requisition: items


EBKN - Purchase Requisition: account assignment
STXH - SAPScript Text Header
STXL - SAPScript Text Lines

EKKO - Purchasing document header


EKPO - Purchasing Document: Item
EKET - Purchasing Document: Delivery Schedules
MDBS - Material View of Order Item/Schedule Line (good to find open PO's)
EKKN - Account assignment in purchasing document
EORD - Purchasing Source List
EIPA - Order price history record
EKAB - Release documentation
EKBE - Purchasing document history
EKBZ - Purchasing document history: delivery costs
EKPB - "Material to be provided" item in purchasing document

EINA - Purchase Info Record: General


EINE - Purchasing info record: purchasing organization data
KONP - Condition Item
KONH - Condition Header

Inventory Management

ISEG - Physical inventory document items


RKPF - Reservation: Header
RESB - Reservation: Item

MATDOC - Material document in S4/HANA


MATDOC_EXTRACT - Material document summary in S4/HANA

MKPF - Material document: Header (table in ECC, CDS View in S4/HANA)


MSEG - Material document: item (table in ECC, CDS View in S4/HANA)

Invoice Verification

BSIM - Secondary index: documents for material


MYMFT - FIFO results table
MYML - LIFO material layer
MYMLM - LIFO material layer (monthly)
MYMP - LIFO period stocks, single material
MYMP1 - Receipt data LIFO/FIFO valuation
MYPL - LIFO pool layer
MYPLM - LIFO pool layer (monthly)
RBCO - Document item, incoming invoice account assignment
RBDIFFKO - Invoice Verification: conditions
RBDIFFME - Invoice Verification: quantity differences
RBDRSEG - Invoice Verification batch: invoice document items
RBKP - Document header: incoming invoice
RBKPB - Invoice document header (batch invoice verification)
RBTX - Taxes:incoming invoice
RBVD - Invoice document: summarization data
RBVDMAT - Invoice Verification: summarization data, material
RBWT - Withholding tax:incoming invoice
RKWA - Consignment withdrawals
RSEG - Document item, incoming invoice

Customising and other master data

T001 - Company Codes


T001W - Plants/branches
T001L - Storage Locations
T024E - Purchasing Organizations
T024W - Valid Purchasing Organizations for Plant

MDLV - MRP Areas


MDLG - MRP Areas - Storage Locations
MDLW - MRP Areas - Plants
MDLL - MRP Areas - Subcontractor
T023 - Material Groups
T024 - Purchasing groups
T030 - Standard Accounts Table (Automatic Account Determination)
T156 - Movement Type
T156T - Movement Type: Text
T16FS - Release Strategies
T16FT - Descriptions of Release Strategies
T16FV - Release Prerequisites
T16FD - Description of Release Codes
T16FK - Release Statuses
T16FC - Release Codes
T161 - Purchasing Document Types

T052 - Terms of Payment & FM FI_TEXT_ZTERM for long text

AUSP - Release Procedure: Strategy values (cl20n, cl24n)


AGR_USERS - Assignment of roles to users
CDHDR & CDPOS - Change history of master data and documents
EDID4 - EDI information
TSTC - SAP Transaction Codes, lock/unlock: sm01, created: se93
TSTCT - Transaction codes TEXT

NAST - Message status

Split Valuation
Willem Hoek on Jul 11, 2006

This notes relates to SAP ECC (ERP Central Component) 5.0

Without split valuation, materials are valued at plant level. With split valuation, the
same material number at a plant can have different stock quantity and value for
different groupings (called valuation types).
The valuation types are set up in configuration could be for example:

• newd, old or
• GB, US, AU, … (indicating countries for example)
• red, blue, black, etc…. (indicating colors for example)

The valuation typs are grouped together in a valuation category. So for example, the
above valuation types could be grouped by age, country, color. A material is
activated by entering the valuation type in the accounting view of the material
master.

IMPORTANT: It is possible to change a valuation category if no stock and PO were


created. However, once a Valuation category is assigned – it can not be un-assigned
(make blank again). So it is not something that get changed at will. It needs to be
decided on creation of material.

Steps to set it up

CONFIGURATION

• Activate Valuation
• Create Valuation Category
• Create Valuation Types
• Link Categories > Types
• Link valid Valuation Categories to Plant

MASTER DATA

• Activate Split valuation for a material


• Add Valuation Category in material master
• Create Accounting views for every valuation type

Using Split Valuation in transactions

• Create Purchase Order


• Goods Receipt / Goods Issue
• Physical Inventory
• Stock Overview

————-DETAIL——————

In this example we want to group material in the same plant based on AGE (valuation
category). We will have two “groups” (valuation types): OLD and NEW.

Configuration

IMG: *Material Management > Valuation > Split Valuation

1. Activate Valuation - tcode OMW0


Configure Split Valuation - tcode OMWC

2. Create Valuation Category

Select: Global Categories

The Ext Mandatory option will force users to enter a valuation type in purchase
orders.
Select: Create (to save)
3. Create Valuation Types

Select: Global Types > Create

Select: Create (to save)

The Purchase Orders attributes option indicate if PO’s are allowed or not.

1. Not allowed
2. Allowed but with warning
3. Allowed

The account category reference determines what GL valuation classes will be allowed.

4. Link Categories > Types

Select: Global categories (from main config menu)


Select: Valuation Category
Select: Types > cat.

Activate valid valuation categories


5. Link valid Valuation Categories to Plant

Select: Local Definitions (from main config menu)


Select: Plant to use
Select: Cats -> OU
Select: Valuation Categegory and press Activate

ACTIVATE MATERIAL MASTER

1. Activate Split valuation for a material


(Add Valuation Category in material master)
Material Master create - MM01

NOTE: It is only possble to change a material (valuation category) if no stock and PO


were created. So it is not something that get changed at will. It needs to be decided
on creation of material.

2. Create Accounting views for every valuation type - mm01


USING SPLIT VALUATION IN TRANSACTIONS

1. Create Purchase Order - ME21N


2. Goods Receipt / Goods Issue - MIGO

4. Physical Inventory - example MI10

Note that the batch field is used!

5. Stock Overview - MMBE

Loading Material Masters with LSMW


Direct Input method
Willem Hoek on Jan 11, 2013
INTRODUCTION

It is a lot easier and quicker to load material masters using the Standard Direct Input object in
LSMW rather than with a recording of transaction mm01 or mm02. (To learn more about loading
data using recording, see this post.
One input file can be used to create all the views of the material master. For all the material
types. Even if different views and fields are used for the different materials. Steps to take:

• Create text file with data to be loaded


• Set up and run LSMW

All steps are discussed in this post. A sample data file and LSMW Project can also be found
in attachment. (see end of this post).

Note that my project and input file will need slight modification to work fully on your SAP
system. You will have different material types, number ranges, field selections, etc. To get
going, use my LSMW Project and data file and make changes as required to get a simple
dataset loaded.

The most difficult bit in loading materials is getting the input file correct. I suggest you create
the file from a database (SQL) or programmatically. Excel does work but it sometimes
convert numbers / strings (example 0100 becomes 100). More notes about this at the end of
this post.

Let’s first go through LSMW steps - then look at the input file.

LSMW

You can either create the LSMW project manually or load my project (in attachment at end of
post).

Import Project

Download project as attachment from end of this post to your PC.

Go to LSMW - transaction LSMW


Menu: Extras > Import Projects

select file LSMW_Z2_MM01.txt

Press ‘Import’ (or ‘Import Under Another Name’).


Select: Project / Subproject / Object and press ‘Execute’

Step 1: Maintain Object Attributes

With first option selected -; press ‘Execute’


Press ‘Display <> Change’ to select Object

Step 2: Maintain Source Structures

Step 3: Maintain Source Fields

Define here all the fields that will be in your input file (text file with data). As a rule, keep the
field names the same as in SAP. This way mapping can be done automatically. The order of
the fields is not important. For simplicity, make field size bigger than required, in this case
mostly 40.

What fields can be included? See next step for that.


Step 4: Maintain Structure Relations

Here you map the one input file to structures that was selected in step one (direct input
objects).

To get an idea what material master field can be loaded -; click on the structure. Example
for BMMH1
You will see BMM00 is to select the Views and BMMH1 contains bulk of the material fields.
The fields can also be viewed via ABAP Dictionary (se11 /se12) and display the database
table BGR00, BMM00, BMMH1, BMMH2 (or other).
Step 5: Maintain Field Mapping and Conversion Rules

Map field in input file to fields in SAP Material master. If your fieldnames in file is same as
in SAP, then you can map them automatically by selecting Menu: Extras > Auto-Field
Mapping.
Not all fields need to be mapped, only those that you are loading (as defined in input file).
Don’t worry to much about the warning that ‘Source field is longer than target file’ just make
sure your input data is correct. Example material type must be 4 characters.

Step 6: Maintain Fixed Values, Translations, User-Defined Routines

Not used for this project

Step 7: Specify Files

Specify source file (on your PC) and what the files will be called on the SAP server.
Also indicate how your input file will look. Example, TAB delimited and Field names in first
row.

Step 8: Assign Files


Step 9: Read Data

At this point your input file must be ready. More about the input file later. You may want to
use sample file attached to this post as a start. Note you don’t need to specify path / filename.
This was done is step above.

For big files -; many thousand of records this might take a while.

Step 10: Display Read Data

The input file is now on the SAP server and can be displayed.
Click on line to see the details

Step 11: Convert Data


We now need to convert the data to format so that SAP can process.

Step 12: Display Converted Data

You can display converted data to ensure that all is ok so far before creating the materials.

And select the structure to see details


Step 13: Start Direct Input Program

If all is OK -; let’s run them in.

First run it in test mode (not creating material) by selecting the ‘Check data, do not update’
option
You might get a view messages -; just press OK. In my case I got NO errors.
I now run it without the test option. same as above but ‘untick’ the ‘Check data, do not
update’ option
Materials were successfully created.

At this point you may still have errors. Either your input data is incorrect, you may have
fields as mandatory that was not in your input fields, different material types, etc. etc.

INPUT FILE

In step 7 above we have indicated that we are using TAB delimited files.

TIP: if you will be working with LSMW files a lot, get a decent text editor. Some suggestions
are: UltraEdit or Crimson Editor (if you want a good free one).

This is how my input file looks (via Crimson Editor). The funny ‘»’ fields are TAB’s. My
editor is set up to show TAB characters.
Or in Excel (importing the tab delimited file)

Note that the material number field (MATNR) is blank for first line and 0 (zero) for subsequent
lines. This is the way to specify that internal numbering will be used. And 0 (zero) indicates
that material being created will be extended. Fields to be ignored are marked with “/”. For
more about format of file, see notes in SAP Help file.
In my file, every line is unique material / plant / sloc. The input file can be prepared using
database, spreadsheet or other program. In my case I generated the tab delimited file directly
from database program.
LAST NOTE ON PREPARING THE DATA (OPTIONAL)

I find the easiest way is to prepare the material master data is using a SQL database. That
way a SQL script can be created that implement all the conversion rules.

This sample file used in this post was created directly from the database program. Below is
the SQL statement (used in MySQL) that created the final data file. The header (field names)
was added in another step.
SELECT 'MATLD','500','SAP123','Y','/','MM01', '0','B',mat_type, plant, sloc,
'/','/','/','X','/','/','X','/','X','X','/','/','/',base_uom,'MAT DESCRIP','0100',
'/','/','/','/',1,'/',1,'/','F','ND','001',1,1,'HB',1,100,'A','02','BIN','/',
price_control, price, val_class,'/',14,'/','/','/','/','/','/','/',
old_matnr,'01','00010',profit_centre
INTO OUTFILE 'c:/data/[Link]/lsmw_direct/lsmw_directinput.txt'
FIELDS TERMINATED BY '&nbsp;&nbsp;'
LINES TERMINATED BY ''
FROM main_table
GROUP BY mat_number, plant, sloc
ORDER BY mat_type, old_matnr, plant, sloc;
If above code is meaningless to you. Don’t stress, you don’t need to use any of this in
LSMW. But I do suggest you buddy up with someone who knows SQL .

GETTING HELP FROM SAP

Very detail help is available in SAP Help Files. For SAP Help files, goto . Look for Cross
Application Components > CA Data Transfer > Data Transfer Objects > LO logistics General
> Material Master

This post was prepared using SAP R/3 Enterprise (and LSMW version 4.0.0)

Attachment

With this sample and reading the SAP Help files, I hope you are in a position to load your
own materials.

• lsmw_materials_directinput.zip

Two-step movement Plant to Plant


Willem Hoek on Jan 11, 2013

Within SAP Inventory Management, there are two methods how stock are moved between
plants using a 2-step process:

• Stock Transport Orders (UB)


• Transfer Posting

What does 2-step mean?

Example: Lets assume stock is moving from Plant A (Storage Location 0001) to Plant B
(storage location 0002). Two step means that two transactions will be used to move the stock.
After the first transaction, stock has left plant A but it is not yet available at Plant B. Only
after the second transaction is it available for use in Plant B.

Some reasons for using 2-step movements (and not 1 step):

• Long time span between leaving Plant A and arriving at Plant B


• Need to control when goods leave plant A but not received at plant B
Using Stock Transport Orders (STO)

Steps:

• Create a Stock Transport Order (ME21N, Purchase Order doc type UB)
• Process Goods Issue against STO (MIGO > Goods Issue > PO) - movement type 351
• Process Goods Receipt against STO (MIGO > Goods Receipt > PO) - movement
type 101

The use of Planned Orders and Purchase Requisitions are optional.

Using Transfer Postings (TP)

Steps:

• Process a Transfer Posting (MIGO > Transfer Posting) - movement type 303
• Process a Transfer Posting (MIGO > Transfer Posting) - movement type 305

The Transfer Posting can be done with reference to a Reservation. Although this is not used a
lot.

Similarities between Stock Transport Orders (STO) and Transfer Postings (TP)

• Both use transaction MIGO for both steps


• After first step, goods are already reflected in receiving plant and not available

Differences between Stock Transport Orders (STO) and Transfer Postings (TP)

• Movement types are different:


o 351 & 101 for STO and 303
o 305 for TP
• Stock types at receiving plants are different
o In Transfer (MARC-UMLMC) for TP
o Stock in Transit (MARC-TRAME)for STO
• For STO, 351 and 101 is group together where for TP there is no link between 303
and 305
• STO requires more transactions than TP
• STO must be configured for the sending plant / receiving plant where no plant
specific configuration exists for TP
• STO is based on Stock Transport Order (type of Purchase Order). Where no
purchasing document is used for TP
• STO can be initiated with a Planned Order or Purchase Requisition
• Planning (MRP) can be used to initiate movements, but only STO’s

Configuration required to use STO

Config: MM > Purchasing > Purchase Order > Set up Stock Transport Order > Assign
Document Type, One-Step Procedure, Underdelivery Tolerance

Here the source plant, destination plant and allowed STO document type is specified.

Very basics of SAP External Service


Management
Willem Hoek on Jan 11, 2013
These notes are based on SAP ERP Central Component (ECC) 5.0

Firstly – SAP External Service Management (ESM) must not be confused with SAP
Service Management (SM). ESM is the procurement of services. SM is to provide
services to a client.

With External Services, you have a PO for services with Goods Receipt taking place.
The Goods Receipt is called Service Entries. In contrast with goods (stock or non
stock) where receiving is typically done by the inventory management group, the
Service Entries are done by business themselves. The logic is that the business
generated the request for the service, that is where it was done, it will be best if they
do confirmation that service took place.

Lets look at the traditional SAP purchasing cycle vs SAP purchasing cycle for External
Services.

The big difference is that the item category is D (services) is used. For the item, detail
Service to be performed can be specified. The receiving is a 2 step process. Create
and then Accept Service Entry Sheet

Lets step through the process and look at the documents. The steps are:
Step 1 - Create Purchase Requisition
Step 2 - Convert to Purchase Order
Step 3a - Service Entry Sheet
Step 3b - Acceptance of Service Entry Sheet
Step 4 - Invoice and payment (not shown here)

—————– DETAIL ——————-


Step 1 - Create Purchase Requisitio (PR)n

What makes the PR a ESM PR is the Item category. For goods it is blank. For ESM it is
D (Service). if the item category D is selected, it is mandatory to provide the account
assignment.
Step 2 - Convert to Purchase Order (PO)

The PR is converted to a PO. If me59 (automatic creation of PO) is used, the Material
Group must also be entered in the selection criteria, otherwise it doesn’t work.
Step 3a - Service Entry Sheet (SES)

When creating a SES, the planned services can be copied from the original Purchase
Order.
Where:

• P - Plan, Items copied from Purchase Order


• C - Unplanned from Contract,Items copied from Contract (was not in PO)
• U - Unplanned, Items was not in PO

Step 3b - Acceptance of Service Entry Sheet

This is the equivalent of a Goods Receipt. The result of accepting a SES will be a
material document with movement type 101 (GR against PO). Depending of process
the SES can be created and Accepted by different people. Typically the acceptance is
done by a more senior person.

A traffic light indicate the status of the SES:

• Red = Not yet accepted – only SES


• Yellow = Accepted but still to be saved
• Green = accepted and saved

Additional notes on External Service Management

Release procedure and SES

Release procedures can be build in PR, PO and Service Entry Sheets. (Also possible
on Outline Agreements and RFQ’s)

Service Outlines

The services in the PR / PO can be specified in a hierarchy.

Outline Agreement (Contracts)

Services specified in PR / PO as well as Unplanned Services entered in SES can be


pulled from a contract (Outline Agreement).

Service masters & Service Conditions

The services can either be free text or Services Masters (similar to material masters
for goods). The prices for these services are stored in Service Conditions. Lots of SAP
customers start using ESM without Service Masters. And even if Service Masters are
used, one do not need to use Service Conditions.

Lets look at a simple Service Master


Account Assignment U

Under special cases (if allowed), an account assignment U (Unknown) can be selected
when creating the PR / PO. In this case the correct account assignment category
must be provided when the service entry sheet is created.
Configuration

The focus on this post is to introduce the concept, so no configuration options are
discussed. See below for config options related to this functionality. Config
Menu: IMG > Materials Management > External Services Management
Transactions

The following transactions were used for above screens:

• ME51N - Create PR
• ME21N - Display PO
• ML81N - Create Service Entry Sheet
• ML82N - Change Service Entry Sheet (Acceptance)
• AC03 - Maintain Service Master

User Exit for Release Procedure (PR)


Willem Hoek on Jan 11, 2013

Notes based on SAP ECC 5.0

Sometimes either the logic to be used is to complicated to use normal strategies or


the field to be used in strategy is not available in Communication Structre (see
transaction se12 - table CEBAN). In that case user exit can be used.

Example, lets say we want the following strategy:


For all Purchase Requisitions (PR) against a cost centre (account assignment K), base
strategy on Cost Centre number and Document Type. For all PR’s not against a cost
centre, base strategy on Plant (in PR) and Document Type.
To set up:

• Create 2 characteristics:
o one for doc type (linking it to CEBAN-BSART)
o one linking to user define field, say CEBAN-USRC1
• Activate enhancement m06b0002 in transaction CMOD
• Write ABAP code (user exit) in program ZXM06U13 in the case of Purchase
Requisitions

When you create / change the PR, the characteristic will get value of ceban-
usrc1 from user exit.
This is sample code of user exit:

**&---------------------------------------------------------------------
**
**& Include ZXM06U13
**&---------------------------------------------------------------------

case i_ceban-knttp.
when 'K'.
e_ceban-usrc1 = i_ceban-kostl.
when others.
e_ceban-usrc1 = i_ceban-werks.
endcase.
e_ceban-bsart = i_ceban-bsart.

Activate enhancement will activate the user exit.

Loading Material Master Characteristics


with LSMW Direct Input method
Willem Hoek on Jan 11, 2013

This LSMW shows how to mass load material master characteristics. The LSMW used
is exactly the same as what was used to load release procedure values. Input file is
obviously different.

Material Master classification can be used to store additional information against a


material master. Example: if it is finished products you may want to store: brand,
pack, etc. If it is maintenance materials, you may want to store: size of item,
grouping, etc.
Before loading the values (per material), you first need to create the fields
(characteristics) and group them together in a class. This is done with following
transaction codes:

• Create class -; transaction CL02


• Create characteristic(s)s -; transaction CT04
• Assign characteristic(s) to class - transaction CL02

No screen shots about CL02 or CT04 -; you should be be able to get that right.
Material characteristic values can be viewed from a few places:

• MM03 Display material and select characteristic view


• CL20N Specify class type 001 and material master number
• CL24N Specify class name and class type (001 in this case)
This data was loaded with attached LSMW and following input file (cl20_1.txt)
If the material numbers is numeric (example ‘123’) then add leading zero’s (as in my
sample input file). This is not required for alpha material numbers (example if
material number is ‘A123C’).

This is how the data look in UltraEdit

Same information but displayed in Excel

See how the leading zero’s are chopped off in Excel, this is one of the main reasons
to use Excel only to display data. Do not save from Excel, as you may alter the input
data.
The last line can be deleted -; it was added to show a deliberate error when all the
data was loaded.

So in this case:

• KLART - 001 (Material Master)


• OBJEK - material master number
• CLASS - Class name
• ATNAM - Characteristic name
• ATWRT - Characteristic value

Details of LSMW (attached)


Running LSMW. If no error, you will see the deliberate error (that was added in last
line)

These screens were produced using LSMW version: 4.0.0 and SAP version: SAP R/3
Enterprise

Maintaining Market Price


Willem Hoek on Jan 11, 2013

This notes relates to SAP ECC (ERP Central Component) 5.0

Where does it get used in Standard SAP?

In SAP Vendor Evaluation, the Automatic calculation of points for price based sub
criteria compare the Market Price with Actual price in Purchase Order. In standard
SAP, Market price is per Purchase Org + Info Rec Category + Material.
How to maintain the market price?

Tcode mekh or mek2

Condition type MP01 (Market Price)

Can one keep track of changes to information?

Audit log of all changes are kept, see sample below:


Your first (very simple) MRP run using
Re-order Point planning
Willem Hoek on Jan 11, 2013

Target audience: This post is for some of you who have never done a MRP run on
SAP and want to get a very simple example going.

Simple steps

• create material (or change existing)


• View current stock on hand
• Run MRP for the material
• Evaluate MRP run (View results of MRP run)

Step 1 – Create / change material

Transaction mm01 (create material) or mm02 (change material) if material exist


Ensure that material is created with at least the following views: Basic data,
purchasing, MRP 1, Storage, Accounting. Enter Plant / Sloc as required. The key
information for this demo is the MRP screen. Here is the one that I created.
The key MRP parameters are the MRP Type and Lot Size.

• MRP Type - Defines when the rule used to determine WHEN the PR or
Planned Order will be be created.
• Lot size - Determine calculation to be used to determine the QUANTITY in the
PR or Planned Order

For my simple demo I will use standard SAP MRP type = V1 and Lot size = HB, where:

• For V1 (Manual [Link] w. [Link]) a re-order point must be spesified,


make Re-Order Point (ROP) = 100
• For HB (Replenish to maximum stock level) a maximum level must be
spesified, make Max value = 1000

Step 2 – View current stock on hand

For this you can use Stock Requirement List (MD04)


Make sure that your ROP is higher than your current stock on hand, otherwise MRP
willl not create any documents. In this case Stock on hand (20) < ROP (100), so MRP
will suggest you purchase stock.

Step 3 – Lets run MRP.

Do a single item run. Use transaction MD02 (Single Item, Multi Level MRP run).
The Single Item means for one material only. Multi Level refer to all levels of Bill of
Material (BOM). This is not relevant in our example.

Step 4 – Lets evaluate results of MRP run.

Use Stock Requirement List again (transaction MD04)

You should now have a Purchase Requisition or Planned Order for a quantity to take
stock up to maximum level (as was spesified in material master).

Configuration related to MRP.


As mentioned – main MRP parameters are MRP type and Lot Size .

Configuration for MRP Type. IMG Menu: MM > Consumption Based Planning >
Master Data > Check MRP Type

Configuration of Lot Size. IMG Menu: MM > Consumption Based Planning > Planning
> Lot-Size calculation > Define Lot Size
SAP version used for this post: SAP R/3 Enterprise (v4.7)

Regeneration of LIS for Inventory


Management
Willem Hoek on Jan 11, 2013

Question: How do I know if there is a problem with Logistics information Structures


(LIS) for Inventory Management?

Answer: To be sure, run tcode MB5L to get total value of stock. Then run one of the LIS
reports such as MC.1 to get total value from LIS. If the two values are not the same - you
have a problem! Keep the printouts of above two reports for audit purposes.
Below is example of MB5L – the stock value is 100,000. This should be the same as
from MC.1 else there is a problem.

HOW TO FIX IT - REGENERATE LIS

If values from MB5L and MC.1 and not the same (and assuming the results from MB5L is
correct), you need to re-generate the LIS. Firstly search on SAP Help. There are quite
a lot of notes on the subject.
Example, SAP Note 453420. If required, implement. This might ensure that you don’t
do this exercise soon again. To regenerate LIS - see note 79083 (and others).

Firstly, I used version &(6 as temporary version - you could use any other name.
Below is summary of main steps:

• Delete version &(6 of S031, S032, S033, S034, S035 (if they exists) – tcode olix
• Get material documents data for &(6 - again S031, S032, S033, S034, S035 –
tcode oli1
• Get invoices data for &(6 again S031, S032, S033, S034, S035 – tcode oliz
• Stock values for &(6 again S031, S032, S033, S034, S035 – tcode oli2
• Delete version 000 (the main version) of S031, S032, S033, S034, S035 – tcode olix
• Copy data in version &(6 to version 000 for S031, S032, S033, S034, S035 –
tcode olix

Typical Stats (size of table)


Table Small Company

S031 47,000

S032 95,000

S033 145,000

S034 214

S035 0
If using BW, you also may need to regenerate S197 with program RMCBS197 and S198,
with program RMCBS198.
For LOG of LIS runs, use tcode nprt. For list of background runs, use tcode smx
Question: How long does the above runs take?
Answer: Depends on size of data. Below is example from a SMALL company.

Tcode Table Program

oli1 MKPF RMCBNEUA

oli2 MCON RMCBNEUB

oliz BKPF RMCBNERP

BADI for transaction MIGO


Willem Hoek on Jan 11, 2013

Many companies require some sort of a check (and even possbly a message to uer)
during processing of transaction MIGO (Goods Receipt, Goods Issue, Transfer Posting
….).
This post does not show the detail on how to do it but just an overview on where to
start. If you need to add custom ABAP code during transaction MIGO – show this to
your ABAP team, they would now what to do.
To get more info – SE80 > Application Hierarchy > BADI
MB_MIGO_BADI BAdI in MIGO for External Detail Subscreens
Methods available in BADI:
INIT Initialization and Registration of Ext. D
PBO_DETAIL PBO of Detail Screen
PAI_DETAIL PAI of Detail Screen
LINE_MODIFY Add / Change a Line (GOITEM)
LINE_DELETE Delete a Line (GOITEM)
RESET MIGO Reset (Delete All Internal Data)
POST_DOCUMENT Post Goods Movement
CHECK_ITEM Check Item Data of Goods Movement
MODE_SET Mode of Transaction MIGO (Action / Reference
STATUS_AND_HEADER Status Information and Header Data
HOLD_DATA_SAVE Save Held Data
HOLD_DATA_LOAD Load Held Data
HOLD_DATA_DELETE Delete Held Data
PBO_HEADER PBO of Header Screen
PAI_HEADER PAI of Header Screen
CHECK_HEADER Check Header Data of Goods Movement
PUBLISH_MATERIAL_ITEM Publish Item Data After Processing
The exact “method” depends if you want to show the message at end (when pressing
Save), early on (after PO was typed in). Generally easier to show just before SAVE.

You might also like