SAP software products provide powerful instruments for helping companies to manage their financials, logistics, human resources, and other business areas. The backbone of SAP software offering is SAP ERP system which is the most advanced Enterprise Resource Planning (ERP) system from currently available ones. SAP has evolved to offer application software for supporting complex business functionality and in this post we are going to explain (on high level) how does SAP work.
SAP System Architecture
It is a good idea to start answering the question “How Does SAP Work?” with a discussion of what the components of an SAP ERP system are, how they are related to each other, and what are their purposes. We should mention that SAP ERP is not the only SAP software component. There are other business application components such as Business Intelligence (BI), Supply Chain Management (SCM), and Customer Relationship Management (CRM). However, in this article we are going to focus on SAP ERP because it is the primary component and provides capabilities for integrating business data from other application components.
SAP ERP system is commonly structured in a three-tier client/server architecture. The three-tier architecture is the recommended one because it enables high scalability and flexibility but SAP can also be deployed on two- and one-tier architectures. Figure 1 provides a graphical illustration of the differences between these architectures.
In the three-tier SAP architecture, the presentation tier provides the interface to the user, the application tier processes the business logic, and the database tier stores the business data.
The Presentation Tier
The presentation tier is typically located on PCs of business users and provides the SAP Graphical Interface (SAP GUI). SAP GUI is a lightweight application that can be installed on any computer running MS Windows or Mac OS and it provides the interface for communication between the user and the SAP ERP system.
The Application Tier
The application tier is basically the heart of the SAP ERP system. It executes the business logic, responsible for processing client transactions, print jobs, running reports, coordinating access to the database, and interfacing with other applications. It is possible to distribute the application logic between several server machines in situations when the load exceeds processing power of a single server.
The Database Tier
The database is used for storing two types of objects: the business-generated data and the SAP application programs. The business-generated data represents data objects created by users as part of various business processes. For instance, sales orders or customer master records are classified as the business-generated data. SAP application programs are routines written in ABAP (special programming language used in SAP) that are loaded into the SAP application servers from the database at runtime.
It is possible to use databases from different vendors (for instance, Oracle or Microsoft) and it is up to the company to decide which database vendor to choose. Usually, the database license is included into the price of SAP. The database tier has the highest requirements for availability, reliability, and performance because usually each SAP system is deployed on one database instance. Therefore, performance of the database tier ultimately determines the scalability of the entire SAP ERP installation.
There are situations when three tiers can be reduced to two or one. The possibility of these situations depends on available processing power and number of business users. For example, it is possible to install all three SAP tiers on a single computer for demo purposes. On the other hand, large SAP productive installations require multiple powerful servers for each of the tiers in order to ensure good performance of the SAP system.
Above these tiers, SAP architecture can be further segmented into several application modules. Each module contains the SAP application programs and business data related to a specific business area such as financial accounting (FI) or materials management (MM). Figure 2 illustrates the application modules which are included into the SAP ERP system.
Although SAP application modules cover completely different business process and business areas, technically they work in a similar manner. The difference is only in ABAP programs and data tables that are used in each of these modules of SAP. For this reason, our article is not going to focus on any particular SAP module but will instead explain how does SAP work with the three-tier architecture in general.
How Does SAP Work?
Now that we know what are the components and tiers of the SAP ERP system, let us see how does SAP work. As it was explained above, the heart (or kernel) of the SAP system is in the application tier (application server). The application server gets input from and displays output to the presentation tier (SAP GUI). Furthermore, it stores data in the database tier.
The kernel of the SAP system is a collection of executables programs and auxiliary tools for processing the business logic. All kernel processes that are started or stopped are called an SAP instance. SAP ERP system typically contains several instances in such a way that each instance is running on a dedicated server computer.
Each SAP instance contains a dispatcher and several work processes. The dispatcher distributes tasks to one of the work processes. The SAP system has different kinds of work processes that were created for various tasks. Here is the list of their types:
- D: Dialog work processes which are responsible for handling online transactional requests from users.
- B: Batch work processes which are responsible for processing background jobs scheduled in the SAP system.
- V: Update work processes which are responsible for carrying out updates in the database. These updates can happen asynchronously to batch and dialog processes.
- S: Spool work processes which are responsible for enabling printing in the SAP system.
- G: Gateway work processes which are responsible for enabling communication between applications (for instance, between SAP R/3 and SAP R/2). Only one gateway work process is needed per one SAP system.
Figure 3 illustrates a generic SAP application instance with one dispatcher and several work processes.
As we said above, the SAP ERP system can contain several SAP application instances but among these instances there must be one special instance called the central instance (CI). The central instance has two additional components called the message process (M) and the enqueue server (E).
The message process (M) of the central instance is used for establishing communication between various application instances included in the SAP system. For instance, when a user logins to the SAP system, it is automatically assigned by the message process to one of the available application instances. Next, all the transactional requests related to this user will be re-routed by the message process to the chosen application instance.
The enqueue server (E) of the central instance is used for managing locks on the database tables. These locks ensure that database updates are performed in a proper sequence and guarantee consistency of the business data.
The central instance is schematically illustrated on Figure 4.
How Does SAP Work?
SAP system works in the following way:
- A request arrives from the presentation tier (it can be an online request from a user or a request related to a batch job or anything else).
- This request is analyzed by the dispatcher of the SAP central instance.
- The dispatcher passes the request to the message process (M).
- The message process (M) decided whether this request should be processed on this instance or needs to be forwarded to a different instance (for example, an instance with a lower computing load).
- If the request remains at the same instance, it is put in one of the work processes of the appropriate type (for instance, if it an online request from a user, it should be placed in the dialog work process).
- The request gets processed by the work process, and if necessary, the SAP system will commit an update to the database through the enqueue server (E).
- The feedback about outcome of the request is delivered back to the originator of the request in a reversed order.
This explanation of how does SAP work could be a little bit difficult to follow, and therefore, let us consider a simple example that will hopefully make understanding easier.
In our example, a business user runs a transaction called ZREPORT (it a fake transaction just for this example). This transaction selects one customer from the table with customers and changes its name. We are interested to see what happens in the SAP ERP system when the business user executes this simple transaction. Figure 5 provides an illustration of how SAP works in this example.
According to Figure 5, the SAP ERP system receives input via SAP GUI from a business user. This user launched the transaction. Next, the system process this input in a number of steps:
- The input is passed to the dispatcher of the central instance.
- The dispatcher passes the request to the message process (M).
- The message process (M) placed the request into one of the dialog work processes (D).
- The dialog work process (D) performs reading and update of the database through the enqueue server (E).
- The enqueue server (E) passes the update request to the database (it is necessary to update name of the customer).
- The database returns feedback to the dialog work process (D).
- The dialog work process (D) passes the feedback to the dispatcher.
- The dispatcher returns the outcome of the operation to the presentation tier (SAP GUI) and the business user sees the result on her screen.
Hopefully, this simple example will help you to understand the general principle of how does SAP work. Of course, in the real life, there are millions of technical details and nuances that are only known to SAP basis experts. Nevertheless, this explanation should be a good starting point for everyone who wants to understand the basic technical principles of how does SAP work.
In this post, we attempted to explain how does SAP work. We tried to avoid difficult technical details and keep the explanation easy for understanding. We first had to describe SAP architecture and various components of the system. Next, we explained and illustrated with a simple example how these components work together and support business processes of an enterprise. Your feedback is very important for us, so if you liked the article, please bookmark it in social networks and leave a comment below.
45 thoughts on “How Does SAP Work?”
Thanks for the article! I’ve been working as a functional SAP consultant for several years already but never had a chance to learn how does SAP work from the technical perspective.
Hi I juz read u work as sap functional consultant. I am interested in doin SAP bt nt getting details abt it from start to end… can u help me out
you can see the presentation available on net how sap working you can learn step step easily
Yes, use proper english with correct spelling and grammar.
Actually I would assume English is not their first language which then makes it a reasonable effort. Let’s now see you converse in test in a second language
i, bhim tiwari completed b.tech, i have almost, 4 year exp in electrical & telecommunication. Currently, i am working with prime technologies llc, Dubai, UAE as electrical engineer.
Actualy, i am initial stage of interesting in SAP & wants to certification on SAP.
So i wants to say thanks for this site.
I taken some overview knowledge regarding……….thanks
Hi Which module you want to take certification?
bravo ya bhim.
This is nice post for beginners. Thanks
this is a lovely insight about how the ERP works….you are a life changer!!!
sap is best for working in industries group for buissness
Excellent overview of the basics. I was a little intimidated by the thought of learning SAP, but this was a nice introduction.
Nice post, excellent for beginners. Good Job!
Thanks hey this is good for novice ABAP Programmers
Do I need to have a lot of hands on training to learn this System or even go to school for it, or is it fairly easy to learn?. For instance if I worked with SAP everyday for one week, would I have a pretty good understanding of it without any additional training on it? Also, can this program be purchased, where and for how much and where if needed can I get hands on experience with that?
It depends on what is your role. If you are a business user who uses SAP to enter some business transactions, then it is sufficient to read a tutorial about using the SAP transaction that you need. If you are a consultant who configures SAP, then a training course is necessary. SAP is software for companies and cannot be purchased by individuals. There are companies that provide access to an SAP system for monthly fees. Here is an overview: SAP IDES access.
Thanks to u…actually your way of described is very easy and is very helpful to a new freshers guys.
My questions is
2.What does R/3 database content?
3.SAP server start/stop on windows and UNIX?
Hi Cleo Isco
This is Pradeep Pandey and I am working in SAP MM from last one year in my Company, Lafarge. Earlier I was working in JDE ERP MM for 15 years. So I have total exp in this field is more than 16 years.
Just now today I started to read your artical about SAM MM, I am very impressed your way of teaching or topic explanation. I want to continue complete MM topic with you. And I want to finish SAP MM Certification exam very soon. Pl guide me how I can pass SAP MM Certification Exam and I parallel y learn you topics through this connection.
Once again many thanks to you.
India – +91 9903819217
HI astonished to learn your experience in sap mm. I am novice and want to use mm module. May I get your help in future.
Hi , My name Rosli and I has been using SAP system since year 2001 until now and my experience is mostly in materials movement for logistics department.
My question is :
Any possible that we can upload data from other software for example Microsoft excel into SAP system..
In easy language just like a copy paste.
Your response is truly appreciated.
You can copy-paste values in single fields/cells. If you would like to upload multiple rows and columns, usually you need to supply a text file and let SAP import data from it.
Hi please help for sap system how to work for company level knowloge
excellent for beginners. Good Job……But please help for sap system how to work for company level knowloge
Hi Sir I have enrolled in your free SAP SD training course. I have got many lessons which are very interesting. But I have some confusion about your SAP SD training certification course and SAP SD certification and SAP SD video course. What are difference among them. shall l have to enroll in all to get certified. With those certificates can I apply for SAP jobs.
Why Dear Sir,
Can you send me SAP Working Explain Video send And Any You tube video working video
But Thanks you Dear Sir……..
I am a intrested in sap and am current working is adani solar is a det of sap oprating ..
so i can see the sap ppt so send my mail id ..
Thanks & best regurds
I am a intrested in sap and am current working is adani thermal power plant is a det of hr
so i can see the sap ppt so send my mail id ..
Thanks & best regurds
hi can you show me the way to enter data using sap
MY NAME IS ASHOK I HAVE COMPLETED DEGREE IN B.Sc COMPUTERS.
I WANT LEARN SAP…
PLEASE GIVE ME SOME SUGGESTIONS TO LEARN EASILY..
thanks for this I have been looking at job adds always seeing SAP knowledge required and did not know I was working right in the middle of it all the time….add this one to my resume
Professionalism and Education go hand in hand.
All round development for both fresher’s and Professionals.
The blog was very subjective and it clears the idea about SAP.
An awesome explanation for a novice like me. Thank you so much. Simple and effective!!
i am very interested in sap so i want to sap course in future.
An awesome explanation for beginners. Thank you so much.
Hi and Good day, dear SAP consultants,
Could you please, be so kind and let me know the instructions to the following question:
– How can I open budget for foreign corrency payment (import contract)?
I have been using the code FMBB for national currency payments
Thanks very much for your reply!
I wanted to ask my question at SAP forum, but currently it is not allowed to be registered
that was really easy to follow the concept. Great thank for your efforts and time spending…
Really good explanation sir…thankq
Thank you! Great overview for someone hoping to learn more.
Hi, It is very nice to start learning SAP for beginner. Thank you.
I am using SAP where i work and is just new to me so what is happening where the stock is sitting in unrestristed what it must be a reason and what should i do to move it to ATP