Working with the Material Master Data

In the SAP MM module, material master data refers to all the material master records that are stored in the system. In other words, material master data consists of the description of all the materials that an organization not only purchases but also produces and keeps in its stock. The material master data acts as a central database of information for the materials in an organization.

Maintaining the details of all the materials at a central location not only minimizes the risk of data redundancy but also allows other departments of the organization to share this data among themselves. The other departments of the organization can use the material master data to perform various tasks, such as invoice verification and inventory management. The material master record is used by different departments of an organization, and each department requires different information about the material. For example, the purchasing department might require only the price of the material to perform price control functions; whereas, the sales department might require the sales data to prepare the sales graph of a given period of time.

To facilitate locating the relevant data, various fields have been provided in the Create Material (Initial Screen). Every department can easily locate and access the data required by it by entering the relevant details in these fields.
Read the rest of this article

What are Enjoy transactions in SAP?


An enjoy transaction is one that was released with the release, which is also know as the «Enjoy» release.
Enjoy transactions are the new transactions (from rel. 4.6A, which is nearly 10 years old now) were created to «make life easier» for the endusers and performs all the operations performed by its classical counterpart in one screen only. All clickable elements have 3D qualities, while the input and output fields remain 2D for simplified reading.
A lot of transactions have been rewritten to use the new control framework. All Enjoy transactions are having ‘N’ character at the suffix of the transaction (ME21N, VL02N etc). These transactions «replaced» older transactions. The sap enjoy transactions typically are much more user friendly in appearance, support custom controls, ALV tree and ALV grids, docking containers, node structures, picture controls in them. But transactions ending with «N» doesn’t qualify them as eNjoy. May be «N» was used to indicate «New», SE43 & SE43N — neither of them are eNjoy transactions.


As example described data can be found in the t-code ME21N (completely writting in OOPS ABAP). The old ME21 transaction uses the classic dynpro technology without using the control framework.
Enjoy sap controls are containers that can built dunamically using objects/classes. In general batch input is not possible for those screens. The SAP material BC412 contains all about this. It’s all about ABAP Screen programming.

Today the term «Enjoy» is not common anymore.

«SAP software works the way I do.»

P.S. MCV9 transaction:


What Is Outline and Scheduling Agreement

Please give the difference between Purchase Order, Outline Agreement
and Scheduling Agreement.

PO is normal where you issue the PO to a vendor and expect the delivery.
The PO is termed completed when the vendor has delivered the PO quantity
or when you have preclosed the PO when the vendor has delivered partial
quantity and he has agreed not to send anymore with ref to the PO.

Outline Agreement can be of 2 types:- Contract and SA.

Contract is where you have a contract with the vendor,may be a for a
predetermined quantity or predefined value. So everytime you need the matl,
you need to make PO ref the contract asking for the delivery of the matl.
In such instance when PO is ref with contract its called contract release
orders or call off orders.

Scheduling agreement is a long term purchase agreement, where you will
keep issuing the delivery schedules whenever there is a change in requirement
or at predetermined time intervals. The delivery schedule can be on hour/daily/weekly/monthly
basis. But it will contain different zones viz. firm/tradeoff/Forecast.
Firm zone schedules are confirmed requirement and need to be taken by ordered
party. Tradeoff zone requirement is to purchase the raw materails and ordering
party is liable to pay raw material cost, in case of requirement cancellation.
Forecast zone requirement is to help the vendor to plan his requirements.

SA is also an agreement with the vendor for the supply of matl, may
be a quanity or value. The delivery dates will be maintained in ME38 ref
the SA which are called delivery schedules.So you can maintain the delivery
schedule and communicate the vendor on Forecase basis or JIT basis. And
when you need some more matl then will only create SA deliveries using
ME38. SA could be of 2 types:- without release documentation-system will
transmit the delivery info to the vendor once you save the document.

With release documentation- after creating the delivery schedules you
need to create SA release using ME84.

The main difference between contract and SA is volume of docs generated
would be higher in contract since everytime you need to make a PO ref the
contract and its time consuming, whereas SA can be integrated with MRP
such that it automatically creates delivery schedules during MRP run provided
if there is a requirement to the matl.

Error SSFCOMPOSER 152 solution

Last week we have found an error in our Z-Smartform, which says nothing except «SSFCOMPOSER 152: Events are already defined.»
It didn’t say what data related to the error, or even which part of the smartform acted wrong.

After a bit debugging we’ve found the module with the proper position for a breakpoint:

1. Open SE80 and «Function groups» inside it.
2. Functional group STXBC.
3. Open the subroutines folder.
4. Set a breakpoint in ERR_WRITE routine.

Now, carry out the smartform and we will get all the data related to the error with all the parameters.

© Programador Sergio Paton

Связать счет FI со сбытом

Глосса: AAG — Account assingment group
AAG материала задается в мастер данных материала (MM02):

откуда потом подтягивается в сбытовой ордер:

(может быть изменено в процессе фактурирования).

AAG клиента и облагается ли продажа клиенту НДС или нет (можно установить 0 или 1) — в VD02:

В транзакции VKOA указываем, на какой счет пойдет комбинация Account assingment group клиента (AAG) и AAG материала:

Костинг равен цене, профита — 0:

Указываем в OKB9 контроллинговый объект для счета:


> Transactions

AGR_USERS — список ролей юзера
UST04 — список профилей авторизации юзера
USGRP_USER — список групп юзера

TSTC — список всех транзакций (фильтр, маска)
CDHDR / CDPOS — просмотреть удаленную поставку (* OBJECTID *)
T030 — сопоставленный счету класс оценки
C001 — сопоставленный счету Acct assignment grp
MBEW — valuation, average prices
MBEWH — история изменений MBEW
TNAPR — NACE какой output тип к какой condition привязан
D010TAB — по имени таблицы найти в каких транзакциях/программах эта таблица используется
SMEN_BUFFC — «Избранное», Favorites SAP Menu
SE16N_CD_KEY — SE16N changelog (SE16N_CD_DATA — данные)

Output type tables (B0XX…):

B000 $ Sample Table for output control
B001 Sales Organization/Customer Number
B002 Output Control: Sample Structure for Output Data
B005 Sales Organization/Order Type
B006 SOrg/DstCh/Division/Customer
B007 Order Type
B008 Output Control: Sample Structure for Output Data
B009 Output Control: Sample Structure for Output Data
B010 Shipping Point/Route
B011 Output Control: Sample Structure for Output Data
B012 Output Control: Sample Structure for Output Data
B013 Output Control: Sample Structure for Output Data
B014 Output Control: Sample Structure for Output Data
B015 Credit Control Area/Cred.Representative Group/Risk Category
B016 Labeling
B017 Transport type
B018 Sales Organization/Receiving Country
B020 Shipping material type
B021 DlvType/Shipping Point
B022 TrspPlPoint and Shipment Type
B023 TrspPlPoint, TrspProcessingType and Service Agent
B025 Purchasing Output Determination: Doc.Type/PurchOrg/Vendor
B026 Purchasing Output Determination: Document Type
B027 Purchasing Output Determination: Purch. Org./Vendor for EDI
B028 Ship-to party/shipping mat.
B030 Specification Department
B031 Area of Responsibility
B032 Application Area: Output Number
B033 MRP Controller
B034 Planner Group
B035 Plant
B040 Document Type/Document Status
B046 CoCode, Blocking reason: Price
B048 CoCode, Vendor
B049 Company code
B050 Output Control: Sample Structure for Output Data
B055 C Status, Laboratory
B060 PM Message — Plant Maintenance
B061 Purchasing Group
B062 Laboratory/Engineering and Design Office
B063 Planner Group
B064 Capacity Planner
B065 MRP Controller
B066 Cost center
B070 Event/print vers./print ind./label type/label form
B071 GR Output
B072 Event/Print Vers./Print Ind.
B073 Event/Print Vers./Print Ind./SHKZG
B074 Missing Parts
B075 Kanban Cards for GR
B100 Output Determination: DocumentType/Purch.Org./Material Group
B120 Condition tables for Output Nota Fiscal
B121 OutputDev.
B150 Doc.Type/Sales Org./Customer
B160 Sales Organization/Condition Granter
B161 SOrg/Distr.Channel/Division/Rebate Recipient
B170 Purchasing Organization/Invoicing
B171 Sales Organization/Distribution Channel/Division/Payer
B172 Company Code/Invoicing
B173 Company Code/Payer


Access a transaction without authorization (skip check)

All the problem related to running a SAP transaction can now be resolved with the help of execution of a debugger.
One of the major advantage of using the debugger is that while any changes are being made all those can be recorded in a log.
Various ways to skip the authorization check:

  1. Within Function module ‘SMTR_KERNEL_CHECK_AUTHORITY’ insert a break-point. Press F7, clear the variable P_CANCEL_FLAG.
  2. Within Function module ‘RS_TRANSACTION_TEST’ insert a break-point on the ABAP code line ‘if sy-subrc = 0.’, straight after the call ‘AUTH_CHECK_TCODE’ id ‘TCODE’ field objectname. And change sy-subrc to 0.
  3. Just run any transaction using functional module SMTR_KERNEL_CHECK_AUTHORITY (still works if correcting Note was not implemented).

P.S. Can’t run FM’s but can run programs? Just run the RSFUNCTIONBUILDER program.

Determination rules

N/ Determination object Rules for determination
1 Sales document Sales Area
+ Document Type
2 Item category determination for Sales document Document type
+ Item category Group
+ Usage
+ Higher level Item Category
3 Schedule line category determination Item category of the corresponding item
+ MRP type of the Material
4 Delivery document determination Delivery document default type attached to Sales document type
5 Item category determination for Delivery document Copy from Sales document
Delivery Document type
+ Item category Group
+ Usage
+ High level Item Category
6 Shipping Point Determination Delivery Plant
+ Shipping condition (Customer Master — Sold-to Party)
+ Loading group (Material Master)
7 Route determination Departure zone of the shipping point (Customizing)
+ Shipping condition (SP)
+ Transport group (MM)
+ Transportation zone of the Ship to party (General Data)
8 Storage location determination Shipping point
+ Delivery plant
+ storage condition
9 Picking determination On bases of MALA rule
Delivery Plant
+ Loading Group
+ Storage condition (MM)
(storage rule also assignment to Delivery type)
10 Packing determination Package usage
11 POD This object use for confirmation of delivery, based on which billing document can create
12 Billing document determination Sales document type is maintained as default type
For Billing plan, Billing Type maintain under Billing Plan Type of Maintain Date Category for Billing Plan Type
13 Account determination Chart of Accounts
+ Sales Organization
+ Customer Account group (Customer Master — Payer)
+ Material Account group (Material Master)
+ Account key
14 Business area determination Plant/Valuation Area
Sales area
Item division + Plant
15 Company code determination Sales organization uniquely attached to Company code
16 Partner determination At -Account group level, sales document header level, item level, sales document delivery level, Shipment level, Billing document level and item level
17 Delivery Plant determination The system will determine Plant details at following in given sequence
Customer — Material info record
From Customer master Ship-to Party
From Material Master
18 Output determination Output determination at Sales document level, Delivery level, Billing level
19 Price determination Pricing procedure
Sales Area
+ Document Pricing Procedure indicator from Sale/Billing Document type
+ Pricing Procedure indicator from Customer Master (Sold-to Party)
20 Text determination 1) Customer Material Information Record
2) Customer Master (General text, Accounting text, Sales text)
3) Material master text (Sales text or PO text)
21 Warehouse determination Warehouse number
+ Plant
+ Storage location
22 Lean Warehouse determination Lean warehouse activate,
+ Storage Location
+ Warehouse number
23 Tax determination Destination Country of Ship-to Party
+ Departure Country of Shipping Point
+ Tax Classification for Customer from Customer Master
+ Tax Classification for Material Master
24 Routing determination Shipping point
+ Delivery plant
+ Loading condition
+ Shipping condition
25 Material determination Create condition record
Maintain Customer Material record
26 Product substitute Create condition record
27 Product Exclusion Create condition record (Not to sale any particular product)
28 Product listing Create condition record (Sale of one particular product)
29 Credit check Credit check at Sales document level OR at Delivery OR at Good issue Risk group at Sales document level and Risk category from Customer Master, Item category credit check should be activate
30 Incomplete log Incomplete log assign to Status group, which is assign to Sales document, Item category or Schedule line level
31 Rebate condition setup Customer master billing info checked, Sales organization activate, Billing document activate





Error sending message for document.

SAP notes 1575263, 1585239

Data Replication Framework (DRF) — tx. DRFIMG

SAP SD books


«Implementing SAP ERP Sales & Distribution», Glynn C. Williams, 2008

«Configuring SAP ERP Sales and Distribution 2010», Kapil Sharma, Ashutosh Mutsaddi, 2010


«100 Things You Should Know About Sales and Distribution in SAP», Matt Chudy, Luis Castedo, 2012

Common SAP R/3 functions manual, 20.1 Mb

  • ABAP Development for Sales and Distribution in SAP (Exits, BAdIs, and Enhancements), Michael Koch
  • What on Earth is an SAP IDoc — Jelena Perfiljeva.pdf

There are four books related to SAP SD Certification — TSCM60 (parts 1 & 2) and TSCM62 (parts 1 & 2):