Since I have started this blog with articles on data-dictionary I want to dig deeper into some fundamental concepts about SAP data. In SAP, data can be classified into master data and transaction data. However beyond that, the way this data is stored in the underlying database has a lot to do with how the table was initially designed in the data-dictionary.
A lot of times freshers can explain definitions of terms like application table and customizing table, but struggle to explain this concept with concrete examples.
To confirm my findings I decided to put this question to a bunch of random people by showing them some data and asking them to identify whether it was master data or transaction data.
Following are their thoughts.
With so many doubts in their minds.. how will these guys ever clear any SAP interviews, how will they be able to develop better performing SAP programs.
To help them and for all other folks who are not sure of these concepts I will walk you through these ideas briefly in this blog.
The data stored in SAP can be classified broadly into two types.
- SAP-System relevant data
- SAP-Application relevant data.
System relevant data is data that is only maintained by SAP. Any changes to data in such a table constitute a modification, because the overall system behaviour is controlled by entries in these table.
Application relevant data however, is data that is specific to a particular customer installation/implementation. Such kind of data can be further broken down into – Application data and Customizing data.
Customizing data is data that defines the behavior of your SAP environment for individual modules.
Based on the particular module, specific entries are maintained in these tables. These tables usually start with the letter ‘T’
Example of Customizing data:
- In HCM Module, Lets say a company has only hourly paid and salary paid employees. Then this classification of employees will be maintained in one of the standard customizing tables provided by SAP. Once maintained, the data in such tables rarely change.
- In Travel Module, Lets say a company will reimburse only some types of travel expenses like Air-fare, Train-fare and Car-rentals. These expense type classifications is data but these permitted expense types will not change quite often unless there is a major travel policy change in the company. Such data is classified as customizing data.
Application data on the other hand is data which is created during the normal course of business. This data is created because of the transactions that happen on a daily basis. Such data can be further classified into Master data and Transaction data.
Master data : is data which defines the attributes of various entities of the business system. Entities are participants in the particular business.
Examples of Master data:
- Every company has employees. In the HCM module each employee would be an entity of the business system and attributes of each employee, like their name, address, bank account number etc would be considered as Master data – specifically HR Master.
- Every company needs to buy raw-material and office-supplies like printers, stationary etc. For this they would have a list of Vendors. These vendors would be entities in the MM/SD module and attributes of each of these vendors, like their name, address, contract agreement terms etc would be considered master data – specifically Vendor Master.
- Such data as you may have guessed will change, but once in a while, not quite often. For example when an employee changes his or her home address or bank account number, or a Vendor changes their pricing policy etc.
Transaction data: is data which is created in large numbers almost on a daily basis during a normal business operation.
Examples of Transaction data:
- Every employee in the organization needs to be paid, Right!! Their payroll data generated every month when they get paid is transaction data. – HCM Module
- An employee going on an official travel to a seminar or business meeting will submit a travel request. This data is transaction data – Travel Module
- A purchase order, sales order, invoice etc are all examples of transaction data.
Hope I have explained the classifications of data in SAP.
Now its your turn. Can you dig into your SAP system and give me an example of each of the following:
- Master data.
- Transaction data.
- Customizing data.
- System data.
First specify the table name, then tell me what type of data it is and your explanation of what module or scenario in SAP it will satisfy.
Please type your answer in the comments section. You may be right or wrong, thats fine. We will all learn from your answers so lets participate.
Nice Blog Linkin.your blog was awesome it defines a lot with brief and elaborated examples with some funny diagram helps a lot for the new learner or so called beginner in SAP.
I would like to answer few answers :-
1. Master Data :- Vendors/Customer Data(rarely changes quite often)
2. Transaction Data :- Update during transaction any Z table also be transaction data(Day to day updation and modifications possible)
3. Customization Data :- Maintained entries in ‘T’ Table based on modules like T001(Company related information).
4. System Data :- Data which can automatically being stored once software package installed into the system, but it also can be changes but only when patch/enhancement can be done, then system data automatically being modified.
Hoping my answers are correct 🙂
Please rectify or suggest some more answers for the same.!!
Hi Ved, Glad you liked this post. All your answers are correct.
Sometimes Functional consultants will ask you to update some tables in custom programs which need not be done.
Once you have the data classification concept clear, you can advice them the right way.
This is what an actual Techno-Functional consultant should do.
Can explain clearly.I don’t mean it was not clear but it would be better in simple words..
Thank you for commenting.
Let me know if you have any doubts and I will try to explain it further.
Could you please explain how exactly we need to update the tables.
Thanks & Regards,
Please follow my Free course Step-By-Step SAP ABAP.
From Step 4 onwards in the course we move into the assignment series in which many of the assignments deal in this exact technique, how to update tables.
Course can be found at http://www.beginners-sap.com/step-by-step-sap-abap/
Sign up with your email where you want to receive the assignments.
Could you explain which of these data are client-dependent and which of these are client-independent?
Good Question !! I realized I hadn’t covered it in the blog.
Technically speaking a Table with the field MANDT in it is a client-dependent Table. This field is usually the first field in the table.
There is no finite rule that all customizing tables are client-independent.. but as a thumb rule you could say a table which affect the SAP Systems behaviour could be found to be client-dependent.
For example FILE structure data, RFC destination data etc — such data will be client-independent because it would be same in all systems.
Hope this clears your doubt a bit.. Thanks for asking ..
Yes, i have a clear understanding now. Thanks for your clarification on the subject.
I would like to put my corrective comment here:
The table is client-dependent whenever it contains the field of type CLNT at the very first position. This field is called MANDT In most cases, but it can also be of another name. The data type is a key player here, not the field name.
If such a field is contained in the table then it MUST be in the first position in the table. Then your statement ‘This field is usually the first field in the table.’ is wrong as it seems like the other positions are possible, too. Technically, yes, it’s possible to have a field called MANDT in some other position in the table, too, but then it turns to be an ordinary field and does not have anything to do with client dependency. So, to decide whether the table is client dependent or not, check the type of the first field:
CLNT –> client dependent table
otherwise it’s client independent table
There is a lot of technical background behind this (SELECT statements detect client dependency automatically, database interface works with that as well etc.), so it’s not just a trivial stuff.
Hey Michal, — Nice catch!! Yes.. It should be a MUST instead of a USUALLY.
Happy to know people do read my stuff in detail.
Great Explanation Linkin , Thank you …
Thank you so much! such a great explanation!! 🙂
And of course that pic! 😀
Great blog…!! keep doing we need this…!!
Hi, I am missing an example of system relevant data. Could you please provide some? Thanks a lot.
Nice sir good information given if I want any information in sap I can ask
Hi Linkin, good job to clarify the topic on Data types in SAP. I hope there’s scope for more detailed one for the ones who want it more
very good blog
I was asked this question in an interview.
What if we select Data class as APPL1 i.e. Transaction data but store Master data in it.? What will happen in this scenarios