TechTalk Uncategorized

A Beginners Guide to ABAP

ABAP, a proprietary language developed by SAP, is a versatile language that accommodates the ever-changing business needs of customers. An introduction to ABAP can only begin with a hat-tip to SAP.


SAP?

SAP is a German multinational software company and is the largest producer of enterprise software for the management of business processes. Though it has various products, it is widely known for the ERP (Enterprise Resource Planning) software.

Let us understand what roles these application/software play across organizations.

An organization consists of various verticals such as HR, Finance, Manufacturing and more. All of which deals with operations of the organization. For example, let us talk about Manufacturing. This division holds the data for all the products that are manufactured and this information increases with the addition of every new product. Maintaining data for all this information is a huge task. One cannot simply maintain such a huge amount of data in a spreadsheet. Even if they manage to do so, issues of constant orchestration of information across the organization may pop up. This information may be needed by the Supply Chain Management division for planning out the distribution plan or Procurement and Sourcing division in case there is a depletion in raw material stock.

For an organization, Data is blood and you have to keep it flowing.

-Anonymous

A department cannot afford to wait for another department to provide information after requesting it. Maintaining a copy of the same information is also not a viable option as redundancy comes with its own cost and complication. The cost here is time, whether it’s the time taken to get the information from another department or time taken to maintain and constantly update the copy of the information and time is equivalent to money. Now, this is where ERP comes into the picture. ERP, simply put, keeps a central repository for all the information while allowing different departments in an organization to seamlessly interact. There is more to it but let’s keep it simple for now.

A staggering 77% of the world’s transaction revenue touches an SAP system. This provides a sense of how ubiquitous SAP is in the world of Enterprise Tech and, that is just one of its solutions. It provides many other solutions ranging from Machine Learning to the Internet of Things (IoT) to ease work across organizations.


A brief analysis of time

In 1972, five former IBM employees founded a company, and they called it SAP System analyse und Programment wicklung („System Analysis and Program Development“). The vision was to develop standard application software for real-time data processing and remove the complexity of overnight batch processing.

Programming Language History

Around 1980, the idea to develop ABAP, as a language for reporting, was conceived. Two years later in 1983, ABAP was released and was called Allgemeiner Berichts-Aufbereitungs-Prozessor, German for „generic report preparation processor“. Later in the time, it was renamed to Advanced Business Application Programming.

It was used by the developers to develop the SAP R/3. It was also intended to be used by the customers of SAP to enhance SAP Application, allowing them to develop custom reports and interfaces. Initially, it was developed as a procedural language and various enhancements were made throughout the years to increase the flexibility of what a developer can do.

Different ABAP Programming Model
Source [https://learning.sap-press.com]

In the mid-2010s, SAP bought in many changes with the release of ABAP 7.5. Features such as extended syntax check for Open SQL, ABAP Managed Database Procedures, and Core Data Services (CDS) Views. It allowed developers to write much shorter and cleaner code.

ABAP Restful Programming Model was introduced that allows efficient development of UI Services or WebAPIs. This clearly signifies that ABAP is here for the long-term as SAP is upgrading and evolving ABAP as per the future requirements.


Importance of ABAP

With the release R/3, it became evident that ABAP is not just a language for reporting as it played a major role in its development. In fact, it is the foundational pillar of many flagship products of SAP, like ‘SAP S/4 HANA’.

SAP offers a lot of applications that customers can use out of the box. But this is often not the case as each customer scenario is unique – thus, necessitating custom solutions. And how are these custom solutions built? ABAP.


Basics of ABAP

The architecture of the ABAP AS (Application Server) consists of the Presentation layer, Application Layer, and Database Layer. The division is purely logical, and all the layers can be accommodated into one system.

Source [https://www.beginners-sap.com]

The Presentation layer deals with the presentation of the information to the user as well as with user entries such as mouse click, keyboard input. It sends this information to the Application layer for further processing.

The Application layer is where all the development and the processing of a program happens, i.e. ABAP programs run at this layer. It consists of components which help in the communication, processing, and execution of a program.

The Database layer is where all the information resides, such as administrative data, user-defined information, and much more. Even the program developed by the user is stored in the database and not as a separate file like in C, C++.

Development process

In ABAP, the development process is quite different from other programming languages. Whenever a user creates a program and then saves it, it gets saved into the database and the user can retrieve the same using the name of the program. When the user is working on a program in the ABAP editor, a lock is put in place and an inactive version of the program is generated. This version is visible to other users also who are accessing the same program. It implies that changes were made to the program, but it is not yet ready for use, at this point other users can still execute the last active version of the program. This ensures that all the users are accessing the same information. When a user saves and activates a program, then an active version is generated which can be used by other programs as well.


Getting started with ABAP

Now that we’ve got a basic understanding of SAP and ABAP, let’s get hands-on with it. ABAP is a proprietary language that runs within the auspices of SAP. Getting access to an SAP system is the first step.

And for us, the aim is to get developer access to an SAP system that provides access to tools like ABAP Editor where all the coding is done. And not just that, it provides access to some other tools as well such as class builder, function builder, and many more, allowing developers to write much cleaner and better code.

But the question is that, how will you get access to such a system? Normally, it comes with an SAP partnership. The whole process of becoming an SAP Partner to gain access to such a system is cumbersome and is usually only done when some business entity is involved due to costs incurred. In our case, it’s only for learning.

Another approach is to join some external training institute, wherein you would get access to the system plus training at a cost much lower than owning the system itself.

The latter approach seems fine. But is it viable for someone who just read this blog and wants to explore more? No, right?

What do we do now?

Here comes the rescuer, SAP Cloud Platform ABAP Environment. Since 2019, SAP Cloud Platform ABAP Environment is available on trial. Let see what all we need to know.

Prerequisite:

  • SAP Cloud Platform Trial Account
  • This is where the ABAP Environment on cloud is, including lots of other PaaS services. Though the Environment is different from the traditional On-Premise ABAP Environment in terms of interface and some functionality, the core is the same. Get a Free Trial Account on SAP Cloud Platform tutorial for more info.
  • ABAP Development Tool (ADT)
  • The ABAP Development Tool, together with the standard Eclipse-based Environment allows developers to perform development tasks. Download from here.

Things to remember:

  • The trial offer is for education purposes only!
  • The most important thing to remember is that the offering is a shared one. And all the users will be sharing the same instance of the backend system. Basically, it means that any program (not using ABAP jargon here) you develop will be accessible by other users and they will be able to change it. So, you should not be exposing any critical piece of information while using it.
  • As each trial offering has a lifetime, the same goes for this. By default, the trial is offered for 30 days of utilization. But this can be increased up to a maximum of 90 days by extending the trial two times.

Now you know a bit about SAP, ABAP, and their importance. So, who is stopping you from exploring more? Nobody right 🙂

Conclusion

SAP and, by extension ABAP are critical for enterprises. This translates to lucrative consulting opportunities for those who know the language well. Furthermore, with SAP Cloud Platform, SAP offers learning opportunities like never before. So, go on – Start learning. Happy learning!

References:

Happy Learning and sharing.