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 Step Step Step Step 1 - Create Purchase Requisition 2 - Convert to Purchase Order 3a - Service Entry Sheet 3b - Acceptance of Service Entry Sheet 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. 2. 3. 4. 5. Activate Valuation Create Valuation Category Create Valuation Types Link Categories > Types 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. 2. 3. 4. Create Purchase Order Goods Receipt / Goods Issue Physical Inventory Stock Overview

-------------DETAIL-----------------In this example we want to group material in the same plant based on AGE (valuation category). We will have two "groups" (valuation types): OLD and NEW. Configuration IMG: Material Management > Valuation > Split Valuation 1. Activate Valuation - tcode OMW0

Configure Split Valuation - tcode OMWC

2. Create Valuation Category Select: Global Categories

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

3. Create Valuation Types Select: Global Types > Create

Select: Create (to save) The Purchase Orders attributes option indicate if PO's are allowed or not. 1 - Not allowed 2 - Allowed but with warning 3 - Allowed The account category reference determines what GL valuation classes will be allowed. 4. Link Categories > Types Select: Global categories (from main config menu) Select: Valuation Category Select: Types > cat.

Activate valid valuation categories

5. Link valid Valuation Categories to Plant Select: Local Definitions (from main config menu) Select: Plant to use Select: Cats -> OU Select: Valuation Categegory and press Activate

ACTIVATE MATERIAL MASTER 1. Activate Split valuation for a material (Add Valuation Category in material master) Material Master create - MM01

NOTE: It is only possble to change a material (valuation category) if no stock and PO were created. So it is not something that get changed at will. It needs to be decided on creation of material. 2. Create Accounting views for every valuation type - mm01

USING SPLIT VALUATION IN TRANSACTIONS

1. Create Purchase Order - ME21N

2. Goods Receipt / Goods Issue - MIGO

4. Physical Inventory - example MI10

Note that the batch field is used! 5. Stock Overview - MMBE

--------------- 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: • 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? What are the legal entities of the business?

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. 2. 3. 4. create material (or change existing) View current stock on hand Run MRP for the material Evaluate MRP run (View results of MRP run)

Step 1 -- Create / change material Transaction mm01 (create material) or mm02 (change material) if material exist Ensure that material is created with at least the following views: Basic data, purchasing, MRP 1, Storage, Accounting. Enter Plant / Sloc as required. The key information for this demo is the MRP screen. Here is the one that I created.

The key MRP parameters are the MRP Type and Lot Size. MRP Type - Defines when the rule used to determine WHEN the PR or Planned Order will be be created. Lot size - Determine calculation to be used to determine the QUANTITY in the PR or Planned Order For my simple demo I will use standard SAP MRP type = V1 and Lot size = HB 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 Step Step Step Step 1 - Create Purchase Requisition 2 - Convert to Purchase Order 3a - Service Entry Sheet 3b - Acceptance of Service Entry Sheet 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 Ajai *-- Pandey

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 enduser. 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 enduser 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 addon 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 21 22 95

jtab-obj_name hotspot on, sy-vline , modsapt-modtext, 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 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.

Equipments Characteristics in a List

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.