Section 1 of 11

What is ABAP?

What ABAP is for, its relationship to SAP standard code, how custom development is classified, and how the language has evolved.

Open contents

ABAP is the language SAP created to build its own business applications. It appeared in the 1980s and has been the implementation language of SAP systems ever since.

Notably, SAP standard functionality is written in it too, and the source is readable from SE38 or SE80. Being able to see what a transaction actually does internally is a considerable advantage when troubleshooting.

What being a business language means

Business features built into the language
FeatureWhat it provides
Open SQLDatabase access without regard to the database product
Internal tablesIn-memory tabular data as a basic language type
Screens (Dynpro)Screen definition and control as standard
Authorisation checksAUTHORITY-CHECK as a language statement
TranslationText elements managed per language
TransportDevelopment objects recorded automatically for transport
LockingLock objects for concurrency control

Where custom development fits

Classifying development (RICEFW)
LetterMeaningExample
R (Report)Reports and listsCustom analyses, statutory reports
I (Interface)Integration with other systemsBank file import, EDI
C (Conversion)Data migrationLoading master data from a legacy system
E (Enhancement)Extending standard behaviourAdditional validation
F (Form)Printed formsInvoice and purchase order layouts
W (Workflow)Approval flowsPurchase approval, expense claims

Extending without modifying

Modifying standard programs directly should be avoided: every patch and release risks overwriting or conflicting with the change. SAP therefore provides mechanisms for adding behaviour without touching the standard.

Generations of enhancement technology
TechniqueGenerationCharacteristic
User exitsOldImplement inside empty subroutines SAP provides
Customer exitsOldActivated in CMOD, per function group
Classic BAdIsMiddleObject oriented; multiple implementations possible
Enhancement frameworkCurrentHooks inserted at arbitrary points in source
New BAdIsCurrentIntegrated into enhancement spots

How the language has changed

  • Procedural ABAP: the classic style of reports and subroutines
  • ABAP Objects (from 1999): classes and interfaces
  • ABAP 7.4 onwards: inline declarations, constructor expressions, table expressions
  • ABAP Cloud: a restricted model using only released public APIs

๐Ÿ“– Unfamiliar term? Look it up in the SAP glossary.

Check your understanding

Test what you just read.

Quiz 1

ABAP is a proprietary programming language developed by SAP, and most of SAP ERP is built in ABAP.

Quiz 2

What does ABAP stand for?

Quiz 3

ABAP source code is stored as files on the file system.

Quiz 4

Which programming language is ABAP's syntax most similar to?

Quiz 5

Which ABAP program type is used for retrieving data via a selection screen and displaying it as a list?

Quiz 6

ABAP programs are executed directly on the client PC.