ABAP is a programming language which is developed by SAP and it is used for developing all of its business modules, applications and functions of system’s management. ABAP’s (Advanced Business Application Programming) name was ABAP/4 before 1998. In the ABAP/4, 4 stand for 4th generation language. Because ABAP is incorporated with most of the object oriented language features, the 4 was stripped off from the ABAP/4 and it was now simply ABAP.
ABAP can be used to extend the SAP software’s functionality by developers for customer’s particular needs. There are many workbench tools available in the SAP software to create and maintain ABAP programs.
The ABAP object-oriented features started together with SAP’s strategic and technological move toward working with business objects and the introduction of Business Application Program Interfaces (BAPIs) within the Business Framework architecture. The business objects are included within the ABAP Workbench in the business object repository.
As an object-oriented language, the new ABAP, from release 4.x onward, incorporates technology principles such as inheritance, encapsulations, and polymorphism to provide the language with advantages such as lower maintenance costs and greater ease in reusing code.
Basic concepts and features of the ABAP object-oriented programming language are the same as those of other object-oriented languages. The most important are as follows:
- A business object, or simply an object, represents a type of entity—a customer, a business unit, an account, and so on—containing all its properties. Every object has an identity that allows it to be distinguished from other objects.
- Object classes, or simply classes, specify the structure of the objects belonging to a given class and the definition of the interfaces. Classes are useful for grouping objects with the same structure (attributes, methods, events). Generally, objects are defined using classes. The term instance is used for a specific object belonging to a class.
- The object’s attributes provide the object with its characteristics, describing the current object state.
- Methods are the actions that can be performed with the object, indicating the behaviour of the object.
- Events are used so that the object can inform or be informed of any event or state change on the system to enable the system to react to those events.
- Interfaces are another very important feature of objects. They define the method in which objects can be used independently of their internal implementation
Many of the fourth-generation language features are included in ABAP language because of it’s evolution from it. They are the following:
- It is based on structured programming methodologies, allowing modular programming and re-utilization of code.
- The ABAP language It resembles natural English language, making ABAP programs easy to read and understand.
- It’s an interpretative language, not compiled. This nature facilitates testing and running earlier versions of programs without the need for constant compilation.
- It can be used both from single report list programming (report programs) to complex transaction processing (dialog programs).
- It’s an event-driven language.
- It’s completely integrated with the rest of the workbench tools, such as the screen painter, the menu painter, the dictionary, and so on.
- It supports Multilanguage text elements. This means that you can create text elements in several languages without modifying the program source code.
- Similar to many programming languages, it includes elements for
- Variable and data type declarations
- Flow control elements
- Operational elements
- Event elements
- Functions and subroutines, which can be managed by a central library
- It contains a subset of standard SQL statements enabling transparent database table access independently of the underlying database system being used.
- It provides extensive functions for handling and operating with data types such as dates, strings, floating point numbers, and so on.