Search code examples
abapbapi

Where to find novice BAPI coding guides?


I've been working with applications interfacing with SAP via a web service for a little while now and I want to get into programming the BAPI's behind the web services as well. My company has been using a SAP consultant for the BAPI programming and I'd like to move into filling that role also.

I have a decent amount of experience with the core functionalities of SAP as an end user, so I'm not completely new there. But I've never done any BAPI programming before and I've had a hard time finding good beginner guides. I'd like to find something for experienced programmers that takes you from the SAP equivalent of "hello world" to writing business critical BAPIs.

I've heard that BAPI coding is similar to coding in SQL, is that true?

Also, I'd like to find a free online guide, but I realize that might be wishful thinking so any comprehensive books would also be helpful.


Solution

  • I'm not sure about online resources, but there are a couple of quite good books to learn ABAP programming, you'd be looking for ABAP basics and/or ABAP objects (the latter one sounds better and more "advanced" but is typically just a more modern version of the language). One suggestion I've used in the past that is going quite a long way is this book. As these are "Enterprise books", be prepared to spend a bit more money than for a paperback book.

    Topics that should be covered:

    • Data dictionary (SAPs term for definining tables, structures etc.)
    • Report programming
    • GUI programming (not really required)
    • functions (not sure about the English translation for "Funktionsbaustein", it is a function with parameters etc,. but defined in the data dictionary)
    • transactions

    This would be some basics you should know before advancing to understanding BAPIs ..

    BAPIs are just SAP provided functions (coded in ABAP and extensible) that are more "stable" between releases (i.e. they do not change all that much) and that can be called from within a SAP system or from "the outside" (either another SAP system or a non-SAP program).

    SAP provides a lot of BAPIs (you can add your own if you want) that allow programs to do a lot / more of the stuff that users can do through the SAPGUI. Even though SAP's preferences are changing "daily", it is the preferred way of programming the SAP system on a higher level than just ABAP, comparable to plain Java vs. programming with an elaborate class library.

    A lot of ABAP programming is like working in a 4GL (that's why it used to be called ABAP/4), lots of handling data you are reading/writing to a database, but also outputting that data to a user and handling user input. I'd describe it as a weird mixture between COBOL and VB ,,, and certainly a good skill to have.