ABAP is an acronym for Advanced Business Application Programming, originally known in German as Allgemeiner Berichts Aufbereitungs Prozessor, or "general report creation processor." Similar in syntax to Common Business Oriented Language (COBOL), it is a computer programming language developed by the German company Systeme, Anwendungen und Produkte in der Datenverarbeitung (SAP®) for large scale business applications. As a programming language, ABAP is one of several fourth generation languages, or 4GLs, that appeared in the 1980s. A forerunner in the field, SAP®'s development of the language provided the first application of the logical database concept for programming.
In its original incarnation, ABAP was provided to SAP® customers to allow each customers' information technology (IT) department the ability to use the language for building customized reports and other tools. Each customer could develop the company's own interfaces for various SAP® applications. As the computerized and eventually global online business environment progressed through the mid to late 1990s, more SAP® applications and programs utilized the ABAP language. Today, SAP® application servers use ABAP exclusively.
Other programming languages similar to ABAP include COBOL, Java™, and some C++ programs. Unlike other programming languages, Advanced Business Application Programming language retains all information, including program files, within the SAP® database. Coding appears in two forms, generated and source code, with generated source bearing some resemblance to Java™'s bytecode. The primary difference between Advanced Business Application Programming language and other languages rests in how databases within the programming interface. ABAP databases handle all communication between databases and applications automatically, while simultaneously storing frequently used data for quick retrieval from local memory.
Executable programs written in ABAP are either report or module based. Report-based programs return various lists or data sets based on parameters set by the user. Module based programs rely on what is seen by the user on the computer monitor. Non-executable programs written in Advanced Business Application Programming language have several types, but all are library codes. In other words, non-executable programs are pieces of code that perform certain functions, with each code available for use by other programs, but incapable of executing independently.
Understanding different programming languages requires extensive knowledge of programming, however, a simple example illustrates the same principles. Most consumers are aware of operating systems used on personal computers. Programming languages such as ABAP and Java™ work much the same as programming languages used to build programs and applications for various personal computer operating systems. ABAP simply works on SAP® application servers, a server operating system known as SAP® Basis, intended for large-scale business programs and applications spread across numerous servers. Operating systems such as Windows® for PCs and Snow Leopard for Macs provide the same basic structure on a single machine that SAP® Basis provides for systems with multiple machines and servers.