Open In App

SAP ABAP | Object Orientation

Last Updated : 14 Dec, 2023
Like Article

The SAP ecosystem creates applications with the programming language SAP ABAP (Advanced Business Application Programming) t is created by SAP which is a domain-specific language, it is the 4th generation programming language. It is also called ABAP/4(Fourth Generation Language” or 4GL). mainly for enterprise resource planning (ERP) systems. The introduction of Object Orientation in ABAP increased the language’s capabilities and brought it in line with modern programming paradigms.

Object Orientation in SAP ABAP

Object-oriented programming aims to implement real-world entities like inheritance, polymorphism, etc. in programming. The main aim of OOP is to bind together the data and the functions that operate on them so that no other part of the code can access this data except that function.  Object Orientation was introduced to ABAP to improve its flexibility and versatility in complex business environments. It makes it possible for programmers to structure their code in a more modular and reusable manner.


Oops in SAP ABAP

Key Principles of SAP ABAP:

  • Objects: ABAP objects are instances of classes that include both data (attributes) and methods (functions or procedures). Objects represent real-world elements or concepts, making complex systems easier to describe and operate with.
  • Attributes: Attributes in ABAP refer to the data or variables associated with a class or object. These attributes define the state or properties of an object and are used to store and manage data within the context of an object-oriented program
  • Methods: Methods in ABAP are the functions or processes that are associated with a class. They define the actions or procedures that may be performed on objects of that class. Methods can be called to change the data of an object or to perform certain tasks.
  • Interfaces: The interface in SAP ABAP is different from the class, it can not have any implementation like the class. It defines a set of method declarations that a class must implement without providing any implementation detail of that method. Interface helps in achieving multiple inheritance. Multiple inheritance can be defined as a class can inherit multiple interfaces. Due to Inheritance interface provides a base for polymorphism because the method declared in the interface behaves differently in different classes. Like class Interface can be defined locally or globally in the ABAP programming language.

Pillars of SAP ABAP:

ABAP(Advanced Business Application Programming) is an object-oriented programming language that supports many oops concepts like other programming languages. It supports all the four pillars of oops i.e. Inheritance, Polymorphism, Abstraction, and Encapsulation.

  • Abstraction: – Abstraction in ABAP is the process of hiding irrelevant data and showing the essential data only.
  • Encapsulation: Encapsulation in ABAP is one of the fundamental principles of OOP. In SAP ABAP, it means that classes encapsulate their internal details, such as data and methods, The internal implementation is hidden.
  • Polymorphism: Polymorphism in ABAP enables the use of different implementations of methods with the same name. it allows us to write code that can work with objects of different classes in a uniform way.
  • Inheritance: Inheritance in ABAP allows you to create new classes based on existing classes, inheriting their attributes and methods. This leads to code reuse and establishes a hierarchical relationship between classes. It is often used to model “is-a” relationships.

Real Life Examples of OOPs in SAP ABAP:


  • Real-life example: – A car company shows the accelerator, clutch, and brake to the driver which is relevant, they do not show the mechanic of the brake which is non-essential for the driver.


  • Real-life example: – When a kid goes to school, they put books, pens, pencils, lunchbox, etc. in a single bag. So, here bag acts as an encapsulation.


  • Real-life example: – A student named Kanu acts as a student in school. When he goes home, he acts as a son. So here, the object is the same i.e. Kanu but his behavior changes according to the places.


  • Real-life example: – Let’s consider a father and a child. Father’s name is Shekhar and son’s name is Kanu. Shekhar has brown skin, black hair, and grey eyes. Kanu also has grey eyes. So here, Kanu inherited the property of grey eyes from his father. Kanu acts as a derived class and Shekhar acts as a base class.

Procedural Approach Vs Object-Oriented Approach in SAP ABAP:

Below are some of the differences between procedural and object-oriented programming in SAP ABAP: 


Procedural Approach

Object – Oriented Approach

1. Structure

In procedural programming in SAP ABAP, the code is organized around procedures and functions.

OOP in SAP ABAP is organized around classes and objects. Classes define both data (attributes) and behavior (methods), and objects are instances of classes.

2. Code Reusability

In procedural programming in SAP ABAP, codes are less reusable.

OOP allows for inheritance, where new classes can be derived from existing classes, inheriting their attributes and methods. This leads to code reuse and the creation of specialized classes.

3. Function Name

In procedural programming in SAP ABAP, we can not have more than one function with same name.

OOP Polymorphism allows different classes to have methods with the same name but different behaviors.

4. Maintenance

In procedural Programming Language in SAP ABAP, maintenance of codes can be more challenging.

OOP can make maintenance easier because classes are self-contained and changes to one class are less likely to affect other parts of the codebase. It leads to modular and reusable code.

5. Real World

Procedural programming in SAP ABAP is based on the unreal world.

Object-oriented approach is based on the real world.

Benefits of Object Oriented Approach:

  • Real-World Entity Modeling: Using object-oriented ABAP, developers may represent real-world things such as clients, commodities, and orders as objects. As a consequence, the code is more understandable and aligned with the business domain.
  • Encapsulation ensures that information stored within objects may only be accessed and altered through certain methods. As a consequence, there is less likelihood of unintentional data change and better data security.
  • Code reuse: By establishing classes and using inheritance, programmers may reuse code in several regions of an application. As a consequence, redundancy is reduced and the development process is made more efficient.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads