Monday, July 11, 2011

Understanding BAPI: The most powerful tool in the SAP consultant's kit

SAP R/3 is typical of enterprise platforms in that it forces its users to reconceptualize the way information is used in a company. Integration and data transport become the keywords, and data ceases to be treasure in the vault—it becomes a living thing, flowing through the company like water.

Think of the pre-ERP universe as a series of small lakes, some connected, some not. Each lake (company) is filled with data. Occasionally, boats venture from the shore to the middle of the lake for some data. Occasionally, one of these boats transfers data from one lake to another.

With the advent of ERP, a canal system—SAP R/3—is installed. A vast network of bidirectional waterways takes the place of the lakes. Small, powerful ships and barges populate these waterways, keeping data in constant motion.

For the SAP consultant, IDocs are the barges. And Business Application Programming Interfaces—BAPIs—are the small, powerful ships that keep these barges of data moving.


First in a series
This is the first installment in a series that examines the significance of Business Application Programming Interfaces, how to use them, and their role in designing applications.


Building canals for the client
An understanding of how SAP changes the structure of a business is the first conceptual step in becoming an effective SAP consultant. A solid knowledge of SAP’s data-handling mechanisms, of which BAPI is the most central, is the first practical step.

BAPI is the most powerful tool in the SAP consultant’s toolkit. Think of a BAPI as a business object—say, a master record, such as a client profile, or a transactional record, such as an invoice. It’s easy to confuse a BAPI with an IDoc (another central SAP data transport feature). The difference is that IDocs are about moving data between systems or modules; BAPIs are about calling data in and out of SAP in the first place.

Their place in SAP and your toolbox
SAP R/3 arrives with a bundle of BAPIs ready for your immediate use. There are several hundred of them, in categories such as accounting, human resources, and logistics. They perform a vast array of functions, from creating jobs in SAP to launching IDocs, from posting sales orders to changing passwords, from listing employee benefits to tracking a shipment. They can be used out of the box or modified to create new business objects specific to your client’s needs.

BAPI is one of a set of tools at your disposal for interfacing with an SAP R/3 system. It’s important to understand its role among them, and to have an idea of what each does in relation to the other.

SAP Assistant
This stand-alone program is, in essence, the toolbox you carry with you as a hands-on SAP consultant. Its contents give you access to SAP R/3’s objects. All the information you need for setting up remote function calls from outside SAP is found here. Most importantly, SAP Assistant holds your set of keys to SAP’s business objects, allowing you access to what’s there, and enabling you to create what you need (see Figure A).

Figure A
Where BAPI fits in among SAP automation components


Remote Function Calls
BAPI is ultimately a mechanism for getting data out of SAP R/3. If a BAPI is a ship pushing a barge (data), the engine of that ship is a Remote Function Call (RFC). An RFC is a function module in a system that is called from some other system. This, of course, covers a great deal of ground. The two systems can both be SAP, or they can be different platforms, or an RFC may be used on the spot in real time by any party making an inquiry of an SAP system from the outside (including you, sitting at your laptop).

How do RFCs relate to BAPIs? An RFC is the means by which the business object represented by a BAPI is implemented. A BAPI is a business object; an RFC is functional code.

The Business Object Repository
A great deal goes on in the Business Object Repository (BOR), and you must know it well. It’s not overstating the case to say that the BOR is the core of SAP. If an SAP R/3 system can be described as the animation of otherwise lifeless data, the BOR describes the living cells of this new body. Cells come in many different types, and that’s what the BOR holds: all the different types of data comprising an SAP system of databases.

The BOR’s contents essentially define the implementing company’s business model. The information it holds includes the definitions of all business objects internal to the company, as well as the defining information of all interfaces to other companies.

Another new language
BAPI is, like many aspects of SAP R/3, another new lexicon of concepts, terms, and tools a consultant must absorb to be effective. However, it will rapidly be clear to even a less experienced consultant that these concepts are firmly rooted in the object-oriented methodology that is now every IT professional’s stock-in-trade.

It is critical that you, as an SAP consultant, understand the dynamic nature of data handling in an SAP environment, the manner in which this mutates business processes, and most importantly, the way in which BAPI and related tools interface with this new, living database. Once you understand these concepts, the hands-on skills to create applications become simple.

No comments: