Learn ABAP Programming: Get Started Building Custom ERP Apps
Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page. Learn more
ABAP was originally an acronym for Allgemeiner Berichts-Aufbereitungs-Prozessor, German for generic report preparation processor. It is a programming langauge that was originally developed by German software company SAP.
Thankfully, the backronym Advanced Business Application Programming was adopted to make pronunciation a little easier on English-speaking developers.
SAP is one of the most important enterprise resource planning (ERP) systems in use today, and ABAP is one of two primary programming languages (the other is Java) used for developing SAP applications.
ABAP was originally conceived and developed as a reporting language for SAP R/2 in the 1980s.
Its utility grew when the next iteration of SAP's ERP, version R/3, was built in large part using the programming language. Many parts of the current iteration of the application, SAP ERP, are also written in ABAP.
In SAP R/3, ABAP was used by technically-inclined customers to develop custom business reports and SAP interfaces. By 2001, virtually all SAP applications were written, at least in part, in ABAP.
ABAP Programs in SAP
All SAP software, including ABAP scripts, run within the context of an SAP system which consists of three layers:
A relational database
An application server
The client application, SAPgui.
ABAP programs cannot be executed outside of SAP or be extracted as stand-alone external files.
All programs written in ABAP reside in the SAP system database, are executed by the SAP kernel on the application server, and are accessed and modified by developers who access the system using SAPgui.
This makes learning ABAP programming a challenging proposition for students of the language who do not have access to an existing SAP system.
There are three ways to develop ABAP application:
Using the ABAP Workbench in the SAPgui
Using SAP Web IDE, a browser-based development environment tying into an SAP system
All three methods assume that the code will be executed on an SAP system.
If you don't have access to an SAP system, the next-best option is to install a trial version of SAP locally on your computer.
You can download a trial version of the software from the SAP website.
However, you should be forewarned that setup is a complex process. If you run into trouble, considering referring to one of the two Udemy courses listed below that are designed to teach developers how to install a local SAP development environment.
ABAP syntax is human readable. With very little programming experience, you can see a bit of ABAP code and understand what it might do.
For example, if you wanted to write a script that would print a report containing the message Setting up SAP is hard, you could do so with the following bit of code:
REPORT TEST. WRITE 'Setting up SAP is hard'.
That code would run a report, called TEST that produced the string Setting up SAP is hard.
Unlike many web programming languages, ABAP is sensitive to white space. This is particularly important to remember when using ABAP to write mathematical functions.
Take the following equations, for instance, equation 1:
x = y+z.
And equation 2:
x = y + z.
The first equation assigns to variable
x the substring of variable
y beginning from value
The second equation assigns to variable x the sum of variables
If what you really wanted to do was add up variables
z, the second equation would do that while the first would not.
If you've set up a local IDE, or have access to an SAP system, you're ready to start learning ABAP.
We've found three types of resources you can use to go from ABAP beginner to competent programmer.
Online ABAP Tutorials
There are several online tutorials that provide a solid overview of SAP, ABAP, and the development of simple business applications. Here are our favorites:
Guru99 offers two courses that may be of interest to aspiring ABAP programmers. The SAP Beginner Course is a great place to start if you have no experience with SAP. Once you've completed the course, or if you do have prior SAP experience, the SAP ABAP Training Course introduces the ABAP programming language.
The ABAP Tutorial from SAP Hub is a bit longer and more in-depth than the Guru99 tutorials, and may be most useful once you've completed one or both of those resources.
Online ABAP Courses
Another great place to learn about ABAP is Udemy. There are several SAP and ABAP courses available. Here are four of the most recent and popular ABAP courses:
Getting SAP set up locally can be particularly challenging for self-directed learners. Both of these reasonably priced courses promise to help you set up a trial version of SAP for local development:
These are some of the most popular and respected ABAP programming books available today.
Books are often able to provide greater depth and detail than online tutorials and short courses.
If you're ready to take a deep-dive into learning ABAP, here are a few options to consider:
Introduction to ABAP Programming for SAP by Bruyn, et al
Beginner's Guide to SAP ABAP by Peter Moxon
First Steps in ABAP - Your Beginner's Guide to SAP ABAP by Boris Rubarth.
ABAP is one of two programming languages used to create custom programs to run on SAP systems.
Setting up an ABAP development environment can be challenging if you don't already have access to an SAP system, but if you are dedicated to the task, you can get one up and running locally.
Once you have access to a suitable IDE, you're ready to start learning ABAP, and there are quite a few free and premium tutorials, courses, and books to choose from.