How I learned to speak SAP
Since February, when I started researching and writing two books* about the ideas behind SAP technology, I have been slowly learning my way around SAP terminology. I wanted to share what I learned to help bring others up to speed with less confusion than I encountered on my journey.
The Meaning of Technology
The first big difference in the world of SAP is the use of the world technology. When an SAP employee speaks about technology in the context of SAP products they are referring to the platform on which an application is constructed. The distinction being drawn is between the code that specifies what an application does and the platform on which that code executes.
To ABAP or not to ABAP?
SAP applications have a clearly defined structure that has been the foundation of the company’s success. For most of its history, SAP applications have been written in a fourth generation language called ABAP. Long before the first Java virtual machine had been specified, SAP had a layer that encapsulates the operating system and database called BASIS. ABAP code executes on top of BASIS.
A parallel method of writing SAP applications is through using Java and the SAP Web Application Server (WAS). In this method, Java code is used instead of ABAP and the WAS plays the same role as BASIS except using Java and J2EE standards to encapsulate and abstract the operating system.
I do not RFC the difference
The next big thing I learned was the difference between BAPIs and RFCs. There is none in technical terms. BAPIs and RFCs are the same thing at execution time. They both are remotely callable methods on ABAP objects inside the applications. Both are described in the Business Object Repository, a souped up object dictionary that is inside all of the SAP applications.
The crucial difference between BAPIs and RFCs is at design time. BAPIs are RFCs that SAP has declared will be stable from version to version. The other RFCs have no such guarantee.
BORing for knowledge
When you really get good at SAP technology you become self-sufficient. That means you can figure out how to do pretty much anything there is to do with SAP products. Advanced developers will also be able to code in ABAP to create new objects. The way that a self-sufficient programmer figures things out is by getting access to the Business Object Repository, and navigating it to see which objects, RFCs, and BAPIs might help solve a particular problem. The BOR brings together descriptions of the data, methods, and function calls.
SAP is not the initials of the founders. It is a German acronym for three words that mean the equivalent of Systems, Applications, and Products for Data Processing. SAP was formed when a team of 5 people left IBM in 1972 to found a company to create business application software.
Historically, the center of SAP’s product offering is R/3, which is a product that pre-dated the acronym Enterprise Resource Planning, but is thought of as the 800-pound gorilla of ERP products. What came before R/3? R/2, of course, which was SAP’s first large scale success until R/3 appeared in the early 1990s.
At the center of R/3 is the financial control module, FI/CO for short. There are many other modules in R/3 including materials management (MM), sales and distribution (SD) and several others.
In the 1990s, SAP came out with the mySAP business suite, which added applications like mySAP CRM, mySAP SCM, mySAP PLM, mySAP SRM. R/3 became mySAP ERP. These applications started with R/3 components but quickly took on a life of their own and created significant new funcitonaltiy. mySAP CRM is a completely new product that has been redeveloped and no longer has any components from R/3. The other applications all have mostly new funtionality with some components inherited or integrated with R/3.
While all of this information is not news to many SAP developers, for those getting started, it will avoid a period of confusion.
* The two books are Packaged Composite Applications, published in June, which explores the ideas behind xApps and Enterprise Services Architecture, to be published in September, which explores the architectural foundations of SAP NetWeaver. O’Reilly & Associates is the publisher of both books.