You are on page 1of 204

Loading Material Master Characteristics with LSMW Direct Input method

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 and 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)
This demo was produced using LSMW version: 4.0.0
SAP version: SAP R/3 Enterprise

Loading Material Masters with LSMW Direct Input method


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 (end of post).

Please take 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, see 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. I used
MySQL. 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.

Code:

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/sap123.com/lsmw_direct/lsmw_directinput.txt'


FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
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 http://help.sap.com/
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)

With this sample and reading the SAP Help files, I hope you are in a position to load your own
materials.
Was this helpful to you? Do you require more information?

You can discuss this post here.

Starting with LSMW (Legacy System Migration Workbench)


INTRODUCTION

Legacy System Migration Workbench or LSMW is SAP standard program that can be used to easily
load / change master data or transactions in SAP without any programming at all. It canbe used
to upload data at cutover, such as: open orders, contracts, materials, vendors, stock on hand,
....... It can also be used in a production system to make changes to existing data. Very limited
authorisation checks are available on the transaction, so the use of it must be very well
controlled.

The functionality is very well documented in the SAP help files. Below is a simple example where
vendor masters are loaded using recording in LSMW.

(For an example on how to load materials using Direct Input method in LSMW, see this post)

In our example, we will follow these steps.


• Start program and create a project
• Record the transaction to be used in the load
• Define the fields to be loaded
• Define conversion rules to take place
• Define the file name
• Upload the file from PC to SAP
• Convert to correct format
• Create and run batch input session

---------------- DETAIL -----------------

Start it all by executing transaction LSWM (program /SAPDMC/SAPMLSMW ). Define Project /


subproject / Object. It is also possible to export the project to a text file, to be imported into
another system.

Various methods can be used to load the file (BAPI, ALE, recording ….). We will be using a
recorded transaction. To record the transaction, we give the recording a name and type in the
transaction code that will be used.
Step through the screens as you would have done it manually.
A screen will be shown with all the fields that was recorded. Every field needs a name. To keep it
simple, allocate the default SAP name to the fields. Make sure all the fields you want to
load/change are in the list. If not, re-record the transaction and ensure you do a dropdown or
type in values in the correct field.
Here is a list of all the process steps that available. In our example, not all will be used. Those to
be used in example are mark with a red dot. So, we will be using Process Step 1, 3, 4, 5, 7, 8, 9,
11, 12, 13.
The next screens are the process steps as in screen above.

NB: Every time you select a process step, you will be in display mode -- first thing to do for every
step is to switch to change mode by clicking the "Display<->Change" button.

Process Step 1 - Maintain Object Attributes


Here the method to be used to load the information is defined. We will be using a BDC sesssion /
recorded transaction. This method is quick to do but not the fastest. For example, if you want to
load a huge amount of materials, ather use direct input method.
Process Step 3 - Maintain Source Fields
The next step is to ensure your input file is created. The input file (to be loaded in SAP) is a text
file. The text file can easily be created from Excel or other data tool. Again to keep it simple, use
same field names as in recording. A setting in Process Step XX will ensure that order of columns
is not important.
As can be seen – in our case we used comma delimited text. It is generally better to use tab
delimited format to avoid errors (example where text fields may contain commas). If you will be
using LSMW quite a lot, it is better to get a better text editor and not used Notepad (as shown in
screen below).

Back in LSMW, the fields in external file is defined, so make them the same as in txt file.
Process Step 4 - Maintain Structure Relationship
Link between recorded fields and external fields.
Process Step 5 - Maintain Field Mapping and Conversion Rules
In this step the rule on where the value of the recorded fields will come from is spesified.
Example: values can come from an external file or a constant can be defined (for fields that will
not change).
Vendor account group will not be read from external file. Lets make the field a constant value of
LIEF..
Process Step 7 - Specify Files
Before loading the file from PC, one specifies the structure. In this case comma delimited were
used (although, tab delimited are more common). Also that the first row contains the header.
Process Step 9 - Read Data
Load the file into SAP from your PC.

Process Step 11 - Convert Data


This applies the conversion rules that was set up in Process Step 5. So after this, all the fields to
be loaded must be present and all rules applied.
Process Step 12 - Display Converted Data
It is a good idea at this stage to view a sample set of the data to ensure that everything is ok.
Process Step 13 - Create Batch Input Session
Generate a batch input session
And process the batch input session.

Thats it, the data should be in SAP!

To confirm that the data was loaded correctly, verify that vendors were loaded correctly.
SAP version used for this post: SAP ECC (ERP Central Component) 5.0
LSMW version used: version 4.0.0 of the LSM Workbench from 31.08.2004 (Menu: Extras >
Display Display version)

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

Hint: Use transaction search_sap_menu to find menu path (if in menu) of any SAP transaction.

Introduction

SAP transactions can be executed either from the SAP Menu or by using a transaction code. This
post explain how to find the menu path if you have the transaction code.

Example
You use the transaction LT03 (Create Transfer Order) but don't know where to find it in the SAP
Menu. Execute transaction: search_sap_menu

Enter

The result is the menu paths of all the places where the transaction can be found.

In this case, the same transaction can be found at a few places in the SAP Menu. Read entries
from the bottom up. Example, the menu path of first entry is: Logistics > Sales & Distribution >
Shipping and Transportation > Picking > Create Transfer Order > Single
Change SAP documents -- tables CDHDR and CDPOS
This notes relates to SAP ECC (ERP Central Component) 5.0

Changes to a lot of SAP documents are stored in table CDHDR and table CDPOS. This include changes such
as: change data in Material Master, changes to Purchase Req (PR), Purch Orders, Contracts, Sales Orders,
and many more.

Lets look at an example where an existing purchase order (PO) is changed.

• Create a PO (number 4500000616)


• Now lets make a change to the PO. Lets change the Short text in item 10 from "FLOWERS" to
"SAP123".

The change information can be see in Purchase Order. Menu: Environment > Item Changes
This changed information are stored in table CDHDR and table CDPOS. Lets see if we can find it by displaying
the table using transaction se16 (display table):

The detail of what was changed is in table CDPOS. The link is via the document number, field CHANGENR.
Lets look at table CDPOS
These tables contains not just PO changes but changes to most SAP documents (accross all functional areas).
So, as you can imagine these tables get huge. Entries in tables are grouped by Object Class (field
OBJECTCLAS -- Change doc object). Some of these options include:

OBJECTCLAS - transaction (fields in CDHDR)

• ADRESSE - xk01
• ADRESSE3 - su01
• BANF - me54n
• BELEG - vf21
• BETRIEB - vd02
• COND_A - me31k
• DEBI - xd02
• EINKBELEG - me22n <<< example above
• ENTRYSHEET - ml85
• FEATURE - ct04
• INCOMINGINVOICE - mrbr
• INFOSATZ - me13
• KLASSE - cl02
• KRED - xk02
• LIEFERUNG - vl03n
• MATERIAL - mm01
• MM_SERVICE - me22n
• MRP_AREA - mm01
• NRINTERVAL - omh6
• PFCG - pfcg
• REVISION - me32k
• SACH - fs00
• SPEC_TMP - ml10
• STLV - ml02
• VASMD - ac03
• VERKBELEG - va02
• .... etc

Mass Maintenance processing - tcode MASS


Introduction

Mass maintenance is used to make make mass changes to master data such as materials,
vendors, purchase orders, purchase requisitions, etc.

The full list of possible "objects" that can be changed are:

• BUS0015 Profit center


• BUS1001 Materials (industry)
• BUS1001001 Materials (retail)
• BUS1133 Rental units
• BUS2012 Purchase orders
• BUS2032 Sales orders
• BUS2104 Appropriation reqs
• BUS2105 Purchase requisition
• BUS3003 Purchasing info recs
• BUS3006 G/L accounts
• KNA1 Customers
• LFA1 Vendors
It is typically used by support staff to maintain / update master data. If your requirement is to
complex for Mass Maintenance, then rather use LSMW, it can do even more -- but is more
complex to use. (Search for posts on LSMW on this site).

Summary of how the process works:

• Run transaction MASS


• Select what master data element you want to change
• Select fields for selection and what will be changed
• Select master data to be changed
• Indicate what the new value is
• Save (Run)

For example: for all materials of type RAW1, make the material group 1012. Lets step through
this example to show you how easy it is to use.

Running the transaction

SAP Menu: Logistics > Central Functions > Mass Maintenance > Mass Maintenance > Dialog
Processing

Transaction MASS
Select the tables for the selection screen. In our case, material type = MARA.
The materials selected will be listed.
Now indicate which field must be change. In our example the material group field.
Enter what the new value (Material Group) must be.
Select the column and copy to all the materials listed below. If you don't want to change all
objects -- unselect them at this point
Hit Save -- this will start the action to change the object (material)

A log will be displayed on if it was successful

SAP version used: SAP R/3 Enterprise

General notes on SRM Enterprise Buyer


Notes based on Enterprise Buyer 4 (and SAP R/3 4.7)

Q: Why use Enterprise Buyer and not just purchasing in SAP MM?
A: Main reason for using Enterprise Buyer is the ability for users to easily select products and
services from a catalogue.

Technical differences between SAP MM and Enterprise Buyer:


• Enterprise Buyer make extensive use of workflows.
• Lots more Badi’s (Business Add-In’s) (similar to Enhancements).
• Configuration of Enterprise Buyer is via a SAP GUI, and users log on via web browser.

Q: What similar objects exist in Enterprise Buyer vs. SAP MM?


A:

Quota Arrangements (in SAP MM)


Nothing similar (in Enterprise Buyer)

Source Lists (in SAP MM)


Vendor Lists (in Enterprise Buyer)

Outline Agreements - Contracts & Scheduling Agreements (in SAP MM)


Contract (no scheduling agreements) (In Enterprise Buye)

Info Records (in SAP MM)


Pricing Conditions & Relationships (in Enterprise Buyer)

Purchase Requisition, Purchase Order and Goods Receipt (in SAP MM)
Shopping Cart, Purchase Order, Confirmation (in Enterprise Buyer)

RFQ and Quote (in SAP MM)


Bid Submission and Bid (in Enterprise Buyer)

Materials & Service masters (in SAP MM)


Products (in Enterprise Buyer)

Material Groups, Material Types, classification in material master (in SAP MM)
Products Categories (in Enterprise Buyer)

Q: What data reside in Enterprise Buyer and what reside in SAP R/3?
A: This depends on the setup (also known as technical Scenario) being used. To determine what
technical scenario are being used – ask these questions?
• Are you using a purchasing back end (example R/3) system?
• Where are the main Purchase orders stored (Enterprise Buyer or R/3)

(more of the different technical scenarios in a later post)

Very good out of the box integration between SAP R/3 and Enterprise Buyer. Data exchange
mainly by using following methods:
• RFC / qRFC / BAPI’s (calls between systems)
• Idocs (ALE) (sending documents between systems)

Enterprise Buyer is typically implemented by a Enterprise Buyer consultant (who knows


purchasing and SAP MM) and a technical consultant (who knows about SAP Workflow and ABAP).

Doc Type, Item category & Schedule Line Category in a Sales Order
SAP version used in this post: SAP ERP Central Component (ECC) 5.0

Sales Orders have three major levels of information:

• Header
• Item
• Schedule line

Within these three levels the main indicator that describes the behaviour of the Sales Order is
the:

• Sales Document Type (Header)


• Item Category (Item)
• Scedule Line Category (Schedule Line)

Lets create a very basic sales order and have a look at these three levels and indicators.
Menu: Logistics > SD > Sales > Order > Create - VA01

The Order Type is selected by the user, we take OR


OR is a order type available in standard SAP system.
We now need to enter the customer that we sell the goods to and the material that we sell. This
master data was created beforehand. In our case, the customer (Sold-to party) is AA1122 and
material being sold (material master) is 77. Also type in quantity, in our case it is 1. And press
SAVE. You will get a Sales Order number, number 318 in our case.

Lets look at the Sales document using Sales Order Change - VA02
Lets first look at the Header to verify our Sales Document Type.
Menu: Goto > Header > Sales
Note the Sales Document Type (OR)
Menu: Goto > Item > Schedule Lines
Note the Item category (TAN) and Schedule Line Category (CV).

For more detail on these indicators, see posts on:


- Document Type
- Item category
- Schedule Line Category

---------------------END--------------------

Configuration of Sales Document Item Category


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

If you don't know what a Sales Document Item Category is, you may want to start here first.
Item category is determined automatically by the system based on the following criteria:
Item category = Sales Document type + Item category group (in material master) + Usage
indicator (ABAP) + High Level I.Cat

It can be changed manually (if configured).

Sales Document types are configured at


IMG: Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item
Categories -- transaction VOV7

Lets look at Item category TAN


The full list of default Item Categories in SAP are:

0001 - Requisition
AEN - Qtn from Serv. Order
AES - Qtn from Serv. Order
AFC - Configuration
AFN - Inquiry Item
AFNN - Free of Charge Item
AFTX - Text Item
AFX - Inquiry Item
AGC - Config.at Mat.Level
AGE - Service Quotation
AGM - Config.at Comp.Level
AGN - Standard Item
AGNN - Free of Charge Item
AGR - Repair Quotation
AGTX - Text Item
AGX - Quotation Item
ALEN - ALE Standard Order
ALES - ALE Third Party
APX - Quotation Item Proj.
APXS - Quotation Item Stat.
AVC - Configuration
AVN - Standard Item
B1E - Reb.Credit Memo Req.
B1N - Reb.Credit Memo Req.
BI1 - Indirect Item Rebate
BI2 - Indir.Returns Rebate
BVN - Cash Sales
BVNN - Cash Sales:FreeofCh.
CH00 - Request Rent D
CH01 - Cancel.Rent Req. D
CH02 - Request Admin.Cost D
CH03 - Cancel.AdmCo Req. D
CH04 - IEA Request D
CH05 - Cancel.IEA Request D
CH06 - IEA Intern. Deb
CH07 - Cancel.IEA Intern. D
CH08 - Request Rent D Pr.
CH09 - Cancel.Rent P.Req.D
CH10 - IEA Pr. Req. D
CH11 - CancelIEA Pr. Req. D
CH12 - IEA pr. Int. Deb.
CH13 - Cancel. IEA Pr. Int.
CH14 - IE Sett.Req D
CH15 - Cancel.IE Sett.Req D
CH16 - CreditMemo IE Sett.D
CH17 - C.CreMemo IE Sett. D
CH18 - IE Sett. Intern D
CH19 - Canc.IE Sett. Int. D
CH20 - IE Sett.Req D
CH21 - Cancel.IE Sett.Req D
CH22 - CreditMemo IE Sett.D
CH23 - C.CreMemo IE Sett. D
CH24 - IE Sett. Intern D
CH25 - Canc.IE Sett. Int. D
CH26 - Request Sec. Dep. D
CH27 - Cancel.Sec.Dep.Req D
CH28 - Sec.Dep. Statement D
CH29 - Cancel.Sec.Dep.Sta D
CH30 - Sec.Dep.Inter.Sta D
CH31 - Cancel.S.D.Int.Sta D
CH32 - Sec.Dep.Res. Req. D
CH33 - Ca.Sec.Dep.Res.Req.D
CH34 - Sec.Dep.Res. Sta.D
CH35 - Ca.Sec.Dep.Res.Req.D
CH36 - Sec.Dep.Inter.Req D
CH37 - Ca.Sec.Dep.Int.Req.D
CHA0 - Payment Statement D
CHA1 - Cancel.Payment Sta D
CHA2 - Request Payment D
CHA3 - RequestCanc.Paymnt D
CHB0 - Depreciation D
CHB1 - C Depriaition D
CHBA - Rebate
CHBB - Rebate Cancellation
CHBV - Clearing
CHBW - Clearing Bonus
CHK0 - Payment Sta. C
CHK1 - Cancel.Payment Sta D
CHK2 - Payment Req. C
CHK3 - Cancel.Payment Req C
CHT0 - Repayment Sta D
CHT1 - Cancel.Repay.Sta D
CHT2 - Request Repayment D
CHT3 - Cancel.Repay.Req. D
CHV0 - Request Refund D
CHV1 - Cancel.Req. Refund D
CHZ0 - Interest Res. D
CHZ1 - Canc.Interest Res. D
CHZ2 - Request Interest D
CHZ3 - Cancel. Inter.Req. D
DIGN - Goods Mov-Inb. Dely
DLN - Stndard Itm w/o Ord.
DLN2 - DFPS Normal Item
DLP - Items from Projects
DLTX - Text Item
DLW - Value Item
DLX - Non-stock item
DOGN - Goods Mov-Outb. Dely
DSI - CMS Stdrd Indiv.Part
DSTP - TransfPostItemCentr
EDK - ExtAgtCorrectionItem
EDK1 - Neg.Correct-Ext Agt
EGN - Rough Goods Receipt
EGSH - Rough GR:SLSMainItem
EGSU - Rough GR:SLS SubItem
ELN - Inbound Delivery
ELP - Inb. Delvy Packaging
ELSH - Inb. Dely SLS MItem
ELSU - Inb.Dely SLS Subitem
G2N - Request
G2S - Statistical Request
G2TX - Text Item
G2W - Request
G2WT - Val. Item for SBWAP
GFN - Request Billing Plan
HIDN - SH - Item
HODN - Goods Issue - Item
HSTP - TransferPostingItem
HUPM - Additionals Item
IRAL - Repaired Goods Del.
IRAT - Repairs Exchange
IRGN - Repairs Credit Memo
IRIN - DynItems for BillDoc
IRLA - Pickup Replacement
IRLB - Send Replacement
IRLN - Repairs Debit Memo
IRNI - Statist. Dyn. Items
IRPA - Fixed Rate Repairs
IRRA - Repair Costs
IRRE - Return for Repairs
IRRP - Repair
IRRS - Rep. Serv. Resources
IRVE - Scrap Goods
KAN - Consignment Pick-up
KBN - Consignment Fill-up
KEN - Consignment Issue
KLN - Free of Charge Item
KLS - F.O.C Non-stock Item
KLX - Free of Charge Item
KMN - Qty Contract Item
KRN - Consignment Returns
L2DM - Request
L2DP - Request
L2N - Request
L2S - Statistical Request
L2W - Request
L2WT - Val. Item for SBWAP
LAN - Ret.Packaging Pickup
LBN - Mat. Provided Item
LBR - PM Item for Reserv.
LFN - Request Billing Plan
LKN - SchedAgr w.ExtAgent
LNN - Ret.Packaging Issue
LPN - Sched.Agreement Item
LZMA - Dlv. SchedAgree Item
LZN - Sched.Agreement Item
LZSN - SAIt-SelfBill w/Inv.
MAK - Dlv.-Pos. Correction
MAK1 - Dlv.-Neg. Correction
MVN - Lease Item
NCRG - IntCo. Full Good Ret
NCRN - InterCo.StTR-Returns
NCRZ - InterCo.Empties Retn
NKN - TF Consgmt Lending
NKR - TR consgmt ret. del.
NLC - InterCo Stock Tr.Itm
NLCG - IComp-StTr-FullGoods
NLCU - IC-StTr-Empt(untied)
NLCZ - IC-StTr-Empty (tied)
NLN - StandStockTransItem
NLNG - Full Prod. Stock Tr.
NLNZ - EmptStockTran.(tied)
NLRG - FullGood ST Ret.Item
NLRN - Return StockTransItm
NLRZ - ST Empties Ret(tied)
NLSH - STrans.SLS Main Item
NLSU - STrans.SLS Sub-Item
PLPA - Pendulum List Req.
PLPN - Pend.List Zero Qty
PLPR - Pendulum List Ret.
PLPS - Pendulum List Cancel
PLPX - Pendulum List Revenu
PVN - Item Proposal
REN - Standard Item
RENN - Free Goods Item
REQ - Full Product Returns
RETX - Text Item
REU - EmptReturns unlinked
REX - Non-stock Item
REZ - Empties (linked)
RLLN - Return Delivery Item
RLN - Returns Order
RLNG - Full Gds Return Dely
RLNZ - Empt.ret. dely(link)
TAB - Indiv.Purchase Order
TAC - Config.at Mat.Level
TAD - Service
TADC - Configurable Service
TAE - Explanation
TAF - Configurable Service
TAG - Generic Article
TAL - Ret.Packag.Shipment
TALS - Standard Item: SLS
TAM - Config.at Comp.Level
TAMA - Delivery Order Item
TAN - Standard Item
TANN - Free of Charge Item
TAO - Milestone-Bill.Plan
TAP - Pric.at Item Level
TAPA - Standard Sourcing
TAPN - Free of Ch. Sourcing
TAPS - Standard Item (PS)
TAQ - Pric.at Header Level
TAS - Third Party Item
TASG - 3rd Pty Credit Memo
TATX - Text Item
TAU - Empties (unlinked)
TAUL - Sub-item: SLS
TAW - Value Item
TAX - Non-stock Item
TAZ - Empties (linked)
ULN - StandStockTransItem
WAC - Con. ValContract Rel
WAN - Release Item ValCont
WIDN - WMS Inbound Delivery
WIGN - Other WMS Inb. Dely
WKC - ValContrItem-Config.
WKN - Value Contract Item
WMPP - Deliv. WM->PP
WNLN - Replenishment WMS
WODD - Service
WODN - WMS Outbound Dely
WODS - Non-stock Item
WODW - Value Item
WODX - Text Item
WOGN - Other WMS Outb. Dely
WRDN - WMS Customer Returns
WSTP - TransfPostItemDec
WVC -
WVN - Maint.Contract Item

Configuration of Sales Document Types


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

If you don't know what a Sales Document Type is, you may want to start here first.

Order Types represent business scenarios and are mostly selected by the user when creating the
sales document.

Sales Document types are configured at:


IMG: Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define
Sales Document Types -- transaction VOV8

Lets look at settings for Order type OR (Standard Order).


The following document types are available in a standard SAP system for use:

01 - Cust.Independent Req
AA - Promotion Order
AE - Qtn from Serv. Order
IN - Inquiry
QT - Quotation
AP - Project Quotation
AR - Repair Quotation
AS - Service Quotation
SI - Sales Information
AV - Quotation f.Contract
B1 - Reb.Credit Memo Req.
B1E - Exptd RebateCredMemo
B2 - Rebate Correctn Rqst
B3 - PartRebSettl.Request
B3E - Exp.PartRebSettl.Req
B4 - Reb.Req.f.Man.Accrls
BIND - Indir. Sales Rebate
BK1 - Agrmt Cred.Memo Req.
BK3 - Agrmt Cred.Memo Req.
BM1 - Agrmnt Deb.Memo Req.
BM3 - Agrmnt Deb.Memo Req.
BV - Cash Sale
CH - Contract Handling
DHU - SlsDocTypeDelyHUmvmt
DL - Order Type Sched.Ag.
DLR - Ord.Type Returns Del
DZL - Dec. Dely Order Type
ED - Issue by Ext. Agent
EDKO - Correction f.ExtAgnt
CR - Credit Memo Request
G2WT - Credit Memo Req. Val
GK - Master Contract
KA - Consignment Pick-up
KAZU - ConsignPick-up CompS
KB - Consignment Fill-up
KE - Consignment Issue
FD - Deliv.Free of Charge
CQ - Quantity Contract
SD - Subs.Dlv.Free of Ch.
KR - Consignment Returns
KRZU - ConsignReturn CompS
DR - Debit Memo Request
L2DM - Expense DebitMemoReq
L2DP - Expense:Payment Req.
L2WT - Debit Memo Req Value
LA - Ret.Packaging Pickup
LK - Sched.Agreement ExAg
LN - Ret.Packaging Issue
LP - Scheduling Agreement
LV - Deb.MemoReq. f.Ctrct
LZ - Sched. Agr. w/ Rel.
LZM - SchedAgrt w/Dly Ord.
LZS - SA:Self-bill w/Inv.
MAKO - Dely Order Correctn
MV - Rental Contract
NL - Replenishment Dlv.
PLPA - Pendulum List Req.
PLPR - Pendulum List Ret.
PLPS - Pendulum List Cancel
PV - Item Proposal
RA - Repair Request
RAS - Repairs / Service
RE - Returns
RK - Invoice Correct. Req
RM - Delvy Order Returns
RZ - Returns Sched.Agrmnt
SO - Rush Order
OR - Standard Order
TAF - Standard Order (FPl)
TAM - Delivery Order
TAV - Standard Order (VMI)
TSA - Telesales
WA - Rel. to Value Contr.
WK1 - Value Contract- Gen.
WK2 - Matl-rel. Value Cont
WMPP - WM Prod.Supply
WV - Service and Maint.

Notes:

1. This list differs between SAP versions.


2. As a guide, the most common document types are marked with bold.

A client will only use a few of above depending on requirements.


Mostly copies are made of those being used. For example copy Order Type OR to ZOR. This way
one can make changes to ZOR while still keeping the original configuration of the basic order
types.

Doc Type, Item category & Schedule Line Category in a Sales Order
SAP version used in this post: SAP ERP Central Component (ECC) 5.0

Sales Orders have three major levels of information:

• Header
• Item
• Schedule line

Within these three levels the main indicator that describes the behaviour of the Sales Order is
the:

• Sales Document Type (Header)


• Item Category (Item)
• Scedule Line Category (Schedule Line)

Lets create a very basic sales order and have a look at these three levels and indicators.
Menu: Logistics > SD > Sales > Order > Create - VA01
The Order Type is selected by the user, we take OR
OR is a order type available in standard SAP system.

We now need to enter the customer that we sell the goods to and the material that we sell. This
master data was created beforehand. In our case, the customer (Sold-to party) is AA1122 and
material being sold (material master) is 77. Also type in quantity, in our case it is 1. And press
SAVE. You will get a Sales Order number, number 318 in our case.

Lets look at the Sales document using Sales Order Change - VA02
Lets first look at the Header to verify our Sales Document Type.
Menu: Goto > Header > Sales
Note the Sales Document Type (OR)
Menu: Goto > Item > Schedule Lines
Note the Item category (TAN) and Schedule Line Category (CV).
For more detail on these indicators, see posts on:
- Document Type
- Item category
- Schedule Line Category

---------------------END--------------------

Basic financial postings in SD


This article shows the basic account postings in SD.

As a SAP consultant, you must be able to draw and explain the basic T-accounts and know how to
set up all the GL accounts in customizing.

Business process
Let’s take a simple business process:

• Company sells goods and create a Sales Order for 2,200 dollars
(Selling price is 2,000 dollars plus 200 dollars sales tax)
• Create delivery document that starts the delivery process
• Process Goods Issue (GI) when goods leave the warehouse
• Billing customer (Billing document)
• Accounts Receivable or Clearing (get money from customer)

The material is valued at 1,000 dollars (the price in material master > accounting view)

The yellow blocks are those transactions that will create FI documents (accounting entries).

GL account postings

Lets look at the postings to GL account (using T accounts)


The GL accounts in diagram is to show typical numbers. GL account determination of the Goods
Issue transaction is set up in Automatic Account determination (in Materials Management).
Revenue Account determination is done in SD.

-------------------- END --------------------

SAP SD Tables
Customers

KNA1 – Customer master: General


KNVK – Contact persons
KNVV – Customer master: Sales areas
KNVA – Unloading point
KNVI – Tax indicators
KNVP – Partner functions
KNVD - Documents
KNVL - Licenses
KNVS - Customer master: Shipping
KNVH – Customer Master: Hierarchies

Materials

MARA – Material Master: General


MAKT – Material Master: Short description
MARM – Material Master: Conversion factors
MVKE – Material Master: Sales <Sales Org, Distr Ch>
MLAN – Material Master: Sales <Country>
MAEX – Material Master: Export Licenses
MARC – Material Master: Plant <Plant>
MBEW – Material Master: Valuation
MLGN – Material Master: WM Inventory
MLGT – Material Master: WM Inventory type
MVER – Material Master: Consumption <Plant>
DVER – Material Master: Consumption <MRP Area>
MAPR – Material Master: Forecast
MARD – Material Master: Storage Location
MCH1 – Material Master: X Plant Batches
MCHA – Material Master: Batches
MCHB – Material Master: Batch Stock

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

Customer Material Information

KNMTK - Customer Material Information: Header


KNMT - Customer Material Information: Item

Bill of Materials (BOM)

MAST - Material
EQST - Equipment
KDST – Sales Order
DOST - Document
STST - Standard Object
TPST – Functional location
STKO – BOM: Header
STZU – STL data
STAS – BOM: Item selection
STOP – BOM: Item data
STPU – BOM: Sub items

Sales Activities & Sales Document (Header)

VBUK – Header Status / Admin data


VBUV – Incompletion log
VBPA – Partner functions
SADR - Address
VBFA – Document flow
VBAK – Sales document: header
VBKD – Sales document: Business data
VAKPA – Partner index
VEDA - Contract
VBKA – Sales Activity document
NAST – Output
JSTO – PP Status
STXH – Text: header
STXL – Text: Lines

Sales document (Item)

VBUP – Item status


VBAP - Sales document: Item data
VBKD - Sales document: Business data
VEBA - Contract
VBLB – Forecast
VBEP - Sales document: Schedule line
VBBE – Individual requirement
VBBS – Summary requirements
VBUV – Incompletion log
VBFA – Document flow
VBPA – Partner functions
JSTO – PP Status
NAST – Output
STXH – Text: Header
STXL – Text: Lines
KONV – Conditions

General

AGR_USERS - Assignment of roles to users


CDHDR & CDPOS - Change history of master data and documents
TSTC - SAP Transaction Codes, maintained via transaction sm01
NAST - Message status

Very basics of SAP External Service Management


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 Requisition

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

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


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. See this post for more information on
this.

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
Blanket Purchase Orders
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.
Default GL account in account assigned Purchase Requisition
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) are not found, one can also set a
default GL account in T030 by leaving the Valuation class blank. (First row in above example).

HOWTO change the Materials Type of a material master


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

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.
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.

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.

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
Last edited by SAPman : 12-13-2006 at 07:30 PM.

Two-step movement Plant to Plant


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: Let’s 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


351 & 101 for STO
303 & 305 for TP
• Stock types at receiving plants are different
- In Transfer (MARC-UMLMC) for TP
- 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

Maintaining Market Price


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:

Split Valuation
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:


• new, 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 only possible 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.

Steps to set it up

CONFIGURATION

1. Activate Valuation
2. Create Valuation Category
3. Create Valuation Types
4. Link Categories > Types
5. Link valid Valuation Categories to Plant

MASTER DATA

1. Activate Split valuation for a material


(Add Valuation Category in material master)
2. Create Accounting views for every valuation type

Using Split Valuation in transactions

1. Create Purchase Order


2. Goods Receipt / Goods Issue
3. Physical Inventory
4. 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


--------------- END OF DOCUMENT -----------

SAP MM Tables
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
MAST - Material link to BOM
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
MARC - Material Master: Plant data
MAPR – Material Master: Forecast
MARD – Material Master: Storage Location
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)

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

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)

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
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
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

MKPF - Material document: Header


MSEG - Material document: item

RKPF - Reservation: Header


RESB - Reservation: Item

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

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
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

SAP Hierarchy -- Materials Management


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 P.Org 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 P.Org will be used plants linked
to this company code).

Link to default Purchase organisation (if required)


Your first (very simple) MRP run using Re-order Point planning

T his 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

1. create material (or change existing)


2. View current stock on hand
3. Run MRP for the material
4. 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

For V1 (Manual reord.point w. ext.reqs


) a re-order point must be spesified, make 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)

Using MRP Areas


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.
Regeneration of LIS for Inventory Management
Regeneration of Logistics information Structures (LIS) for Inventory Management

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 are
correct), you need to re-generate the LIS. Firstly search on SAPNET. There are quite a lot of notes
on the subject.

Example, 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). Below is summary of main steps.

Steps:

Firstly, I used version “&(6” as temporary version – you could use any other name.

1. Delete version “&(6” ofr S031, S032, S033, S034, S035 (if they exists) -- tcode olix
2. Get material documents data for “&(6” – again S031, S032, S033, S034, S035 -- tcode
oli1
3. Get invoices data for “&(6” – again S031, S032, S033, S034, S035 -- tcode oliz
4. Stock values for “&(6” – again S031, S032, S033, S034, S035 -- tcode oli2
5. Delete version “000” (the main version) of S031, S032, S033, S034, S035 -- tcode olix
6. Copy data in version “&(6” to version “000” for S031, S032, S033, S034, S035 -- tcode
olix

Typical Stats (size of table)

Table - Company - Company


-------- SMALL ---- MEDIUM

S031 -- 47,000 ----- 34,520 records


S032 -- 95,000 ----- 397,521 records
S033 -- 145,000 ---- 176,125 records
S034 ----- 214 ----- 1,704 records
S035 ------- 0 ----- 1,056 records

If using BW, you also may need to regenerate S197 (RMCBS197) and S198 (RMCBS198)

For LOG of LIS runs – see tcode nprt


For list of background runs – 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 - Run - Run time


----------------------------------------
oli1 -- MKPF -- RMCBNEUA -- 15 minutes
oli2 -- MCON -- RMCBNEUB -- 16 minutes
oliz -- BKPF -- RMCBNERP -- 3 minutes

Serial Numbers and materials

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).
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

For every profile, one needs to specify the area in SAP where it will be used and how it will be
used.
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

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

Very basics of SAP External Service Management


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 Requisition

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

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


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. See this post for more information on
this.

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
BADI for transaction MIGO
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 doesn't 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.

Explain System and User Status In Production Order


What is System Status in PP?
A system status is a status set by the system. It informs the user that a particular function was carried
out on an object. You cannot influence a system status in any way, that is, it cannot be directly deleted
or changed. Example: When you release a production order, the system automatically sets the system
status "released". You cannot influence this status unless you carry out a business transaction that leads
to a change of the system status.

You can activate any number of statuses in a production order. It is possible for a production order to
be simultaneously "released", "pre-costed", "printed" and "confirmed".

The Main system statuses which are in use at Netafim:


- CRTD = Created. This is the status given to each production order upon creation. As long as a
production order has not
been released, it cannot be printed or confirmed.
- REL = Released. Once a production order is created, it can be released for production either
automatically or manually.
- PCNF = Partially Confirmed. This status is given to an order once the first confirmation had been
received from the
shopfloor. This status will change automatically to CNF when a final confirmation will be done.
- CNF = Confirmed. Confirmations of production progress and produced goods are reported to SAP
from the shop flor.
A final confirmation is given to an order when its production is complete.
- PDLV = Partially delivered. This status is given to production order that is partially delivered.
- DLV = Delivered. This status is given to production order that is fully delivered.
- TECO = Technically Complete. This status is given to production orders which had been given both
CNF status (final
production confirmation) as well as User Status of CHECK (see "User Status" section). TECO is set
automatically by a daily job running in the background.
- DLFL = Deletion Flag. This status indicates that the order had been marked for deletion, but was not
erased from the
information system.

What is User Status in PP?


A user status is activated by the user and can be created as an addition to the existing system status.
You can define and
activate any number of user statuses. To define a user status, you need to have created a status profile,
which is created per order type in Customizing.

The Main user statuses which are in use at Netafim:


- Rel. = Released. This user status is given to the production order with its creation.
- Prod. = Production. Once a first production confirmation has been made, the Rel. status is changed to
Prod.
- Clo. = Closed. User status given to a production order which was fully confirmed (system status
CNF).
- Check = The controller marks a production order as "Check" after performing a thorough
examination with the aid of "Work Order for Check" report (the report list all the production orders
with CNF system statuses but with no TECO system status). Upon marking the production order as
"Check", the system will automatically mark the production order as TECO. The status indicates that
controlling can process the production order. *-- Ashish Shivankar

User Exit That Is Applied In MM Area


Give me some examples of user exit that is applied in MM area in a real time scenario.

1. User exits can be found out using a development class or a package.


2. For which transaction you would like know whether user exit is available or not.
example 1. Whenever I create a purchase order my vendor is same for a particular purchasing group
and a particular purchasing organization .

Procedure to find out the user exit :


3.For which transaction you would like to see the user exits, frrst goto transaction and click system
status and find out the technical name i.e is package.
4. By going to the SMOD transaction give package name and find out the real user exits available or
not. Once it is available go to edit attributes and write program by givng the filed name = '9999' (some
vendor) and save , click, save, activte.
5. Go top CMOD transaction and give that user exit in the filed area and activate .
6. Go and observe in me21 and see that 9999 vendor by default will come when ever you will create
po.

*-- Pinnapati Hari Prasad

To Develop Enhancements for Purchasing In this step, you develop enhancements for Purchasing.

1. Either create a new project or use an existing one and then enter the enhancement.
2. Activate the project - Your enhancement will only become effective after activation.

In contrast to modifications, enhancements are basically release-insensitive since they are not
implemented in the SAP original but in a name range that is reserved for the customer. If you want to
display the documentation for an enhancement, choose Goto -> Documentation in the enhancement
transaction.
The following SAP enhancements are available for the Purchasing area:

AMPL0001 - User subscreen for additional AMPL data (manufacturer part number)

LMELA002 - Adoption of batch number from shipping notification at time of posting of a goods
receipt

LMELA010 - Incoming shipping notification: adoption of item data from IDoc

LMEQR001 - User exit for source determination

M06B0001 - Role determination for release of requisitions

M06B0001 - Changes to communication structure for release of requisitions

M06B0003 - Number range and document number

M06B0004 - Number range and document number

M06B0005 - Changes to communication structure for overall release of purchase requisitions

M06E0004 - Changes to communication structure for release of purchasing document

M06E0005 - Role determination for release of purchasing documents

ME590001 - Grouping of requisitions for PO split in transaction ME59

MEETA001 - Determination of schedule line type (backlog, immediate requirement, forecast)

MEFLD004 - Determination of earliest delivery date for checking at time of goods receipt (PO only)

MELAB001 - Generation of forecast delivery schedule: realization via creation profile

MEQUERY1 - Enhancement for document overview ME21N / ME51N

MEVME001 - Calculation of default GR quantity and over/underdelivery tolerances

MM06E001 - User exits for inbound EDI messages and outbound purchasing documents

MM06E003 - Number range and document number

MM06E004 - Control of import data screens in purchase orders

MM06E005 - Customer fields in purchasing documents

MEREQ001 - Customer's own data in purchase requisitions


MM06E007 - Change document for requisitions when converting into POs

MM06E008 - Monitoring of contract target value in case of release orders

MM06E009 - Relevant texts for "Texts exist" indicator

MM06E010 - Field selection for vendor address

MM06E011 - Activation of requisition block

MM06L001 - Exits for determination of ratings in vendor evaluation

MMAL0001 - ALE source list distribution: outbound processing

MMAL0002 - ALE source list distribution: inbound processing

MMAL0003 - ALE purchasing info record distribution: outbound processing

MMAL0004 - ALE purchasing info record distribution: inbound processing

MMDA0001 - Default values for delivery addresses

MMFAB001 - User exit for generation of releases

MRFLB001 - Control items during release creation

LWBON001 - Enhancement of LIS update through extension of the communication structure


MCKONA (business volumes and rebate income)

LWBON003 - Change settlement data for end-of-period rebate settlement before creation of settlement
documents

LWSUS001 - Customer-specific source determination in Retail

LMEXF001 - Conditions in purchasing documents without invoice receipt

LMEKO002 - Enhance communication structure KOMP for price determination *-- Pandey
Ajai

What Are SAP End User Manual


It is the same for every other modules although here I reference it mainly for SAP HR.

1) You should understand which targeted group for the end-user training is for. Do they have any
computer background or not.
2) In what way they are going to make use of the manuals supplied to them during the course of
training.

Let us focus on how to prepare manuals:

In the client side , End Users are not permanent. If they get any better job outside they will resign and
go out. Even if you train them well, again the end-user team disappears after some time. That is why
implementing company( Client ) expects SAP Consultants to prepare documents which are self
explanatory (even to a layman in SAP) and study themselves and use the sap easy access very
comfortably.

Hence we should prepare a document which explains the following things comfortably:
A) All the buttons and Screens we have in sap and its importance for an end-user.

B) All the transaction codes used by end user.

C) The STEP by STEP usage methodology with screen shots and explanatory foot notes for each
Transaction code.

D) Prepare a book a table and columns which should have the following information:
- Sl.NO.
- Transaction Code
- Navigation path
- Use of the Code
- Expected Result
- Achieved Result
- Remarks/Any Comment

E) Highlight the common troubles during the usage of SAP by an end- user and give the solutions
(ready to use)
These problems you can come across while giving the in house training for the end-users. You just
place them at one place and publish it for their usage in future for any of their new joinees as an end-
user.

F) Every consultant is aware that the entire Organsiational Management is with end user only. Means
consultant should train the end user in entire OM.

G) We should inform the importance of info types and usage for our purposes at expert mode, PA30,
PA40 etc.,

H) Each field in the international infotypes should be explained very clearly and ensure that they are
comfortable with the fields of infotypes which have been configured for their company.

For example : info type 0001 Org Assignment insists about the three structures of the HR. We should
explain each sub field like Emp Group, Emp Sub Group, Personnel Area and Sub Area and its
importance and relevance to their company so as to understand while processing them from the end-
user point of view .

When an employee is hired into the company , now the end-user in a position to understand which
employee group and subgroup, Personnel Area And Sub Area etc., should allotted..

Like this whatever comes across in SAP Easy Access should be insisted through the training of end
users.

I) Demo, exercises and solutions should be provided in the manuals.

J) Glossary of terms and expansion of Acronyms, Abbreviations should be given. Like this each
consultant should focus on end user training and prepare the documents. *-- Somasekhar

Roles and Responsibilities of End Users


What is the Difference between Consultant & End users?

SAP consultant role is to build the system, changes & modification/updation in currently installed SAP
system for the end users.

SAP End user only use the SAP system just to fetch some info, or to create new thing. So a end user is
just using the final product which it is meant for and consultnat design the product/updation and
modification.

The roles and responsibilities of end users is working in easy access menu they will not have
authorizations of using img settings if they get doubt they will send query to the implemented
company and just entering day to day transactions.

Roles and Responsibilities of End User:

Using the software at the end or after the implementation is an End User.

In sap HR , we do come across entire Org Management creation by an end user after the Personnel
strucutre is created. OM objects like creation of Org Unit means functional area or dpt , creation Job
and Position and its occupancy is with in the limits of an enduser. Initiallly the OM is created by sap
consultant . In course of time a new department has appeared in the company of the client .. this has to
be created by the enduser rather than depending up on the implementor... similarly new job and
position..like this small things are always done by the enduser.

The entire work of OM is purely depends upon the enduser.

After from this running periodical payroll and Ensuring of the Time schedules ( Work Schedules) of
each employee is done from sap easy access by an enduser and the show run of payroll everymonth is
by the enduser only. Like this lot of roles are there for an end user.
Whatever the problems come across during the enduser utilisation of sap ...that will reach as ticket to
the support team

Tips

Role of SAP Consultant In Testing


1. What is the role of SD Consultant in Testing while implementing the project?
2. What is Unit testing and Integration Testing?

Testing : the core team members along with endusers will test whether the postings done in SAP is
resulting as per the requirements of the organisation. They will test whether the output documents
such as purchase order, invoice document are printed in the required format and showing the correct
data.

Unit testing is refer to the module which are going to implement. SD, MM, FICO etc. there will be test
script based on that testing will be performed.

Integration testing will be cross the modules. MM-SD-FICO for example. Integration testing is also
called SIT ( System integration testing)

Testing mathologies and types: there are 6 types of testings:


1. Unit Testing
2. System Testing
3. System Integration security Testing
4. Performance Testing
5. User Acceptance testing
6. Regression Testing

Unit testing is done in bit and pieces. Like e.g. in SD standard order cycle; we do have 1-create order,
then 2-delivery, then 3-transfer order, then 4-PGI and then 5-Invoice. So we will be testing 1,2,3,4 and
5 seperately alone one by one using test cases and test data. We will not be looking and
checking/testing any integration between order and delivery; delivery and TO; TO and PGI and then
invoice.

Whrereas System testing you will be testing the full cycle with it's integration, and you will be testing
using test cases which give a full cyclic test from order to invoice.

Security testing you will be testing different roles and functionalities and will check and signoff.

Performance testing is refered to as how much time / second will take to perform some actions, like
e.g. PGI. If BPP defination says 5 seconds for PGI then it should be 5 and not 6 second. Usually it is
done using software.

Regression testing is reffered to a test which verfies that some new configuration doesnot adversly
impact existing functionality. This will be done on each phase of testing.
User Acceptance Testing: Refers to Customer testing. The UAT will be performed through the
execution of predefined business scenarios, which combine various business processes. The user test
model is comprised of a sub-set of system integration test cases.

We use different software during testing. Most commonly use are

Test Director: which is used to record requirement, preparing test plan and then recording the
progress. We will be incorporating defects that are coming during these testings using different test
cases.

Mercury Load Runner: is used for performance testing. This is an automatic tool.

What does the following terms means :


- Technical Unit Testing
- Functional Unit Testing
- IntegrationTesting
- Volume Testing
- Parallel Testing?

Technical Unit Testing= Test of some technical development such as a user exit, custom program, or
interface. the test usually consists of a test data set that is processed according to the new program. A
successful test only proves the developed code works and that it performed the process as as designed.

Functional Unit Testing= Test of configuration, system settings or a custom development (it may
follow the technical unit testing) These usually use actual data or data that is masked but essentially
the same as a real data set. A successful test shows that the development or configuration works as
designed and the data is accurate as a result.

IntegrationTesting= Testing a process, development or configuration within the context of any other
functions that the process, development or functionality will touch or integrate . The test should
examine all data involved across all modules and any data indirectly affected. A successful test
indicates that the processes work as designed and integrate with other functions without causing any
problems in any integrated areas.

Volume Testing= testing a full data set that is either actual or masked to insure that the entire volume
does cause system problems such as network transmission problems, system resources issues, or any
systemic problem, A successful test indicates that the processes will not slow or crash the system due
to a full data set being utilized.

Parallel Testing= Testing the new system or processes with a complete data set while running the same
processes in the legacy system. A successful test will show identical results when both the legacy
system and new system results are compared.

I would also note that when a new implementation is being done you will want to conduct at least one
cut over test from the old system to the new and you should probably do several.
What kind of testings that are carried out in testing server?

1. Individual Testing ( Individually which we've created)


2. Regressive Testing ( Entire Process)
3. Integration Testing ( Along with other integrated modules)

The 3 types of testing is as follows:-

1. Unit testing (where an individual process relevant to a SD or MM etc is tested)

2. Integration testing (where a process is tested that cuts across all areas of SAP).

3. Stress testing (where lots of transactions are run to see if the system can handle the data)

SAP Tickets - What Is That?


Handling tickets is called Issue Tracking system. The errors or bugs forwarded by the end user to the
support team are prioritized under three seviority High, Medium and Low. Each and every seviority as
got its time limits before that we have to fix the error.

The main job of the supporting consultant is to provide assistance on line to the customer or the
organisation where SAP is already implemented for which the person should be very strong in the
subject and the process which are implemented in SAP at the client side to understand,to analyse,to
actuate and to give the right solution in right time.This is the job of the support consultant.

The issues or the tickets(problems) which are arised is taken care of on priority basis by the support
team consultants.

The work process in support projects are given below for your reference.

1. The customer or the end user logs a call through any tool or by mail (RADIX).

2. Each one of the support team is a part of support group.

3. Whenever a customer logs a call he /she has to mention to which work group (by name).

4. Once the calls came to the work group the support consultant or the team need to send an IR (Initial
Response) to the user depending upon the priority of the calls. (Top,High,Med,Low,None)

5. Then the error is fixed, debugged by the support consultant or the team. Then after testing properly
by generating TR(Transport Request through the basis admin)

6. Then it is informed to the end user/customer/super user about the changes which have moved to the
production server by CTS process.
These are the process. In summary, what I understand is that if any configuration or customization is
required to solve the issue, then the consultant have to work on DEV Client, then the end user will test
it in the QA client and after approval the BASIS consultant has to transport it to the PRODUCTION
client.

An example:
Tickets in SD can be considered as the problems which the end user or the employee in the company
face while working on R/3. Tickets usually occur during the implementation or after
theimplementation of the project. There can be numerous problem which can occur in the production
support and a person who is working in the support has to resolve those tickets in the limited duration,
every ticket has the particular deadline alert so your responsibility is to finish it before that deadline.

To begin with , we should give "TICKET" to you for not knowing it.

Here is an eg of a ticket raise:


End user is not able to
1. Create Sales order for a customer from a New plant , since shipping point determination is not
happened . ( Without Shipping point the document becomes INCOMPLETE and he will not be able to
proceed further like DELIVERY, BILLING).

He raises a ticket and the priority is set in one of the below:


1. Low 2. Medium 3. High.

Now you need to solve this ticket. You would analyze the problem and identify that the SP
configuration has to be done for the new plant.

You would request a transport for DEV CLIENT to BASIS. You do the change and Request one more
Transport to BASIS for QA client. The End user will test the same by creating a sales order for the
new plant and approve it.

Finally, you request a transport to move the changes to PRODUCTION. Once the change is deployed
in production the TICKET is closed. What I have given is a small example. You would get some real
issues with severity HIGH in your day-day support.

What Are Functional Specification in SAP?


To speak at macro level that is at projet manager or at senior levels. The Functional Spec
(Specification) which is a comprehensive document is created after the (SRS) Software Requirements
Document. It provides more details on selected items originally described in the Software
Requirements Template. Elsewhre organizations combine these two documents into a single document.

The Functional Specification describes the features of the desired functinality.. It describes the
product's features as seen by the stake holders,and contains the technical information and the data
needed for the design and developement.
The Functional Specification defines what the functionality will be of a particulat area that is to be
precise a transaction in SAP terminology.

The Functional Specification document to create a detailed design document that explains in detail
how the software will be designed and developed.

The functional specification translates the Software Requirements template into a technical description
which

a) Ensures that the product feature requirements are correctly understood before moving into the next
step, that is detchnical developement process.

b) Clearly and unambiguously provides all the information necessary for the technical consultants to
develop the objects.

At the consultant level the functional spects are preapred by functinal consultants on any functionality
for the purpose of getting the same functinality designed by the technical pepole as most of the times
the functionalities according to the requirements of the clients are not available on ready made basis.

Let me throw some light on documentation which is prepared before and in a project:

1) Templates
2) Heat Analysis -
3) Fit Gap or Gap Analysis
4) Business Process Design
5) Business Process Model
6) Business Change & Impact
7) Configuration Design, which is just 5 % of Total SAP- have different names -
8) Future Impact & Change Assessement
9) Functional Design (Module Wise)
10) Risk Assessement
11) Process Metrics and Many More-- Which has impact on Business and its work flow

Note * This documents are preapared in Vanilla SAP Standards -- Things differ from one
implementation to another, and it always depends on the type of business which is opting for SAP.

Role of a SAP Functional Consultant


The responsibilities of a support consultant are:

- Primarily responsible for Handling tickets and application support to the endusers
- When an issue comes diagnose, analyse and solve the issue
- Responsible for any enhancements
- Writing functional specs and interacting with Abapers to develop any user exits
- Training the end users and preparing end user training material *-- Sistla
For those who wished to know the role of a functional consultant. Below is one view:

A functional consultant evaluates the demands in talking with the customer's representatives,
transforms the essence into an abstract and algorithmic business model. Hence, he identifies the use
cases and transforms them into logical and technical views.

Then the main task starts: customizing the respective business area and making sure the system reacts
in the manner according to the constraints of the requested use case.

The consultant documents the settings and prepares proper guidelines that allow other consultants to
do further changes or repairs with due efforts.

The consultant takes care that proper training is given to the users and that the system is usable,
performing appropriately and the business flow is complete and correct.

During go live he assists the technical staff by testing the behaviour of the system.

After go live he guarantees that the procedures remain usable and consistent in real live situation and
proposes enhancements.

The main duty of a consultant is to transfer external know-how to the client. It is not manpower that
counts but intelligence, understanding of processes, a feeling for defects and general a common sense.

Role of a Functional Consultant in an End To End Implementation

When you talk about the role of a Functional consultant in an end to end implementation, I think it
won't be possible for me or anybody to define everything but I will try to summarize it:

1. Functional consultant is expected to generate knowledge about the current business process, design
current business flows, study current business processes and its complication, in all we can say getting
through with current business setup. Flow diagrams and DFD are prepared, most of the time in Vision
format, all this forms the part of AS IS document.

2. Everything configured has to be documented as per their categories in the form of predefined
templates, these have to be then approved by the team leads or who ever the consultant is reporting to.

3. Mapping and GAP analysis is done for each module, I have seen people defining integration after
mapping, gap analysis and configuration is done, but as per my experience in implementation, it is a
simultaneous process.

4. Before starting configuring future business processes in SAP, the DFD/ERD are prepared, this
documentation is called TO BE, which can be also siad as the result of mapping and gap analysis.

5. Sometimes Functional consultants are also expected to prepare test scripts for testing the configured
scenarios.
6. End user manual and user training is also expected from F.Consultants.

The project normally starts off with a Kick off meeting in which the team size, team members,
reporting system, responsibilities, duties, methodlogy, dates and schedules, working hours which have
been predicided are formally defined.

ASAP, it won't be possible for me to explain it here, but all I can tell you about it is that it is SAP
standard implementation methodology, which SAP prescribes but is not mandatory for any company to
follow, such as IBM follow some blue Methodlogy, some companies follow typical SDLC steps,
ASAP stands for Accerlated SAP, you can find all the steps on SAP site, through google, reading it
from there won't give you a great knowledge about ASAP but will obviously get you to know the
definitions of various term.

A Short Tutorial on User Exits


Content Author: Abhishek

User exits :

1. Introduction
2. How to find user exits
3. Using Project management of SAP Enhancements

1. Introduction:

User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a
functionmodule. The code for the function module is writeen by the developer. You are not writing the
code directly in the function module, but in the include that is implemented in the function module.

The naming standard of function modules for functionmodule exits is:


EXIT_<program name><3 digit suffix>

The call to a functionmodule exit is implemented as:


CALL CUSTOMER.-FUNCTION <3 digit suffix>

Example:

The program for transaction VA01 Create salesorder is SAPMV45A

If you search for CALL CUSTOMER-FUNCTION i program


SAPMV45A you will find ( Among other user exits):

CALL CUSTOMER-FUNCTION '003'


exporting
xvbak = vbak
xvbuk = vbuk
xkomk = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.

The exit calls function module EXIT_SAPMV45A_003

2. How to find user exits?

Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT

If you know the Exit name, go to transaction CMOD.

Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.

You will now come to a screen that shows the function module exits for the exit.

3. Using Project management of SAP Enhancements, we want to create a project to enahance


trasnaction VA01 .

- Go to transaction CMOD
- Create a project called ZVA01
- Choose the Enhancement assign radio button and press the Change button

In the first column enter V45A0002 Predefine sold-to party in sales document.

Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error
message will be displayed

Press Save

Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double
click on the exit.

Now the function module is displayed. Double click on include ZXVVAU04 in the function module

Insert the following code into the include: E_KUNNR = '2155'.

Activate the include program. Go back to CMOD and activate the project.

Goto transaction VA01 and craete a salesorder.

Note that Sold-to-party now automatically is "2155"


What is User Exits and Customer Exits?
Difference between user exits & customer exits:

User exit - A user exit is a three character code that instructs the system to access a program during
system processing.

SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.

UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number

Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAP’s
standard business applications without having to modify the original applications. SAP creates
customer exits for specific programs, screens, and menus within standard R/3 applications. These exits
do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-
on functionality onto these hooks. *-- Mani

The following document is about exits in SAP :-

The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business
applications without having to modify the original applications.

SAP creates user exits for specific programs, screens, and menus within standard R/3 applications.
These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang
your own add-on functionality onto these hooks.

Types of Exits
There are several different types of user exits. Each of these exits acts as hooks where you can attach
or "hang" your own add-ons.

Menu Exits
Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu
items to call up your own screens or to trigger entire add-on applications.

SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have
function codes that begin with "+" (a plus sign). You specify the menu item’s text when activating the
item in an add-on project.

Screen Exits
Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special
subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s
flow logic.
Function Module Exits
Function module exits add functions to R/3 applications. Function module exits play a role in both
menu and screen exits.

When you add a new menu item to a standard pull down menu, you use a function module exit to
define the actions that should take place once your menu is activated.

Function module exits also control the data flow between standard programs and screen exit fields.
SAP application developers create function module exits by writing calls to customer functions into
the source code of standard R/3 programs.

These calls have the following syntax:

CALL CUSTOMER-FUNCTION ‘001’.

Field Exits
Field exits allow you to create your own programming logic for any data element in the Dictionary.
You can use this logic to carry out checks, conversions, or business-related processing for any screen
field. Example: The data element BBBNR identifies a company’s international location number. You
might want to set up your R/3 System so that all international location numbers are larger than 100.

The field exit concept lets you create a special function module that contains this logic.

You assign the special function module to the data element BBBNR. You then assign the module to
any programs and screens in which users can add new international location numbers. When you
activate your field exit, the system automatically triggers your special routine whenever a user enters a
company location number.

In 4.6c, you can use "RSMODPRF" program to create field exits.

An example of a user exits :-

MODULE user_exit_0001 INPUT


CASE okcode.
WHEN 'BACK OR EXIT'.
CASE sy-dynnr.
WHEN '100'.
SET SCREEN 0.
LEAVE SCREEN.
WHEN '200'.
******************************************************************************
**** Note that you can write any code that satisfy your needs. ****
**** But in this case, this was wrote as a sample code for reference sake. ****
**** And you can test it. ****
******************************************************************************
SET SCREEN 100.
LEAVE SCREEN.
ENDCASE.
ENDCASE.

What is the difference between SMOD and CMOD?


CMOD is the Project Management of SAP Enhancements (i.e., SMOD Enhancements). SMOD
contains the actual enhancements and CMOD is the grouping of those SMOD enhancements.

User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a
function module. The code for the function module is written by the developer. You are not writing the
code directly in the function module, but in the include that is implemented in the function module.

The naming standard of function modules for function module exits is:
EXIT_<program name><3 digit suffix>

The call to a functionmodule exit is implemented as:


CALL CUSTOMER.-FUNCTION <3 digit suffix>

For Example:

The program for transaction VA01 Create salesorder is SAPMV45A

1. If you search for CALL CUSTOMER-FUNCTION program SAPMV45A you will find ( Among
other user exits):

CALL CUSTOMER-FUNCTION '003'


exporting
xvbak = vbak
xvbuk = vbuk
xkomk = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.

The exit calls function module EXIT_SAPMV45A_003

2. How to find user exits

Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT

If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
Enter the exit name and press enter.

You will now come to a screen that shows the function module exits for the exit.

or use this ABAP program to search for user exits :-

Finding the user-exits of a SAP transaction code

3. Using Project management of SAP Enhancements

You want to create a project to enhance transaction VA01

- Go to transaction CMOD
- Create a project called ZVA01
- Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an
enhancement can only be used for 1 project. If the enhancement is allready in use, and error message
will be displayed
- Press Save
- Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002.
- Double Click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.

Activate the include program. Go back to CMOD and activate the project.
Goto transaction VA01 and create a salesorder. Note that Sold-to-party now automatically is "2155"

Do you have a ABAP Question?

Field exits (SMOD/CMOD) Questions and Answers


1. Field exit was created with CMOD, but is not processed when calling the screen.

- Since the field exit is not processed until PAI, an action must be triggered on the screen (Return,
Save, ...).

- Set profile parameter abap/fieldexit to YES and restart the system.

- After activating the function module FIELD_EXIT... and the field exit, leave the transaction on
whose screen the field exit is to be executed. The screen is not generated until the transaction is
started.

- Do not work on different application servers since there may be some delay before the field exit is
activated.

- The profile parameter must be set on all or none of the application servers.
- If the field exit is to only be active on specific screens, check whether you chose the correct program
and the correct screen
number (take care with subscreens).

- Using SE51 -> Field list, check that the screen field does have a reference to a data element. In the
name of the field exit use the name of the data element and not the field name.

- After transport, field exits are marked as active but will not be processed.
Tip: First try deactivating the field exit once more and then afterwards, activate it again.

2. How is performance affected by setting abap/fieldexit?

- If a screen is generated and the profile parameter is set, a check is run on 2 tables (TDDIR, TDDIRS)
to see whether a field exit must be generated for the respective field. In practice, the screen load is not
generated until the screen is selected after an
update. The user should not notice any difference because screen generation is very fast.

3. Can you read the contents of other screen fields in the field exit?

- In principle, every field exit can store its value in the global variables of the function group (TOP)
and hence make them
available to other field exits. Note here that field exits are always called and not only if an entry is
made in the field or if the field is empty. In addition, it is not possible to make any assumptions about
the order in which the field exits will be called in the future.

4. How does the field exit behave on step loop fields ?

- After the user has entered data, the field exit is called in PAI as often as there are visible fields in the
step loop. The system
variable SY-STEPL is incremented each time. If a new value is assigned to the field, it is displayed in
the module between LOOP and ENDLOOP. This module is also called once for each visible step loop
line.

5. Can field exits be debugged ?

- No. Field exits must be tested separately in the ABAP/4 Development Workbench. For errors which
only occur in the screen environment, it is helpful to write interesting variable to the file system using
TRANSFER... . These can then be analysed there.

6. What can you do if the field contents are no longer transported to to ABAP/4.

- Check whether a value is assigned to the field OUTPUT.

7. When is the field exit called if a conversion exit is attached to the


data element ?
- The field exit is called after the conversion exit. This means that the INPUT field receives the data in
the same format as the
ABAP/4 program also receives it.

8. Although a global field exit is inactive, a function module is called which does not exist (for
example FIELD_EXIT_PROGRAMM_@)

- This is an error in the kernel which no longer occurs as of 3.0C. As a temporary measure, it is useful
to assign a program and a screen which do not exist to the field exit and then activate the field exit.

9. Field exit is not visible in CMOD, although created.

- If you want to create a field exit for a data element, a function module is proposed with the name
FIELD_EXIT_. This
function module must exist for the field exit to work. If you do not create this function module, but do
create one with a suffix,
the data element is not displayed in CMOD.

10. Field exit is not executed although it is active.

- Fields which do not have the 'Input field' attribute usually do not trigger a field exit. The field exit is
designed to allow an
extended input check. It is therefore only called for input fields - even if they are not ready for input at
runtime of the application by LOOP AT SCREEN.
This rule does not apply, however, if the field is located within a steploop. Here the field will be
always activated, even if it is
invisible.

- Field exits can only be executed for fields that are directly related tothe dictionary. If the relation is
indirect, i.e. via an ABAP declaration ( LIKE ), no field exit can be executed.

11. Field exits on check buttons do not work

- Field exits are only intended for input fields. As check buttons count as graphical elements, you
cannot install field exits on
them.

12. Field exits do not work on selection screens

Fast LinksFinding the user-exits of a SAP transaction code


*
* Finding the user-exits of a SAP transaction code
*
* Enter the transaction code in which you are looking for the user-exit
* and it will list you the list of user-exits in the transaction code.
* Also a drill down is possible which will help you to branch to SMOD.
*
* Written by : SAP Basis, ABAP Programming and Other IMG Stuff
* http://www.sap-img.com
*

report zuserexit no standard page heading.


tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.

select single * from tstc where tcode eq p_tcode.


if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.

move : tadir-devclass to v_devclass.


endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.

at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.

*---End of Program
Difference Between BADI and User Exits
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be
inserted into the SAP System to accommodate user requirements too specific to be included in the
standard delivery. Since specific industries often require special functions, SAP allows you to
predefine these points in your software.

As with customer exits two different views are available:

In the definition view, an application programmer predefines exit points in a source that allow specific
industry sectors, partners, and customers to attach additional software to standard SAP source code
without having to modify the original object.

In the implementation view, the users of Business Add-Ins can customize the logic they need or use a
standard logic if one is available.

In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and
customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer
solutions, as well as country versions, industry solutions, and the like). Definitions and
implementations of Business Add-Ins can be created at each level within such a system infrastructure.

SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not
affect enhancement calls from within the standard software nor do they affect the validity of call
interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be
implemented once and enhancements that can be used actively by any number of customers at the
same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to
control add-in implementation and make it dependent on specific criteria (on a specific Country value,
for example).

All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are
defined in a manner that allows customers to include their own enhancements in the standard. A single
Business Add-In contains all of the interfaces necessary to implement a specific task.

The actual program code is enhanced using ABAP Objects. In order to better understand the
programming techniques behind the Business Add-In enhancement concept, SAP recommends reading
the section on ABAP Objects.

What is difference between badi and user-exists?


What is difference between enhancements and user-exists? and what is the full form of BADI?

I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the >
correct name) where the error logs are stored, MSEGCALL is a table or structure.

What is the system landscape?

1) Difference between BADI and USER-EXIT.


i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to
other project.
ii) BADI's are oops based.

2) About 'BDCMSGCOLL' it is a structure. Used for finding error records.


3) Full form of BADI 'Business addins'.
3) System land scape will be depends on your project
Ex:- 'Development server'-->'Quality server'---> 'Production server'......

: Deadline Monitoring for Maintenance Plans


Start deadline monitoring regularly (for example, using report variants). Deadline monitoring for a
weekly strategy should ideally run every week.

For running the deadline monitoring, I got a simple solution:

Go to SM36,

- Enter the Job name. Select the Job Class. Click on

- Start Condition
- Select the Date/Time

- Enter the Start date and Time (Time at which the job has to be processed background automatically)

- Click on Periodic job.

- Click on Periodic Values and select the frequency - Daily

- Go to the Steps

- Enter the Program name and Variants (RISTRA20)

- Save the Transaction. Ensure the transaction (program)is released.

- Go to SM37.

- Select the job and job status and Execute

- The list of jobs will be displayed. The status should be released

For scheduling, the system converts all the on-hold maintenance calls, with a date that satisfies the call
horizon , into a maintenance call object (for example, maintenance order)

The system also performs a complete rescheduling of the maintenance plan , and ensures that
maintenance calls exist for the next n days (field Scheduling period in the Scheduling parameters
screen). The system always generates at least one on-hold maintenance
call. *-- Mallik

How Can We Delete Purchase Requisition


Deletion of PR can be done using ME52N

This is only possible provided that no purchase order have been assigned. If po has been created, you
can only Flag for Deletion.

To delete the pr, select the line(s) you wish to delete and then click on the dustbin icon.
How to delete the purchase requisitions created through MRP?

Normally, the deletion of such MRP run PRs can be done in the next MRP run as soon as there is any
MRP-relevant changes in the stock status of your related material.

It is not necessarily require to make any setting in MRP Group as this setting will be used in case you
would like to make a more detailed control of your MRP run process.

The setting of Plant parameters via Transaction OMI8 represents the combination of various settings
under Consumption-Based Planning (for instance, the setting of MRP Controller in OMI8 is exactly
the same as in Transaction OMD0).

Therefore, if you have already set such parameters in other transactions, then you don't need to
perform again in OMI8 Transaction.

Get Last PO Price / Default PR Price


Prompt the last Purchase Order Price for the Material

If you want the system to take the price from the last Purchase Order, then do not maintain the
conditions in the info record because it has precedence over the last PO. This means that the netprice
field in the info record should be left blank.

In the case when you have already maintained the conditions in the info record (or netprice), try to
delete them or make them invalid by changing the validity date.

Even though no price was maintained, the info record will still keep track of the Order price history.

To check the Order price history, go into the material info record and click Environment -> Order
price history

Contributed by : SAP Hints and Tips on Configuration and Abap/4 Programming

If we want the system to take price from Purchase Requisition, what need to be done?
System can default PR price to PO. Please do the following steps.

1). System setting. Click System --> User profile --> Own Data.
Click Parameters tab.
Key in EFB and hit Enter.
Then Save.

2). To Customize Personal setting in PR so that the PR net price will be populated to PO whenever a
PO is created.
A). Run tcode ME51N.
Click Personal Setting.
B). Click Default Values tab.
Click more fields button.
C). Highlight Purchase Order Price on the right box and click left single arrow.
D). Click copy at bottom screen.
E). At default values tab the PO price field, pull down the list and click 2 As net price.
Click save at bottom screen.
You are done. *-- Ryan Tai

SAP SD CIN Configuration


By Shesagiri

What is CIN?
CIN Means Country India Version

In Indian Taxing procedure, Excise Duty plays a vital role in manufacturing cenario’s. Excise related
configuration is known as CIN configuration. CIN Configuration is a topic in itself.

Some info on CIN Configuration (it may not appear as understandable below, but if you check on
screen, it will be understood better)

Country Version India comes with four pricing procedures as follows:


- JINFAC (Sales from manufacturing plants)
- JINEXP (Export sales)
- JINDEP (Sales from depots)
- JINSTK (Stock transfers

CIN: IMG > Logistics - General > Tax on Goods Movement > India > Basic Settings > Maintain
Excise Registrations

In this IMG activity, you maintain the data relating to your excise registrations.
- Enter each of your excise registrations, specifying a four-character code for each Excise Registration
Ids
In this activity, you maintain excise registration IDs. You create one ID for each of your business's
excise registrations.
- For each excise registration in your business create a registration ID, and state:
- Which taxes the registration covers (additional excise duty, special excise duty, and cess) Fields for
any taxes that are not covered will be hidden in transactions involving excise duty.
- The maximum number of items to be printed on each excise invoice
- Whether you are allowed partial CENVAT credits

Maintain Registration ID NUMBER, Excise code number, excise registration number

ECC Number: Specifies the organization's ECC number.


Excise Registration Number: A number assigned to each premises or location that has registered as a
manufacturer with the excise authorities.
Every entity with an excise registration number is required to keep its own excise books.
Excise range: Specifies the excise range in whose area the excise registration is located.
Excise Division: Specifies the excise division in whose area the excise registration is located.
Excise Collectorate: The code of the excise collectorate in whose area the excise registration is
located.

Indicator for confirming, AED usage Additional Excise duty Percentage.


These are livable under the additional duties of excise act. These duties are in addition to basic excise
duty and special excise duty. Example - Additional Excise duty is livable in case of textile products,
tobacco and sugar.

Similarly for SED CESS Number of Items in Excise Invoice Shows the maximum number of line
items that the authorities allow per excise invoice.

Dependencies - This information is used when you create an excise invoice in Sales and Distribution
(SD) for factory sales and for other movements. This information is used to split the transfer postings'
items into multiple subcontracting challans.

Excise register set description: Description of the excise registers set.

Partial CENVAT Credit: Indicates that the excise registration ID is allowed to credit only a portion of
its input excise duty to its CENVAT account

Dependencies - When you post a goods receipt, the system splits the input excise duty on the material
into its deductible and nondeductible amounts. It posts the deductible duty to the appropriate CENVAT
account, and adds the nondeductible duty to the material value.

This information is also shown when you post the vendor's excise invoice.

Maintain Company Code Settings.


In this IMG activity, you maintain the data relating to your company codes.
Document Type for CENVAT Postings.
It controls, which document type the system uses when making CENVAT postings in Financial
Accounting (FI). Here ED is document type for cenvat posting.

Indicator for providing debit account overwriting


Debit Account Overwrite Indicator. X - Indicates debit accounts can be overwritten. Use In excise
journal voucher transaction. It provides the flexibility to the user to enter the debit account of his
choice depending on the nature of transaction.

Automatic balance Indicator - Excise year start month. The calendar month marking the beginning of
the excise year. This start month represents the month for the start of the excise invoice number range.
The month 04 is entered here indicating April of the calendar year as the start month for excise
invoices. Any change by the Excise authorities regarding start month should be taken care of by an
entry in this field and initialization.

Excise invoice selection procedure :Excise invoice selection type. To indicate the method opted by the
company for selecting the excise invoice. It can be either earliest or latest invoices that were received.
Number of excise invoices to be selected Indicates the number of excise invoices that needs to be
selected in the excise invoice selection.

Days to be considered for excise invoice selection Number of days from document date for excise
invoice selection.
Example - If the value of this field is 20 and today is 28-03-97. The excise invoice selection will show
the related invoices only for the period 08-03-97 to 28-03-97.

Document type for TDS FI posting: Financial accounting document type for TDS posting.

Document type for FI posting on Utilisation Financial accounting document type for TDS posting.

Indicator for item level excise duty round off - This indicator is to be used for deciding whether Item
level excise
duty amount rounding off is required during procurement cycle. If marked 'X' then the excise duty
amount will be rounded off to the nearest rupee at the Purchase order level. This will not round off the
CENVAT credit to be taken. If the duty amount is less than one rupee then no rounding is done

Rounding off of Excise duty for outgoing excise invoice - You can round off the Excise amount to be
paid during an outgoing
Excise invoice by marking this indicator as 'X'. The rounding is done at the item level for each item
where the amount is greater than 1 Rupee.

Immediate Credit on Capital Goods - Instructs the system, when you verify a goods receipt for capital
goods, to immediately post half of the input excise duty to the appropriate CENVAT accounts. The
rest is posted the CENVAT on hold account, for use in the following year.

CVD Clearing Account - Specifies which G/L account the system credits when you take a CENVAT
credit on countervailing duty in the Incoming Excise Invoices transaction.
Exchange rate type - Key representing a type of exchange rate in the system.
- You enter the exchange rate type to store different exchange rates. Example - You can use the
exchange rate type to define a buying rate, selling rate, or average rate for translating foreign currency
amounts. You can use the average rate for the currency translation, and the bank buying and selling
rates for valuation of foreign currency amounts.

Exchange rate type to be used for Export excise duty converts - When you are creating an Excise
invoice for export sales then the exchange rate for duty calculation will be picked up using this
Exchange rate type.

Maintain Plant Settings - In this IMG activity, you maintain excise information relating to your plants.
Plant Settings - In this activity, you maintain excise information relating to your plants.
For each plant:
- Specify whether it is a manufacturing site or a depot.
- Assign it an excise registration ID. - You can assign the same ID to more than one plant, if required.

Depot - Indicates that the plant in question is a depot. - Depots are required to prepare register RG
23D, and follow different procedures for goods receipt and invoice generation.
- Number of goods receipt per excise invoice.
- Multiple GR for one excise invoice, Single credit
- Multiple GR for one excise invoice, multiple credit

Maintain Excise Groups - In this IMG activity, you define your excise groups. For each excise group,
you can also control how various excise invoice transactions will work.

Excise Groups - In this activity, you define excise groups. An excise group allows you to maintain a
separate set of excise registers and excise accounts. The RG 23A, RG 23C and PLA serial numbers are
created for an excise group.

Recommendation - Under normal circumstances, excise authorities require every business to maintain
only one set of excise registers and one set of accounts. But through exemption from the authorities,
multiple books can be maintained.

If your company has only one set of excise registers, then you need to maintain only one excise group.
1. Create one excise group for each set of registers that you need to keep.
2. Assign the excise groups to plants.
3. Maintain whether this Excise group is for a depot or not.
If you receive only one consignment for an Excise challan then you can leave GR's per EI as blank. If
you receive multiple GR's for a given Excise challan and would like to avail multiple credit mark the
GRs per EI as 'Multiple GR's for one excise invoice, multiple credit'. Alternatively if you want to
availa the credit only after all the goods receipts have been made mark it as ' Multiple GR for one
excise invoice, single credit'.
4. If you want to automatically create Excise invoice during Sales cycle at the time of billing the tick
the indicator 'Create EI'
5. During depot sales if you do not want to do RG23D selection and posting separately and would like
to complete RG23D selection in one step mark the indicator 'RG23D Auto post'. This will post the
selected records into RG23D automatically. You cannot cancel the selection later.
6. If the indicator 'Default GR qty' is marked system will default the Excise challan quantity on to the
Goods receipt if the Excise invoice number is given in the pop-up.
7. If the indicator 'Folio no create' is marked system will generate Folio numbers for RG23D during
receipt of excise invoice into depot.
8. 'Automatic posting' when ticked will post the Excise invoice other movements automatically along
with creation in single step.
9. 'Create Part1 for Block Stock' when marked will create a Part1 during the receipt of material into
Blocked stock .
10. 'Create Part1 for STO' when marked will create a Part1 during the receipt of material through inter
plant transfers.
11. 'Create Part1 for consumption stock' when marked will create a Part1 during the receipt of material
into consumption stock. Excise Group Governs which set of excise registers a business transaction will
be included in.

Following is the relation between excise group, plant and registration. - In define excise groups in
Customizing.
Then, in transactions involving excise duty, for example, when you post a vendor's excise invoice, you
specify which excise group you are using. This information tells the system which G/L accounts to
post the excise to. At the end of the period, when you come to prepare your excise registers, you
create different sets for each excise group.

Indicates that the plant in question is a depot. - Depots are required to prepare register RG 23D, and
follow different procedures for goods receipt and invoice generation.
- GR Per Excise Invoice
- Multiple GR for one excise invoice , Multiple credit
- Multiple GR for one excise invoice , Single Credit

Create Excise Invoice Automatically - Instructs the system to automatically create a Sales and
Distribution (SD) excise invoice immediately you create a commercial invoice or a pro forma invoice.
The excise invoice is created in the background. - If you want to make use of this function, you must
also define the
default plant, excise group, and series groups in Customizing for Sales and Distribution (SD), by
choosing Excise Group - Series Group Determination.

RG23D Sales Creation and posting option - RG23D Automatic Option if selected will create Depot
excise invoice by posting the selection of excise invoices in single step. If this is not selected then
you need to separately do RG23D selection
followed by PGI and then RG23D verification and posting. If you need automatic posting of RG23D
selection then the Post Goods Issue should have been completed before running RG23D selection.

Default excise qty in GR - If this indicator is ticked then while doing Goods Receipt using 'MB01'
system will default the excise invoice quantity on to the Goods receipt document.
Folio number for depo Posting - If this indicator is marked then while creating Excise invoice for other
movements system automatically does the Verify and Post. You need not separately Post the excise
invoice

Also we can set indicator for creation of part 1 for:


- Blocked stock
- Stock transport order
- Consignment stock

Maintain Series Group - In this IMG activity, you define the different excise series groups within your
company. Series groups allow you to maintain multiple number ranges for the outgoing excise
documents. Based on excise regulations and exemptions from the authorities you can maintain
multiple number series for outgoing documents. But each of these series has to be declared to the
excise authorities.

- Define excise series groups based on type of outgoing document


- Assign series group to excise registration ID
- If no financial postings are required for an Excise invoice in this seris group then you tick the 'No
utilization' indicator.
- If the CENVAT has to be paid immediately and you need not wait for the Fort nightly payment then
mark the 'Immediate Utilization' Iindicator. Example - You could define two series groups, group 001
for excise invoices, and group 002 for 57 F4 documents.
- No account postings for CENVAT in sales cycle
- No utilization Flag
If you do not need any CENVAT utilization for an excise invoice but would like to just generate an
excise invoice then you need to mark this indicator.
If the flag is checked then system will create an Excise invoice in the given Series group but there will
not be any account postings or Part2 postings.

Immediate Utilization of CENVAT - Specifies that when you create an excise invoice, the system
immediately pays the amount from CENVAT and creates the Part II entry. Such invoices will not be
listed for fortnightly utilization.

If you have both fortnightly and immediate utilization for the same excise group, the account
determination within CIN IMG should point to the ED interim account.

Account determination for immediate payment will be done exactly the same as being done for
fortnightly utilization program.

Maintain Excise Duty Indicators - In this IMG activity, you maintain the excise duty indicators.
IMG > Logistics - General > Tax On Goods Movement > India > Basic Settings > Determination of
Excise Duty > Select Tax Calculation Procedure

In this IMG activity, you specify which tax procedure you want to use for determining excise duties
and sales taxes on input materials in India.
- If you use condition-based excise determination, use a copy of the tax procedure TAXINN.
- If you use formula-based excise determination, use a copy of the tax procedure TAXINJ.
This tax procedure also supports condition-based excise determination, so that you can work with both
concurrently.
We strongly recommend that new customers use condition-based excise determination. Note that once
you have started using a tax procedure, you cannot switch to another one, otherwise you will not be
able to display old documents.

Maintain Excise Defaults - In this IMG activity, you define which tax procedure and pricing condition
types are used in calculating excise taxes using formula-based excise determination.

If you use condition-based excise determination, fill out the CVD cond. field and leave all the others
blank.
If you use formula-based excise determination, fill out all of the fields as follows:
- Enter the tax procedure and the pricing conditions that are relevant for excise tax processing.
- Specify the purchasing and sales conditions types used for basic excise duty, additional excise duty,
special excise duty, and cess.
- Specify the conditions in the sales order that are used for excise rates.

What is SAP Landscape?


By: Kunal

Landscape is like a server system or like a layout of the servers or some may even call it the
architecture of the servers viz. SAP is divided into three different lanscape DEV, QAS and PROD.

- DEV would have multiple clients for ex: 190- Sandbox, 100- Golden, 180- Unit Test.
- QAS may again have mutiple clients for ex: 300- Integration Test, 700 to 710 Training.
- PROD may have something like a 200 Production.

These names and numbers are the implementer's discreet on how they want it or they have been using
in their previous implementations or how is the client's business scenario.

Now whatever you do in the Sandbox doesn't affect the other servers or clients. Whenever you think
you are satisfied with your configuration and you think you can use it moving forward, you RE-DO it
in the golden client (remember, this is a very neat and clean client and you cannot use it for rough
usage). As you re-do everything that you had thought was important and usable, you get a transport
request pop up upon saving everytime. You save it under a transport request and give your description
to it. Thus the configuration is transported to the Unit Test client (180 in this example).

You don't run any transaction or even use the SAP Easy Access screen on the 100 (golden) client. This
is a configuration only client. Now upon a successful tranport by the Basis guy, you have all the
configuration in the Testing client, just as it is in the Golden client. The configuration remains in sync
between these two clients.

But in the Testing client you can not even access SPRO (Display IMG) screen. It's a transaction only
client where you perform the unit test. Upon a satisfactory unit test, you move the good configuration
to the next SERVER (DEV). The incorrect or unsatisfactory configuration is corrected in Golden (may
again as well be practised in the sandbox prior to Golden) and accordingly transported back to 180
(Unit Test) until the unit test affected by that particular config is satisfactory.

The Golden client remains the 'database' (if you wanna call it that) or you may rather call it the
'ultimate' reference client for all the good, complete and final configuration that is being used in the
implementation.

In summary:
Landscape : is the arrangement for the servers

IDES : is purely for education purpose and is NOT INCLUDED in the landscape.

DEVELOPMENT ---> QUALITY ----> PRODUCTION

DEVELOPMENT : is where the the consultants do the customization as per the company's
requirement.

QUALITY : is where the core team members and other members test the customization.

PRODUCTION : is where the live data of the company is recorded.

A request will flow from Dev->Qual->Prod and not backwards.

1. Sandbox server: In the initial stages of any implementation project, You are given a sandbox server
where you do all the configuration/customization as per the companies business process.

2. Development Server: - Once the BBP gets signed off, the configuration is done is development
server and saved in workbench requests, to be transported to Production server.

3. Production Server: This is the last/ most refined client where the user will work after project GO
LIVE. Any changes/ new develpoment is done is development client and the request is transported to
production.

These three are landscape of any Company. They organised their office in these three way. Developer
develop their program in Development server and then transport it to test server. In testing server tester
check/test the program and then transport it to Production Server. Later it will deploy to client from
production server.

Presentaion Server- Where SAP GUI have.


Application Server - Where SAP Installed.
Database Server - Where Database installed.

What is the meaning of "R" in R/3 systems?

R/3 stands for realtime three tier architecture. This is the kind of architrecture SAP R/3 system has.
R/3 means three layers are installed in Different system/server and they are connected with each other.

1) Presentation
2) Application
3) Database Find the list of SAP Transaction codes
Where I can find the list of transaction codes and their usage, I heard that there is some table
which contains all the transaction codes with their descriptions.

Does anyone know about the Table that consist all the T-Code?

Listed here are the various ways you can find the list of transaction codes and their usage:

Use transaction SE11 - ABAP Dictionary:

Fill in the Database table name and click the Display button.
- TSTC table will contain all the Tcodes and
- TSTCT table will contain all the Tcodes with Texts.

Once you entered the screen, click in Top Menu - Utilities - Table contents - Display

If you want to display all the transaction code (total - 57,048) you have to change the Fields:
Maximum number of hits to 99999 (default 500).

or

Simply goto transaction SM01, although this tcode is to Lock/Unlock any transaction code, you can
also view all the tcode available in the R/3 system from here.

or

Goto transaction SE93

There are two ways where you can find the list of transaction codes in SE93.

Method 1:
You must be familiar with the starting characters strings for each of the R/3 application modules.

Assuming you know that most Materials Management transaction codes start with MM.

In the Fields: Transaction code, type in MM* and press the function key F4

The list of transaction code starting with MM will be displayed.

Method 2:
On the Top Menu, click Utilities - Find - Execute and the first 500 transaction will be display.
If want to display all the tcodes, make sure you remembered to change the Fields: Maximum no. of
hits right at the bottom of the screen.

I know a particular T Code and can enter and work on it. How do I know what is the menu path
for that T Code?

Enter Search_SAP_Menu in the command box and when the pop box appears enter, the Tcode and it
will give the nodes and menu path.

This is helpful only in case of SAP Menu not in case of SPRO - ie IMG.....

Maintenance Notifications Order Link


Generally the links between Maintenance Notifications and Order are :-

Assigning a Notification to an Existing Order


You can specify the number of an existing maintenance order in the maintenance notification while
you are processing it.

Assigning a Notification to an Order


You can process an existing maintenance order and specify in it the number of the maintenance order
that should be assigned to it.

Assigning many Notifications to an Single Order


This occurs when a series of Equipment that are in a pipe line have to maintained. ex. Shut down
maintenance typical of a Refinery or a power plant.

You can combine several maintenance notifications that refer to a particular object in a single
maintenance order. This could be the case if, for example, several defects are to be repaired at the
object on one maintenance date.

When planning concrete tasks in an order, you can make reference to several maintenance notifications
or technical objects. For this purpose you can use object lists, which contain all relevant maintenance
notifications and technical objects.

Best regards, Plant Maintenance Reservations


When creating a material reservation or requisition via the PM order, the G/L account is defaulted by
the automatic account assignment in the material master.

The default G/L can be changed for a material requisition on the purchasing data screen.

How / where do you change the default G/L for a reservation?


A manual update is not allowed to a reservation that has been created via a PM order.

Other companies are having the same problem.

Currently, the only way to do it is doing a manual goods issue, without using the reservation.

In this way you can, of course, change the default G/L account.
Deletion and control of materials Reservations (PM order)
How can we delete PM materials Reservations in the MM module?

Without using the PM order, can we limit the no. of days to permit the GOODS ISSUE of the PM
materials Reservations.

As I'm sure you've found, SAP does not allow manual change to reservations created automatically
(e.g.. by PM).

This is to ensure that all the work done by the planners is not simply ignored by the people in the
stores. If they want a reservation to be canceled they should call the PM planners who can change the
PM order.

You can usually limit the validity period of the reservation in configuration to, for example, 5 days of
planned GI date.

In this case, if 5 days have gone by past the planned issue date the deletion flag is automatically set on
the reservation. This applies to reservations created by PM.

The transaction in IMG for this is OMBN.

Note that when the PM order is set TECO that the reservations will automatically be deleted.

This is the normal way to control this.

PM - SM notifications
In 3.1f Notifications, there is option to create special Notification or Activity or Request.

The screen fields of Notification and request are different.

Request displays all Catalogs codes, Sales Organization, DC, Division, Maintenance Plant etc.
whereas Notification does not ask for these details.

So in general which is preferred to use and why?


Assuming you have 15 regions which will create Notification for customer calls. So will Request help
in doing analysis of outstanding, completed Notifications region-wise etc.

Let me put it this way;

What will I not get if I use Notification?

What will I not get if I use Request as default?

This is not from 3.0f client, it is from 4.5A but the concept is still the same.

There are 3 generic Notification types.

1. Reporting defects
2. Reporting previously carried out work
3. Requesting work.

In 4.5A these are called Problem Notification, Activity Report and Service Request.

They are all Notification "Types".

You can create your own types and mix and match the initial screens and defaulted catalog types, but
these three are the ones from the menu path you quoted. Also, the initial screens and defaulted catalogs
for these 3 types are also configurable.
If you don't use Notifications (in general) then you miss out on catalog reporting, breakdown
reporting, downtime and most of the functionality in the SMIS.

Recommendation, use Notifications.

The type to use? That depends on the industry and your company's needs.

In SAP the order is the planning tool and the collector and distributor of costs.

SAP has created the functionality for Notification Tasks for the planning of work, but there is no cost
planning or allocations.

Problem Notifications are just what they suggest. Reporting problems.

Depending upon the size of the job depends whether an order is created to plan the work and/or
capture the costs.

Activity Reports are normally created to save the administration of an Order. i.e. No significant costs,
but you wish to record some technical history after the event. They can also be created from a
Preventive type maintenance Order (created automatically from a Maintenance Plan) for technical
reporting.
Service request. Typically a Service is required, not a defect or problem.

Typical examples are upgrade or improvements.

Recommendation: Use which is right for you, but you can report across all the Notification types.

Integration Between PM, QM and PP in SAP


What is the integration between PM and QM in SAP?

There are many interwoven activities.

Let us consider one practical issue of Spare Parts purchase.

We prefer to inspect incoming material for compliance of our requirement.

1.While creation of material master, tick the 'Post to insp. stock' box in the Purchasing Tab.

2. If we do not want a task list / Result recording oriented inspection, in Quality tab, choose
appropriate selections,

3.When that Spare is received, it will go to Quality Stock.

4. Maint. person can check it and transfer the stock to "Unrestricted Stock" through MB1B via 261
movement, giving a reason as Accepted after Inspection or Rejected.

5. Above procedure is a practical example of PM QM integration.

Tips by : Jamez Prabahran

Stop Complete Confirmation (IW41) before (IW32)


Any way we can stop the complete confirmation (IW41) being done with out doing (IW32)?

This will help you on your way forward:

In the SAP standard business model, if the user technically completes the works order, the following
consequences occur:
1. Any reservations for which goods issues have physically been completed, but which have not
applied in the SAP system, are deleted. There is then no way of recording the consumption of spares
against the appropriate works order.
2. Any purchase requisitions that have not been converted into purchase orders are deleted.
The system does not provide any warning that these deletions have taken place. Furthermore, since the
system permits simultaneous completion of multiple works orders (via IW38) there is a tendency to
blindly close these works orders without adequate reviewing.

Because of these issues, I suggest the following method:

Block technical completion where there is any work planned and this has not been progressed to a
point of final confirmation completeness; this process can be further enhanced by checking that key
details on the related Breakdown/Unplanned Notification are complete.

This can be achieved by user exit "exit_saplcoih_004" when trying to do the TECO via IW38, which
broadly proceeds as follows.
1. Evaluate the works order plan against actual confirmations, and determine if the activity is
complete in quantity or by explicit completed flag.
2. Check the required fields on the breakdown/unplanned or call-out/after hours notification.
3. Confirm that no part of the tests in 1 and 2 failed. Where the works order and notification have
failed, a report can then be generated explicitly defining all activity and information that must be
completed in order to achieve technical completion.
4. If the user is allowed to override this block block, and elects to do so, then the order is closed
according to the SAP standard method. This method clears open reservations and any purchase
requisitions which have not been converted to purchase orders. I suggest a separate authorisation for
the override so that you can still achieve control via segregation of duties.

The following Business rules need to be met for successful technical completion and should to be
coded into the user-exit via your ABAP developers:

For the Works order:


- Internal operations: All final confirmations are required, or, if the operation is not to be completed
then it is to be deleted.
- External operations and spares procurement: All purchase requisitions must be turned into purchase
orders, which must be goods receipted. Alternatively, if the external spare or item of labour is no
longer required then the PR, together with any follow on PO must be deleted.
- Internal spares: All reservations must either have the final goods issue completed or those items not
required for the completion of the works order must be deleted.

For the Notification:


- Only applies to breakdown/unplanned and call-out/after hours notifications.
- Check that each of these fields is complete: the Breakdown flag, malfunction start and end date and
time. For related Catalogs details for the Notification (if you are using them):
- For notification item number 0010: Check that the following fields have been completed: object
part, failure code or text.
- For each of the notification causes: Check for a cause that is not deleted. Check that the code or text
field is complete.
- For each of the notification activities. Check that each activity is complete.

To help your developers, the following tables will need to be accessed while processing the user-exit:
AFKO PP order header
T430 Operation/Activity control key
AFKO PP order header
AFVC Operation within an order
AFRU Operation confirmations
VIAUFKS PM Order Selection View
MSEG Document Segment: Material
RESB Reservations
AFVV Operation times.
AUFM Material movements for order.
EBAN Requisition items
EBKN Requisition items Account Assi
EKPO Purchase order
EKBE Purchase order history
EKKN Purchase order Account assign
JEST Object status
QMMA Quality notification activities
QMEL Quality notification
QMFE Quality notification items
QMUR Quality notification causes
QMIH Quality message maintenance data excerpt
IFLOT Functional Location
EQKT Equipment short texts

Difference Between TECO & Business Completion


TECO, mean from PM point of view the order is closed. You cannot change anything , say time or
dates in the order. But you can book a invoice say, the order contains a externally procured items.. So
you might have done a GR and your PM order work is over.. you can do a Tech and still you can do a
MIRO( ie invoice posting )

But if you do a Business Closing , you will not be able to do a MIRO..

Business closing means all the costs are posted and you dont expect any more cost posting. This
business closing is a requirment of CO. If you don't do business closing and leave the order at TECH ,
the cost will recide in the order itself. As per the settlement rule , the cost should get transfer to the
cost centre you have defined. But in TECH stage the cost is still in Order. Once you do a KO88 and
then a business closing, the cost get transferred to a cost centre..

You need to make sure that all financial postings hav ben completed before doing a business
completion.

You can use transaction CO99 to Business Complete your orders. Using this transaction allows you to
select the number of days an order has been TECO'd before you business complete it. E.g if you are
confident that all financial postings will be complete within 60 days, you cal select 60 days as the
retention period. This means that orders have to be TECO'd for a period of 60 days before the system
will select them for completion.
Batch completion PM orders is done with transaction CO99.
As a consequence, orders are completed if:
- Not yet administrative completed
- Technical completed longer than “a number of days” ago
- No open liabilities (open purchase orders – not yet invoiced purchase orders)

In our company we do Order closing in the following way:

1. IW41 - Complete confirmation

Settlement Rule In Maintenance Order


In Maintenance Order, in settlement rule screen, there comes two lines with same cost center
that it picks from Equipment Master. In one, it is FULL and other Periodic. What does it means
or if there is any discrepancy?

If work is compleated 100% in one instant we will do the settlement rule in full, other wise if work is
compleated half we will go for PER and remaining activity may be settelment rule other PER.
Maintenance Order settlement rule having 2 lines that is Per & Ful. Peroidic Settlement- in this
settlement rule system settle whatever cost occurs upto today & suppose in future if you want to
charge some more cost on the same Maint. Order then system will accept it. And when ful or Final
settlement runs the rest of the cost will settle to the cost receiver.

But if you run final settlement then in future you will not able to chargeany cost to the same maint.
order.

Does this means everytime when we are completing the Order we have deleted one of these two
lines.

You need not to delete any line whether this is PER or FUL.

Its depends upon the settlement job which is done manually or schedule batch job. Suppose you has
created schedule batch job for PER and FUL both. And the schedule frequency of PER is weekly and
schedule frequency of FUL is monthly.

Just think that you have created one planned maint order on 2nd of December. And this job will start
on 12th of December to 13th December and you have mentioned spares, internal manpower & contract
in the maint order.

Now stores deliver the required spares on 10th of December and its cost is 10 lacks. Your internal
manpower cost is 10,000/= INR and it is booked through IW41 on 13th of December. External /
contractor cost is nearly 1 lacks and for this S. E. Sheet created on 20th December and accepted on
23rd of December.

Suppose the PER settlement job runs on 8th of December. So next PER settlement job will run on 16th
December. This settlement job will settle the spares & internal manpower cost to cost receiver. Now
next PER settlement job will run on 24th December. But this job never settle the remaining cost of the
maint order because the PER settlement already finished.

So the remaining cost of the maint order will settle when FUL settlement job will start. When FUL
settlement jobs runs system checks all the Maint. Order which is created in this month and carry any
cost which is not settled then this cost will settle through FUL settlement.

Difference Between TECO & Business Completion


TECO, mean from PM point of view the order is closed. You cannot change anything , say time or
dates in the order. But you can book a invoice say, the order contains a externally procured items.. So
you might have done a GR and your PM order work is over.. you can do a Tech and still you can do a
MIRO( ie invoice posting )

But if you do a Business Closing , you will not be able to do a MIRO..

Business closing means all the costs are posted and you dont expect any more cost posting. This
business closing is a requirment of CO. If you don't do business closing and leave the order at TECH ,
the cost will recide in the order itself. As per the settlement rule , the cost should get transfer to the
cost centre you have defined. But in TECH stage the cost is still in Order. Once you do a KO88 and
then a business closing, the cost get transferred to a cost centre..

You need to make sure that all financial postings hav ben completed before doing a business
completion.

You can use transaction CO99 to Business Complete your orders. Using this transaction allows you to
select the number of days an order has been TECO'd before you business complete it. E.g if you are
confident that all financial postings will be complete within 60 days, you cal select 60 days as the
retention period. This means that orders have to be TECO'd for a period of 60 days before the system
will select them for completion.

Batch completion PM orders is done with transaction CO99.


As a consequence, orders are completed if:
- Not yet administrative completed
- Technical completed longer than “a number of days” ago
- No open liabilities (open purchase orders – not yet invoiced purchase orders)

In our company we do Order closing in the following way:

1. IW41 - Complete confirmation


2. IW32 - Technical completion & Business completion
3. KO88 - Cost Settlement

Recording Measuring Docs. Against Work Orders


Has anyone recorded measuring documents (for an object/measuring point) against a work
order. We can do it through notifications, but I was interested to see if someone has used work
orders to capture measuring docs. if so then how did you do it. Measurement documents can be
created during the order completion confirmation process (IW41/42). You don't need a
notification.

You are right - we can recording measuring doc via IW42 - click in the Meaurement/counter readings
button and the pop up windows appear.

Impact on Business if PM Order Not Settled


What is the impact on business, if PM order is not settled. That is if settlement of the order is not
done, what
is its impact on the business process.

The cost will go to G/l account as soon as the goods movement is done or service entry sheet is
accepted. Only thing is that the cost will not be reflected in the cost center.

The work order is a PM cost object. It can hold costs. for example, when a time confirmation is done,
and it is saved, the cost centre in the tech object is debited and the work order is credited with those
costs.

What then should happen is settelment occurs and the work order is debited and the cost centre in the
work order operation is credited

If settlement does not occur, those costs sit on the work order. The problem with this is that because
the costs do not settle they are not transfered to the operation cost centre. In simple terms, this then
means that the cost centre of the maintainers who did the work, does not get paid!

It also causes problems with reporting, and cost management from Controlling, and can significantly
affect your maintenance budget (depending upon your business processes)

You can also directly create measurement documents via your measurement points.
Identify your measurement points first and use IK11
Thanks Shirley, I forgot about the profile set up for completion confirmation config. You have to set
the profile to show the meausring doc button. Thanks for the refresher, I had forgotten about it... :))

In PM how to Return Material Backflushed


Blackflushing does not mean returning of material to stores.

With backflush infact the component allocated in BOM get consumed at the time of operation/order
confirmation.

If you set the backflush then all materials allocated to the Work Order will get issued from stores
automatically. So there is no need to do a separate MB1A or MIGO Goods Issue.

To return item to store you will have to do a reversal from WO back to stores using Movement Type
262.

I want to issue spares in advance to engineers without a service work order....Later on the spares will
get consumed or will get returned. How do I do it...and what is the Movement type to be used for
issuing and reversing........can any one help.

Still I have problem in back flushing. Suppose I made the indicator of backflush in creation of order,
then I completed technically, then the actual cost of material not updating, (Note I have not posted the
material in MB1A) what is the problem, pls tell me.

Did you confirm your maintenance order? Unless you confirm it (IW41) your actual cost will not be
updated. Backflushing is a tool so that during confirmation you will not anymore input your
materials. System will confirm your consumption base on the order (IW31) you have created.

I believe T-Code IW41 is used to confirm the operation and not for materials. When backflush
indicator is set in the order for the components reserved then MB1A need not be done and when we
say determine cost thru the main menu, the material cost should appear.

Actually IW41 works like CO11 (PP module), when you tick the backflush indicator in the order
creation the system will automatically copy those materials when you confirm it.

Try doing these steps:

1. Create order (IW31)


2. Assign a component to the order and tick the backflush field. (make sure that the component you
assign has stock and valuated in the material master - check it thru MM03, accounting and costing
fields)
3. Check availability of material and release
4. Goto IW41, enter hours and tick the material icon on the tool bar (you would notice that the
materials that was backflush are already copied in the confirmation, try unticking the backflush icon in
IW31 and you would notice that the component field will be empty because no material are
backflushed)
5. Save
6. Check cost and it would reflect the material consumed. Actually you don't need to go to the
component field for it to confirm your consumption. It will automatically post all materials
backflushed upon saving your confirmation in IW41. In short you still need to confirm your order, thru
IW41, for the materials to be consumed. MB1A are actually used for set-up where in the one issuing
the material to the order are not the same person who is confirming the maintenance order.

I hope this clarifies everything.

Thank you so much. Yes it works......thanks a ton.


But I have a suggestion. I did whatever you said....but what I noticed was once I reserve a component
in the order thru IW31 trasanction and release the order and go to main function and say determine
cost, the materials cost is automatically copied into the order....Yes the material should exist in the
material master.......

I feel in the same order when we want to calculate the labour charges involved in particular operations
we need to go thru IW41 and confirm the operations so that we can get the labour charges for the
personnal involved in that order.(this will be done by way of calculating the Activity types).

Your right material cost is automatically copied into the order thru IW31 but these costs are only
planned cost. Meaning no accounting documents is being created and no materials being consume to
the order only reservations.
If you want to have the actual cost reflected you have to go thru IW41 first.

Change Maintenance Strategy in General Task List


I want to change Maintenance Strategy in General Task List within Tasklist Group. E.g. Tasklist
"T3" - Counter 3 with Maintenance Strategy

"A" to "B". Tasklist "T3" has been used for several times in scheduling.

I try to use IA06, Goto T3 Header - and found Maintenance Strategy at Header was Gray. I
don't find this documentation in SAP Help.
Is it possible change Maintenance Strategy in Tasklist after created?

To change the strategy of a task list which has already been used, we should check the following
conditions.

1. The task list should be removed from all maintenance items.


2. Then maintenance package ticks in the task list has to be removed.
3. Then system allows you to change the strategy.
4. Then assign the new maintenance packages (Tick marks).
5. Now assign the task list back to maintenance items.

Trust this shall be useful to you.

Once the Task list has been created with one maintenance strategy it is not possible to change it to
another strategy type. You can delete the strategy provided you have not used it in maintenance items.
But in your case it is not possible.

You cannot change a strategy as you know, Copy the task list you want to change, then create the new
strategy on your new task list.
Then create a new maintenance item and allocation of the task list with the correct maintenance
strategy.
Then create a new maintenance plan and link maintenance item.

Maintenance strategies if I am not using any calender

While creation of maintenance strategies if I am not using any calender, then system will use
which calender days shedule plans?

Is it 365 days working?


This depends on the Scheduling indicator you choose for the Plan!

If you select "Time", then, it will be based on 365 days an year.


If you select "Factory Calender", you need to specify the FC.

Maintenance strategy.Transaction code-ip11

I entered following parameters in the strategy.

Scheduling indicator -Time


Strategy unit -MON
Shift factor for late confirmtion -60 %
Tolerence for late confirmation -100%
Factory calender w8.

All above parameters are getting transpered to Strategy Maintenance Plan (Tran.code ip42) except
factory calender.

Can any body tell me what will be the cause of problem.

Scheduling indicator = Time factory calendar does not matter


If you want factory calendar to work choose
scheduling indicator = time-factory calendar.

Fast Links:

SAP to best handle Repeat Maintenance Jobs


Has anyone got a good idea or method how to use SAP to best handle repeat maintenance jobs?

Actually, we are in the process of trying to sort out repetative jobs from thousands of
notifications from last few years, which is by itself an arduous task. After that maybe we can
think of a way how to handle the process to reduce these jobs to make the system more efficient.
Anyone done something like this before in your Company?

By analysing all of your equipment's and having a clear mapping about the frequencies from your
task-lists, makes the process relatively simple. You can then group the same type of frequencies into
one Maint. Plan for example.

We operate a sleek mechanism to ensure all orders are produced only on the week they're due, using
IP30 - deadline monitoring (RISHTA20) as a scheduled job.

We customised the "Sort Code" used in the Maint.Plan, in a way that reflects the frequencies as
mention above. So the scheduled jobs are then created in exact accordance with those sort codes (i.e.
frequencies). The maint. planner only has to assign which "sort code" for new plans and the scheduled
job is doing the rest.

You should think only of a Notification as a polite request for a further action, like to create a maint.
order etc. For example in our company, we don't generate any notifications, as we see them as
additional handling for no great benefit. We always create orders direct from the scheduled job. These
orders then go to the maint. supervisor's "..workflow..", and they then distribute the orders at their
discretion However, if your organisation is huge with many divisions, then perhaps it makes sense to
use notification, but only you can decided.

I always tell our project team's... Always do what's necessary and not always what is possible...

User Status Set Date in Maintenance order


Which table we can get the information about on which date a particular User status has been
set in a maintenance order? We get that information in Order Log, but I want to know in which
table that information is stored.

Table JEST gives the system /user status associated with an order, but it doesnot give any
information about on which date a given status was set. I tried search infomation in table
CDHDR/CDPOS but no success.

I found out the related table. Its JCDS.

I believe that’s user status of Equipment, not Maintenance order.

He is correct. JCDS is the change document or version history of JEST which is the primary status
table.

Statuses are handled separately from the object in question since each object can have multiple
statuses and since statuses can be applicable to more than one object type. That means that the status
tables contain statuses for many different objects like equipment, work orders, functional locations,
sales orders, etc.

The status tables are based on object numbers which are a concatenation of the object type and the
table of that object. Order #816025 would be stored as "OR000000816025". Equipment 20701817
would be stored as "IE000000000020701817". Sales order item 10 of 5215 would be stored as
"VB0000005215000010".

Here are some key status tables:


JEST - Object Status
JCDS - Change Documents for Statuses
JSTO - Status Object Information
JCDO - Change Documents for Status Objects
TJ02 - System Statuses
TJ03 - Object Types
TJ04 - Status Control for Object Type
TJ20 - Status Profiles
TJ30 - User Statuses

Just to add in your valuable info on table...


TJ02T - Text for system status
TJ30T - Text for user status.

Many "check" tables (like TJ02 and TJ03) also have text tables as you've mentioned. You can easily
find a text table for another table by going to "goto --> Text table" (not to mention that they're usually
suffixed with a "T" anyway).

SAP Tips by: Tim

Fast Links:
Have a SAP PM Problems? Show Equipments Characteristics in a List
SAP PM Question:

How can I show equipments characteristics in a list?


I need to list one characteristics of all equipaments.
How can I do this? How is the simple way to do this?

Try this.

Go to IH08

In CLASS on the selection screen, select the class desired.

In Valuation, select the Characteristic value desired.

Execute

This will list all Equipments of a particular class having a particular Characteristic value.

or

You may also try this.

Go to Object List (CL6B)

Mention the Class and Class Type.

Tick on "Select Characteristics" and "With assigned values"

Execute.
This takes you to another screen wherein all characteristics of the class selected on the first screen are
listed.

Select the Characteristic you want and "Copy"

This lists all Equipments of a particular Class with a particular characteristic.

You might also like