Whether you’re already an SAP consultant, a consultant considering SAP, or an IT pro working in an established SAP company, you'll eventually be faced with choosing SAP application languages. Java is a well-respected leader in SAP development, and its synchronous communications support makes it a serious contender for your application. Both Visual Basic and C++ are also frequently used to develop SAP applications.
But the smartest choice may well be SAP’s own language, ABAP/4. We’ll examine a few of the reasons why ABAP/4 is the best language for your app.
First in a series
This is the first installment in a series of articles exploring SAP’s ABAP/4 programming language.
The truth about SAP apps
SAP veterans know that SAP, as the granddaddy of ERP platforms, comes out of the box with myriad applications built in. Whatever your client company does or plans to do, the SAP salespeople have likely bundled in. As a result, you'll rarely be called on to develop a SAP app from the ground up. So what, then, will you be working on in the way of new SAP applications?
Since unique SAP applications are seldom required, you’ll find yourself writing custom programs that are almost invariably based on some application that’s already present in the system. This reality is a suitable cornerstone for your thinking about your SAP application work and how to best choose from among your programming options.
More about ABAP
ABAP stands for Advanced Business Application Programming. The “4” indicates that ABAP is a fourth-generation language, a superfluous designation, given the prevalence of 4GLs these days. But ABAP/4 boasts a combination of features that give it power and flexibility that will surprise programmers accustomed to the most powerful 4GLs. Although other languages may offer similar capabilities, ABAP/4 is designed specifically for SAP functionality—making it a more efficient tool for SAP development in many cases. Here are some of the more noteworthy ABAP/4 features.
ABAP/4 is event-driven
The language is structured to accommodate applications that don’t simply start and stop or respond to user dialog; ABAP/4 apps are executed by user interaction and by events occurring elsewhere in the system, and they're set up to initiate other downline events and applications in response to user decisions. Whereas other languages require complex programming to achieve this sort of event-oriented execution, ABAP/4 is loaded with conveniences to enable it.
ABAP/4 is designed to enable distributed applications
SAP systems are, by definition, distributed systems, unifying diverse databases within a company and beyond, integrating applications in your client’s company, and creating distributed systems between your client and your client’s partner companies. This distribution is enabled by Remote Function Calls (RFCs), function modules that can be called on between systems. RFCs can enable applications between SAP systems or between an SAP system and a non-SAP system. They enable SAP-external applications, establishing a path for extraction of SAP data to non-SAP apps. By making good use of RFCs, you can give your ABAP/4 app tremendous flexibility, whatever its purpose.
ABAP/4 facilitates logical databases
In most SAP data-retrieval applications—from report generation to user dialog to downline data flow—you work with business objects that are essentially data records of mixed type. If you look at your entire application, you are often working not with a single database but with an aggregation of databases. SAP allows easy definition and manipulation of logical databases, providing a convenient way to create data structures that can accommodate these complex requirements..
You can simplify database access considerably by using ABAP/4 to create application-internal tables mapped from more static SAP database tables, in essence creating easily manipulated virtual objects that do the work of pulling out data from many locations in SAP. Moreover, you can store your logical database configurations in a repository for later use in other applications.
ABAP/4 comes with all the extras
Like most popular 4GLs, ABAP/4 comes packed in a filled-with-frills workbench. The ABAP/4 development environment offers a data modeler and a repository for data models, data and table structures, functions that are reused, and user interface screens. ABAP/4 apps have cross-platform portability. And to accommodate SAP’s large international installation base, ABAP/4 supports language-dependent text, allowing you to create programs that will display in the user’s language.
As a consultant in a complex marketplace, you know better than to believe in any one-size-fits-all solution. The fact is, you can find many of these features in the other language options for SAP applications, and in useful combinations. But ABAP/4 is ready-made for many, and probably most, of the apps you might be called upon to create for your SAP client. As always, it’s in your best interest to take a close look before digging in. In future articles, we'll share some tricks and shortcuts of SAP application development and demonstrate the use of ABAP/4.
Scott Robinson is a 20-year IT veteran with extensive experience in business intelligence and systems integration. An enterprise architect with a background in social psychology, he frequently consults and lectures on analytics, business intelligence and social informatics, primarily in the health care and HR industries.