BAPI - Choosing The Right Strategy

Updated: May 31


Business Application Programming Interface

(BAPI)


SAP BAPI (Business Application Programming Interface) is a standard interface to the business object models in SAP products.


BAPIs are the primary method through which customer code and third-party applications interact with SAP products. BAPIs wrap the internal layers of SAP's business object model to ensure that all business logic, validations and authorisation checks are executed properly when accessing or changing business objects.


BAPIs are implemented as function modules that call SAP internal code. Depending on which set of BAPIs is being used, they may call business object models defined using the Business Objects Processing Framework (BOPF) or legacy models defined using programs, tables and function modules.


Types of BAPIs —

  1. Standard BAPI — BAPI created by SAP labs.

List of BAPIs in SAP ABAP — https://wiki.scn.sap.com/wiki/display/ABAP/List+of+BAPI%27s


2. Custom BAPI — BAPI created by users


Uploading data to standard table using standard BAPI (BAPI_BANK_CREATE) .


Coding Screen —



Key points in BAPI programs —



We got these two fields from the function that we called i.e “BAPI_BANK_CREATE”.


Steps to know particular data type for variables —


Step 1 - On “SE37” screen type the desired function module and click on display


Step 2 - Click on import button and you will see the importing parameters. Search for the desired data type or structure. In this case Bank_Address is the required field.


Step 3 - Double click on the Bank_Address and you will see the components in this structure. A variable of this structure type will contain all the components of the structure.


Step 4 - Now go back and click on export button and get the return data type.



Output —




Remote Function Call (RFC)


Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.

There is now a whole series of different RFC variants, each of which has different properties and is used for a specific purpose.


Custom BAPI

Step 1 - Create import and export structure using tcode “SE11”.

Step 2 - Create Function Module using import and export structure using tcode “SE37”.


Step 3 - After creation of Function Module convert it into RFC and release that RFC.

Step 4 - Create business object using tcode “SWO1”.


Step 5 - After BAPI creation we have to add RFC Function module into business object.


Step 6 - At last release business object components and component types and then finally release Business Object.


Step 1 - Create import and export structure using tcode “SE11”.

Import structure —



Enter required fields.



Save the structure in package.


Do same for Exporting structure —



Step 2 - Create Function Module using import and export structure using tcode “SE37”.






Step 3 - After creation of Function Module convert it into RFC and release that RFC.

To convert FM into RFC click on attribute button and select Remote Enabled Module radio button



Enter a return type variable as BAPI has a return type



Source Code —



To release click on SE37 screen type the name of the FM you want to release and then click on “Function Module” option in the top menu.



After that click on release and release.



Step 4 - Create business object using tcode “SWO1”.


Write name of the business object and click on create.



Fill the fields and for application field BAPI is always Cross-application


After filling click on the green tick and save it in package.



Business Object is formed