Material Type Configuration in SAP
Material Type Configuration in SAP
SAP version used for this post: SAP ECC (ERP Central Component) 5.0
• 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
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
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 version used for this post: SAP ECC (ERP Central Component) 5.0
• Company (FI)
• Plant
• Storage Location
• Purchase Organisation
(the red crosses indicate links that are not allowed – see notes below)
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
Plant
• 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
Purchase Organisation
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
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)
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.
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 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:
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
Create a class (simply to group the characteristics). Again any name can be used.
Tcode CL01 – Create Class. The Class Type must be 032.
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 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.
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)
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:
Out of interest, the reason why there is not a L2 only option is because of the setting
in the prerequisites.
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
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 —————
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)
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
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.
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:
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
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
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
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.
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).
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:
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.
Prerequisites:
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)
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.
Config Menu > Materials Management > Inventory Management > Reporting > Define
Field Selection for Material Document List
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.
When creating / changing materials -; you will see MRP Areas in MRP1 view
When you run MRP, you can run it either for PLANT or MRP AREA. Example for a
material:
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.
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
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.
SAP version used for this post: SAP ECC (ERP Central Component) 5.0
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.
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.
• 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
BOM
Business Partners
Vendors
Purchasing
Inventory Management
Invoice Verification
Split Valuation
Willem Hoek on Jul 11, 2006
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.
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
————-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
The Ext Mandatory option will force users to enter a valuation type in purchase
orders.
Select: Create (to save)
3. Create Valuation Types
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.
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:
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
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.
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.
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.
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.
The input file is now on the SAP server and can be displayed.
Click on line to see the details
You can display converted data to ensure that all is ok so far before creating the materials.
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 ' '
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 .
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
Within SAP Inventory Management, there are two methods how stock are moved between
plants using a 2-step process:
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.
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
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)
Differences between Stock Transport Orders (STO) and Transfer Postings (TP)
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.
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)
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:
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.
Release procedures can be build in PR, PO and Service Entry Sheets. (Also possible
on Outline Agreements and RFQ’s)
Service Outlines
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.
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
• ME51N - Create PR
• ME21N - Display PO
• ML81N - Create Service Entry Sheet
• ML82N - Change Service Entry Sheet (Acceptance)
• AC03 - Maintain Service Master
• 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.
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.
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:
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:
These screens were produced using LSMW version: 4.0.0 and SAP version: SAP R/3
Enterprise
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?
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
• 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:
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.
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 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)
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.
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
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.
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.