ABAP Open Source
ABAP is one of the many application-specific fourth-generation languages (4GLs) first developed in the 1980s. It was originally the report language for SAP R/2, a platform that enabled large corporations to build mainframe business applications for materials management and ABAP Open Source Tools provided by the SAP Community, financial and management accounting. ABAP establish integration between independent software.
ABAP used to be an abbreviation of Allgemeiner Berichts-Aufbereitungs-Prozessor, German for “generic report preparation processor”, but was later renamed to the English Advanced Business Application Programming.
ABAP was one of the first languages to include the concept of Logical Databases (LBDs), which provides a high level of abstraction from the basic database level(s), which supports every platform, language and units.
The ABAP language was originally used by developers to develop the SAP R/3 platform. It was also intended to be used by SAP customers to enhance SAP applications – customers can develop custom reports and interfaces with ABAP programming. The language was geared towards more technical customers with programming experience.
ABAP remains as the language for creating programs for the client-server R/3 system, which SAP first released in 1992. As computer hardware evolved through the 1990s, more and more of SAP’s applications and systems were written in ABAP. By 2001, all but the most basic functions were written in ABAP. In 1999, SAP released an object-oriented extension to ABAP called ABAP Objects, along with R/3 release 4.6.
SAP’s current development platform NetWeaver supports both ABAP and Java.
SAP systems and landscapes
All SAP data exists and all SAP software runs in the context of an SAP system. A system consists of a central relational database and one or more application (“instances”) accessing the data and programs in this database. An SAP system contains at least one instance but may contain more, mostly for reasons of sizing and performance. In a system with multiple instances, load balancing mechanisms ensure that the load is spread evenly over the available application servers.
ABAP programs are created and undergo first testing in the development system. Afterwards, they are distributed to the other systems in the landscape.
These actions take place under the control of the Change and Transport System (CTS), which is responsible for concurrency control (e.g., preventing two developers from changing the same code at the same time), version management, and deployment of programs on the QA and production systems.
The Web Application Server consists of three layers: the database layer; the application layer; and the presentation layer.
These layers may run on the same or on different physical machines. The database layer contains the relational database and database software. The application layer knowledge contains the instance or instances of the system. All application processes, including the business transactions and the ABAP development, run on the application layer. The presentation layer handles the interaction with users of the system. Online access to ABAP application servers can go via a proprietary graphical interface, which is called “SAP GUI”, or via a Web browser.
Software layers
ABAP software is deployed in software components. Examples for these are:
- SAP_BASIS is the required technical base layer which is required in every ABAP system.
- SAP_ABA contains functionalities which are required for all kinds of business applications, like a business partner and address management.
- SAP_UI provides the functionality to create SAP UI5 applications.
- BBPCRM is an example for a business application, in this case, the CRM application
- SAP ABAP is an ERP programming language…
Transactions
A transaction in SAP terminology is the execution of a program. The normal way of executing ABAP code in the SAP system is by entering a transaction code (for instance, VA01 is the transaction code for “Create Sales Order”). Transactions can be called via system-defined or user-specific, role-based menus. They can also be started by entering the transaction code directly into a command field, which is present in every SAP screen. Transactions can also be invoked programmatically by means of the ABAP statements CALL TRANSACTION and LEAVE TO
Types of ABAP programs
As in other programming languages, an ABAP program is either an executable unit or a library, which provides reusable code to other programs and is not independently executable.
ABAP distinguishes two types of executable programs:
- Reports
- Module pools
Reports follow a relatively simple programming model whereby a user optionally enters a set of parameters (e.g., a selection over a subSET of data) and the program then uses the input parameters to produce a report in the form of an interactive list. The term “report” can be somewhat misleading in that reports can also be designed to modify data; the reason why these programs are called reports is the “list-oriented” nature of the output they produce.
The non-executable program types are:
- INCLUDE modules
- Subroutine pools
- Function groups
- Object classes
- Interfaces
- Type pools
ABAP programs are composed of individual sentences (statements). The first word in a statement is called an ABAP keyword. Each statement ends with a period. Words must always be separated by at least one space. Statements can be indented as you wish. With keywords, additions and operands, the ABAP runtime system does not differentiate between upper and lowercase.
Statements can extend beyond one line. You can have several statements in a single line (though this is not recommended). Lines that begin with asterisk * in the first column are recognized as comment lines by the ABAP runtime system and are ignored. Double quotations marks (“) indicate that the remainder of a line is a comment.
Development environment
There are two possible ways to develop in ABAP. The availability depends on the release of the ABAP system.
ABAP Workbench
The ABAP Workbench is part of the ABAP system and is accessed via SAP GUI. It contains different tools for editing programs. The most important of these are (transaction codes are shown in parentheses):
- 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
ABAP Development Tools
The ABAP Development Tools (ADT), formally known as “ABAP in Eclipse”, is a set of plugins for the Eclipse platform to develop ABAP.
In this scenario, the ABAP developer installs the required tools on his computer and works locally, whereas a continuous synchronization with the backend is performed.
ABAP Dictionary
The ABAP Dictionary contains all metadata about the data in the SAP system. It is closely linked with the ABAP Workbench in that any reference to data (e.g., a table, a view, or a data type) will be obtained from the dictionary. Developers use the ABAP Dictionary transactions (directly or through the SE80 Object Navigator inside the ABAP Workbench) to display and maintain this metadata.
When a dictionary object is changed, a program that references the changed object will automatically reference the new version the next time the program runs. Because ABAP is interpreted, it is not necessary to recompile programs that reference changed dictionary objects.
Run better together with SAP and ABAP Open Source
Openness
We believe in Open Source, Open Standards, and Open APIs. Our solutions provide more choices and flexibility by using such open technologies.
Co-innovation
No single company can keep pace with the power and speed of communities that openly co-innovate. We believe that sharing creates value.
Trust
Open Source software requires qualities such as security, data protection, and accessibility to be able to be used in enterprise scenarios.
SAP Open Source Projects
SAP is an active contributor, user, and creator of open-source software. Here are some of our most prominent projects and contributions.
They are all different but if they are helpful for you or not, depends on your projects and your work environment. In any case, the best strategy to select the best of them is to explore and try them out …
ABAP in Eclipse Plugins:
These projects add features to an existing ABAP in Eclipse installation. The complete list of existing plugins can be found at ABAP in Eclipse Add Ons
dotabap.org:
On dotabap.org all known OpenSource Projects that consist of ABAP code and are listed on Github are collected. These projects are abap2xlsx, abapOpenChecks, ABAP Logger, and many more.
Visual Studio Code: Beside ABAP in Eclipse, SE80 already Visual Studio Code can be used to develop ABAP, a list with the extensions which makes this possible is listed here: ABAP extensions for Visual Studio.
Interested in this Courses in Pune? Fill Your Details Here
Error: Contact form not found.
Find Your Preferred Courses