SAP ABAP — Overview
What is ABAP
ABAP stands for Advanced Business Application Programming. It is a 4th generation language.
Oh! Wait for a second! What does that mean? A 4th generation language?
You are very welcome to read my article on Generation of Programming Languages. To give you a simple idea of 4th generation languages, they consist of statements similar to human language. These are used mainly in database programming and scripting. You can find more details in the article I have mentioned above.
Let us get back to our topic.
ABAP is currently positioned, along with JAVA, as the primary language for SAP application server programming.
To get a clear idea about ABAP, let me explain to you the high-level architecture of the SAP system.
High-level architecture of SAP system
SAP system is depicted in 3-tier client-server architecture. The 3 layers are the Presentation Layer, the Application Layer, and the Database Layer. The below figure will help you to understand the simple structure of the SAP system.
Still confused? Not to worry! Let me go through each layer one by one.
The Presentation Layer embraces any input device you can use to control the SAP system. Simply, it can be a mobile device, desktop computer, or web browser.
The Application Layer plays the role of a central processing server. All your actions are processed at this place. The interesting fact about this is, it is not just one system itself. It can be multiple instances of the processing system. The application servers processes are carried out through work processes. The work processes are components that are able to execute an application. Each work process is registered as a user in the database system for the entire runtime of the SAP system.
The Database Layer is where all the data is stored. When I say all the data, it includes all the customer records, programs, and anything which needs to be stored.
In a nutshell, any actions you do on the presentation layer are passed to the application layer for the processing which would retrieve any relevant data from the database layer and the application layer processes the data and presents it to you via the presentation layer.
Now let’s see why we need to know about the architecture of the SAP system to learn ABAP.
ABAP programs on SAP
Now you know that the ABAP programs run at the application server layer. But the technical distribution of software is independent of its physical location. What does that mean? It means either you can install all 3 levels on one computer or on separate computers.
If you are familiar with C++ and Java, you should know that their programs are stored in separate external files. But in ABAP, programs reside inside the SAP database. They execute under the control of the run-time system which is a part of the SAP kernel. The run-time system processes all ABAP statements, controlling the flow logic and responding to user events.
Inside the database, ABAP code exists in two forms.
- Source code — Can be viewed and edited with the ABAP workbench tools.
- Generated code — A binary representation. (In Java, this generated code is somewhat comparable with Java byte code.)
The run-time system can be considered a virtual machine, just similar to Java virtual machine.
SAP can work with a wide variety of databases, and the same ABAP program can run on all of those.
And there you go! Congratulations on starting a new journey in ABAP! I wish you all the very best for your future milestones! Remember, there’s no rush. Take your time and gather knowledge. I recommend baby steps ❤