How does SAP work – SAP Architecture

This Post is part of the Free Step by Step SAP learning Course.
You can access the Course here

Hope you liked the previous 2 parts of step 2 in our course. We covered a lot of stuff there and in this part we will learn about SAP Architecture.

Before we learn about it let me clarify some points.

1. As we learnt in previous lesson, SAP users have different roles. ABAP, Functional, BASIS, Security etc. The way you approach learning SAP is determined by the role/job you are looking for.

SAP architecture is a vast chapter in itself. I have geared this lesson towards Technical – ABAP, Security and Functional Consultants. If you are aiming to get into SAP BASIS, this lesson will be a starting point for you and you will have to do some self reading on your own. I will provide you with links for that. For all other folks, what I cover in this lesson is basically all that you would need to know as far as day to day SAP job is concerned. However if  you are a fresher and looking for your first break into SAP then you will need to learn some more, which I will cover in detail later on. Learn those points and you will be able to answer all the important points during your technical round in interviews.

With that clarification done lets move on.

Where to start learning SAP Architecture:

I was wondering about this question myself so I looked up on SAP’s help website

Here you will find several versions of Netweaver platforms ranging from SAP Netweaver 7.0 to the latest Netweaver 7.4.

NetWeaver Versions

Versions of Current SAP Netweaver


So lets start with What is Netweaver ?

We already learnt that SAP works on the 3 tier architecture. However initially the 2nd tier was supposed to be the basic application server where all the business logic would reside. However as we learnt in the earlier lesson that with the introduction of mySAP the web component of this server also started gaining significance. Users did not want to remain confined to using SAP GUI, they wanted to be able to run transactions via the Web Browser rather than install a separate SAP GUI application on their desktop to access SAP.

Hence SAP started providing technical flexibility to be able to run application from the web browser via the Internet Transaction Server(ITS).

However as Web applications became more demanding SAP incorporated more development frameworks and hence had to expand its application server capabilities and called it the WebApplication Server (SAP-WAS).

With further growth SAP rebranded itself with advanced functionality and introduced SAP Enterprise Core Component – SAP ECC 6.0 – with a newer Application server i.e the Netweaver Application Server or Netweaver 7.0.

To better understand the Netweaver concept we need to step back and understand the SAP Kernel itself.

Consider this figure below. This is from SAP’s own help documentation


The business logic in SAP runs on the application server. The business logic is written in SAP’s own proprietary language known as ABAP in short.

The Application server is responsible for take the users input from the presentation layer, execute the logic, fetch the data from the database layer, process it, format it etc and finally display it back to the user.

So in-effect the Application server provides you with the following

1.  ABAP runtime environment (a virtual machine for ABAP programs).

2.The ABAP Workbench,

3. An Integrated change and transport system (CTS).

ABAP programs can be executed directly by users using user interfaces (Web Browsers or SAP GUI) or by other software components through the network. For SAP GUI two main protocols are used: HTTP/HTTPS/SMTP for Internet connections (controlled by the so-called Internet Communication Manager, ICM) and SAP’s own Remote Function Call (RFC) protocol (via the RFC interface).

Most of the components of AS ABAP can be divided into three layers:

Presentation Layer :

These components are responsible for the presentation of data for users and the receiving of user entries. When web browsers are used as user interfaces, HTML pages prepared in the presentation layer are accessed by application programs through the classes and interfaces of the Internet Connection Framework (ICF), which wrap the HTML pages.

The presentation in a web browser is based on Web Dynpro ABAP (MVC-based technology for creating platform-independent web-based interfaces) or BSP (BSP, HTML pages that incorporate server-side scripts written directly in ABAP). When you use the SAP GUI that is available in versions for MS Windows, Java and Web Browser, user interfaces are displayed in windows that are based on the (classical) dynpro technology. The layout of a dynpro can contain a set of predefined screen elements or GUI controls (wrapped by the classes of a Control Framework, CFW).

Application Layer :

Here, application programs are executed. The application layer contains a kernel written primarily in C/C++ that serves as a platform for the application programs. The kernel of AS ABAP provides Virtual Machines for ABAP with ABAP Objects (main programming interface of AS ABAP for business applications), XSLT and ST (transformation languages for transforming ABAP data to XML and vice versa), and still JavaScript (obsolete, server-side scripting in BSPs beside ABAP).

Persistence Layer :

Persistent data – is held in a database. The database is accessed by ABAP programs through the database interface of AS ABAP that is subdivided into an Open SQL interface and a native SQL interface. Open SQL is a subset of the Structured Query Language (SQL) realized directly by ABAP statements. Native SQL are database-specific SQL instructions that are passed directly to the database system (either statically or dynamically via ADBC).

There is a lot more important concepts in this topic which I would love to cover in my later articles. However in order of importance to SAP Developers I will briefly touch the concept of System Landscape in SAP Project implementations and Support.

System Landscape :

Every SAP implementation project goes through deployment phases of some sort. There are several types of systems used to implement a project. These should at least be dedicated software deployment layers, if not on physically separate servers:

Training, Evaluation, and Sandbox Systems—used for end user training, gaining experience in the new functionality and playground for feasibility studies for customer-specific requirements; usually small systems with small databases.

Development System (DEV)—for customization of the SAP systems and development of new components and functionality; usually small systems with small databases. It can be on different OS and HW platform, however, similar OS eases the management.

Test and Quality Assurance System (Test /QA)—enables extended testing of upgrades/ transports prior to implementation in the production system. These tests can cover OS upgrades, SAP upgrades and patches, new system drivers, interface setups, and so on. These are smaller than the production system but in a ratio that allows forecasting the performance impact. The data used is a copy of the production system to run tests with real, large quantities of data.

Production System (PROD)—system with live data for production use. This is were actual users use the system to perform every day business transactions.

System Landscape

Change and Transport System :

You may be wondering how is version control done is SAP. Once a program is moved into the production environment for real users to use it, the program may need newer functionalities. Also some defects/business gaps may be identified after the program has been is use. In this case the existing program has to be tweaked or corrected. This needs version control to identify an existing version from a newer version of the program. Also when one developer is working on a particular program you would not want another developer modifying the same program and thus having inconsistent copies of the program. For this case SAP provides us with the CTS System.

Each program during editing is locked into a change request i.e a Change request/Transport number is assigned to it. Once the program is developed and tested in the Development environment, the transport/request is released by the developer editing the program, thus releasing the edit lock. Released transport is then moved to the Quality system for further integration and user acceptance testing and finally after approval and verification the newer version of the program moves into production ready for the user to use.


Like I have already mentioned, the topic of SAP Architecture is a detailed one and learning all of it in a single lesson is a bit difficult. However in this lesson I have given you a basic gist of it and we will be covering more of it when we get into the practical implementation of SAP when we create our own ABAP programs.

Hope you like this lesson as well and if you find it fruitful then do share it with your friends.

Thanks and Happy Learning.


  1. Miguel Enriquez

    Interesting Post like me.

    i understand all, only not forget explain same as the first post, with a car…

    in some place of the blog.



    • Hey Miguel, So glad you liked this lesson.
      Yes, SAP Architecture is tough to learn and I am happy that you got it from this blog.
      I will definitely post some more on this topic in more simpler examples in future.

Leave a Reply

Your email address will not be published. Required fields are marked *