ABAP Introduction and Resources
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. However, it's 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;
- Using the Eclipse development environment with the ABAP addon.
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 Community Network. 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:
x = y+z.and
x = y + z.
The first equation assigns to variable
x the substring of variable
y beginning from value
z. The second equation assigns to variable x the sum of variables
z. 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;
- SAP Nuts offers two courses to get you started with SAP ABAP: SAP ABAP Course and Object Oriented SAP.
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:
- SAP ABAP Programming For Beginners;
- SAP ABAP Crash Course for Beginners.
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;
- Getting started in SAP: How to transform your career and become a highly paid SAP expert by John von Aspen;
- First Steps in ABAP - Your Beginner's Guide to SAP ABAP by Boris Rubarth.
ABAP is one of two programming languages used to 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.