Ever wondered what is SAP ABAP? What is it all about?
SAP ABAP stands for Advanced Business Application Programming, originally Allgemeiner Berichts – Aufbereitungs – Prozessor, German for General Report Creation Processor” is a programming language created by SAP, a German software company. ABAP is the programming language used for building solid-state business application solutions in the SAP Runtime environment. It was intended to be used by SAP customers to enhance SAP applications were users can develop custom reports and interfaces with the ABAP programming.
There are two technical “STACKS” within the SAP environment. The first is the ABAP stack which is composes the entire technology of SAP. SAP ABAP is the coding language for SAP to develop RICEFW objects (Reports, Interfaces, Conversions, Extensions, Forms and Workflows) in the ABAP stack.
The ABAP stack is usually navigated via T-codes (Transaction Codes) to take you to different screens within the SAP Environment. A transaction in SAP is the execution of a program, or simply means calling and executing an ABAP program. In the ABAP stack you can perform and tune your work process as well as configure all of the system RFCs (Remote Function Call), build user profiles and do necessary interfacing between the OS (Operating System) and the Database within the SAP environment.
Next is the JAVA stack, it controls the “Netweaver” aspect of SAP which encapsulates SAP’s ability to be accessed via the Internet via SAP Portal and its ability to interface with other SAP and non-SAP legacy systems via PI (Process Integration).
Types of ABAP programs
As in other programming languages, ABAP program is either an executable unit or a library, which provides reusable code to other programs and is not independently executable.
ABAP has two types of executable programs. First is Reports, it follows a relatively simple programming model whereby a user enters a set of parameters and the program then uses the inputs to produce a report in the form of an interactive list. Second is the Module Pools, that defines more complex patterns of user interaction using a collection of screens which is divided into a PBO (Process Before Output) and PAI (Process After Input) section.
The ABAP Workbench contains different tools for editing programs.
- ABAP Editor for writing and editing reports, module pools, includes and subroutine pools (SE38)
- ABAP Dictionary for processing database table definitions and retrieving global types (SE11)
- Menu Painter for designing the user interface (menu bar, standard toolbar, application toolbar, function key assignment) (SE41)
- Screen Painter for designing screens and flow logic (SE51)
- Function Builder for function modules (SE37)
- Class Builder for ABAP Objects classes and interfaces (SE24)
- The Object Navigator (transaction SE80) provides a single integrated interface into these various tools.
Think of SAP as an Operating System (like Windows or Linux) into which all SAP content/ modules/ applications run and SAP ABAP is the primary language in which SAP software including customizations are written. SAP also now has components that are purely ABAP based, purely JAVA based or a combination of the two. SAP can also incorporate with other technologies such as .net and PHP.