Where to find BAPI's and getting them implemented. BAPI commonalities: a good place to start understanding BAPI's Here's a topic list on BAPI's:
Transaction BAPI
, the BAPI Explorer, holds the overview of available BAPI's. There are loads and loads of them, feel free to snif through.
Naming conventions on the function modules that represent BAPI's start with: BAPI_*
(to nobodies surprise), so transaction SE37
can also be used to find your BAPI's.
BAPI - Programming interface the parameters that are passed on to and back from BAPI modules will almost always contain:
- key fieldsof the document you want to change (create)
- (table-) parametersthat reflect all fields relevant to the document you want to change (create)
- for all the (table) parameter fields there should also be a 1-character-flag-per-fieldindicating whether the respective field should be set (or indeed: cleared). Note that a BAPI needs this information to distinguish between resetting a field value and ignoring a field value.
- a
BAPIRETURN
table, holding the (error) messages encountered. Note that the list of Exceptions would simply be too long and cumbersome to implement, hence most BAPI's don't have any function moduleEXCEPTIONS
at all! - A test flagwell, most of them have a test flag
- Extension handlingthis tackles another problem, what if the SAP document has been extended, fields have been added. SAP could not know about this when the BAPI was build, so setting these fields via the BAPI requires some special attention. Described elsewhere on this issue.
- Last but not least Function module documentation can (almost) always be found on BAPI's.
BAPI's for other stuffA BAPI can also be about executing a release (release strategy), a cancellation (deleting a document) or gathering data rather than changing it.
Calling BAPI's remotely (RFC) is another strong point from (most) BAPI's, have an external system call the BAPI_PO_CREATE
BAPI to create a PO in your system (making your vendor a rich partner).