SAP - Programming Language(ABAP)

This chapter provides an overview of ABAP − the programming language used in SAP for developing business application support and development.

ABAP (Advanced Business Application Programming)

ABAP is a programming language that runs in the SAP ABAP runtime environment, created and used by SAP for the development of application programs including:

  • Reports
  • Module Pool Programming
  • Interfaces
  • Forms
  • Data conversions
  • User Exits & BADI

All of R/3’s applications and even parts of its basis system were developed in ABAP.

ABAP is an event-driven programming language. User actions and system events control the execution of an application.

ABAP is also called ABAP/4. The “4” in ABAP/4 stands for “Fourth Generation Language” or 4GL.

ABAP Workbench

The ABAP Workbench is used by SAP for the development of standard and custom application software. The ABAP Workbench is also used to create dictionary objects. It consists of the following components −

  • ABAP Editor is used to maintain programs.

  • ABAP Dictionary is used to maintain Dictionary objects.

  • Repository Browser is used to display a hierarchical structure of the components in a package.

  • Menu Painter is used to develop graphical user interfaces including menu bars and toolbars.

  • Screen Painter is used to maintain screen components for online programs.

  • Repository Information System contains information about development and runtime objects, such as data models, dictionary types and table structures, programs, and functions.

  • Test and Analysis Tools, such as the Syntax Check and the Debugger.

  • Function Builder, which allows to create and maintain function groups and function modules.

  • Data Modeler, a tool which supports graphical modeling.

  • Workbench Organizer, which maintains multiple development projects and manages their distribution.

ABAP Workbench

Note − The ABAP Workbench used to be known as the ABAP/4 Development Workbench.


Report programs produce lists and can be divided into classical reports and interactive reports.

  • Classical reports do not allow interaction by the user; therefore, the basic list contains extensive information that the user must often sort through to find relevant data.

  • Interactive reports allow interaction by the user; therefore, the user can produce secondary, detailed lists of the basic list by choosing the relevant data and requesting more information.

  • SAP Query or Ad-hoc Query or InfoSet Query is a tool that allows the end-user to design different queries based on different input and output parameters in the SAP system according to the requirement. This is one of the reporting tools majorly used in the HR Module to pull data from relational databases. InfoSet Query is suitable for reporting in all areas of the SAP R/3 system.

Ad-Hoc query provides three different kinds of reports −

  • Basic List − Simple reports.

  • Statistics − Reports with statistical functions such as average, percentage, etc.

  • Ranked List − For analytical reports.

Transaction code used to access ad-hoc Queries −

  • SQ01 − Maintain Queries

  • SQ02 − Display InfoSet

  • SQ03 − Maintain User Groups

Data Entry

The SAP database has to be filled before the end-users can start working over the business process for analyzing and reporting purpose. Various methods are used to transfer data into the system at various stages depending upon the complexity and data volume to be transferred.

Data can be transferred from SAP to SAP or SAP to non-SAP systems (legacy system). Data can also be transferred through manual entries. The tools used for data transfer are as follows −

  • BDC (Batch Data Communication)
  • IDOC (Intermediate Document)
  • LSMW (Legacy System Migration Workbench)
  • Interfaces through upload of .txt or Excel files holding data
  • Manual data entry using transaction codes


SAP generates a variety of documents such as purchase orders, sales orders, invoices, pay-slips, etc. You can take a print of these documents whenever required. The following illustration shows how the printing process works in a SAP system.

Different kinds of print methods are needed in a SAP system, such as −

  • Local printing
  • Remote printing (network)
  • Front-end printing (SAP GUI for Windows)
  • Front-end printing (SAP GUI for HTML)
Front-end Printing

After the user triggers the print process, the print requests are sent to the spool server, which contains the dialog and spool work processes required for the processing.

General Programming

Programs can be written interactively using the capabilities of the R/3 system. Programs can be executed both online and in the background. Background jobs can also be scheduled to run at specific intervals.

General Programming
  • Module pool programming (or online programming) involves the creation of a module pool (a collection of ABAP modules) and one or more screens. The modules are called by the screen processor during program execution.

  • Batch input processing is used to ensure the safe transfer of data into the SAP system. This process is an automatic, protected data transfer to the SAP system which uses SAP transactions to validate data as it populates the SAP database.

  • ABAP contains statements that conform to CPI-C standards (Common Program Interface - Communications). These are used for programming communications programs.

  • ABAP can read and write sequential datasets.