You are on page 1of 31

SAP TRANING HUB

BAPIs are standardized programming interfaces (methods) enabling external applications to access business processes and data in the R/3 System.They provide stable and standardized methods to achieve seamless integration between the R/3 System and external applications, legacy systems and add-ons. BAPIs are defined in the BOR(Business object repository) as methods of SAP business object types that carry out specific business functions.They are implemented as RFC-enabled functionmodules and are created in the Function Builder of the ABAP Workbench. Some BAPIs and methods provide basic functions and can be used for most SAP Business Objects.These are called STANDARDIZED BAPIs. List of Standardized BAPIs:

BAPIs for Reading Data GetList() , GetDetail() , GetStatus() , ExistenceCheck() BAPIs for Creating or Changing Data- Create() ,Change(),Delete() and Undelete() , BAPIs for Mass Processing -ChangeMultiple(), CreateMultiple(), DeleteMultiple().

How to create a BAPI


Step 1.Go to transaction sw01 (Tools->Business Framework -> BAPI Development ->Business Object builder ) .Select the business object, according to the functional requirement for which the BAPI is being created.

Step2.Open the business object in change mode. Then Select Utilities ->API Methods ->Add method.Then enter the name of the function module and select Continue.

Step 3.In the next dialog box, following information needs to be specified : Method : Suggest an appropriate name for the method, Texts : Enter description for the BAPI, Radio buttons : Dialog, Synchronous, Instance-independent . BAPI s are usually implemented synchronously.

Step4.To create the method select Yes in the next dialog box.

Step5.After the program has been generated and executed, check the program in the method just created.Thus , a BAPI is created.

Testing the BAPI


You can test the BAPI by testing the individual method of the Business Object in the Business Object Builder. ( or one can use the transaction SWUD to test the method ) .

Releasing and freezing the BAPI


To release the BAPI , first release the function module ( using transaction se37 ) . Set the status of the method to released in the Business Object Builder ( using transaction SWo1 Edit-> change status-> released. )

You can also use the BAPI Explorer (Transaction code BAPI) for 360 view on BAPI

SAP TECHNICAL

Custom BAPI creation - Step-by-step Procedure


By Raghava Vakada, Mouri Tech Solutions Scenario: Step-by-step creation of a BAPI to retrieve fields from table T001. Procedure: Go to transaction SE11 and create a structure as shown or as per your requirement.

Give the name in the Data type field and click create.

In the pop-up that comes up, select the radio button structure.

In the components tab of the structure, give the different fields and their corresponding field types and press enter to check the compatibility and corrective ness.

Do not forget to save it in a package. You can even save it as a local object. For my example, I save it in a package.

Check the structure (ctrl + F2) and activate (ctrl + F3) the structure. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Now we are done with the creation of a Structure. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Go to transaction SE37 where you create function modules. Click on create after you enter the name of the Function module.

A screen as shown above would pop-up where you mention the function group to save the function module and also provide some short text describing your function module.

In the next pop-up that follows, click on continue as shown above.

The function module screen would look like the one above.

Go to the Attributes tab and select the radio button reading remote-enabled module. Come back to the imports tab and provide the import parameters as shown or as per your requirement.

Now in the Export tab, provide the export parameters as shown or as per your requirement.

In the tables tab, provide the information as shown or as per your requirement. ---BAPIRET2

The next screen you visit is the source code. It would look like this.

In the source code tab, write the following code in order to pick the data based on the input you provide.

Now, save and check the code and activate the function module. Continued.... After successful activation, Go to the attributes tab. Go to Function moduleReleaseRelease.

+++++++++++++++++++++++++++++++++++++++++++++++ Now we are done with the creation of a Function Module. +++++++++++++++++++++++++++++++++++++++++++++++ Go to transaction SWO1 and enter the name of the BAPI you would like to create or as shown in the screen and click the create button.

Give the name of the BAPI as above and click on create.

Give the above-mentioned details and click on the continue icon.

Save in a package. The resulting screen is as follows.

Now click on the methods to drop down and see what methods are provided by default. There would be two methods, showing in red color which come by default while creating the BAPI.

Click or select the method as shown above and go to the path UtilitiesAPI methodsAdd methods.

On the screen that follows, provide the function module name and click on the continue icon.

In the ultimate pop-up, click the next step icon. We observe that the information is predefined in the fields. This is the next screen where you would just click on the next icon.

Click on Yes. You can see an information message reading ZBAPIFMT001 inserted. Continued....

Now save after you add the method. Select & Double click on the API method. OR Go to Tab: ABAP Check 'API Function'.

The above screen is displayed. Go to the ABAP tab as shown below.

Select the Radio button reading API Function as already said above.

click on the continue icon to proceed further. Now select the Object ZBAPI_T001 as shown below.

Go to : EditChange Release StatusObject type To Modeled.

The above shown screen will be displayed. Click on yes. The message shows, The object type status set to modeled. (or already modeled) Go to : EditChange Release StatusObject type To Implemented.

You can see a message reading Object type status set to implemented Now, go to: EditChange Release StatusObjectTo Released.

There would be two pop ups coming up. Click continue on the Pop Ups. Keep the cursor on the 'Method'. Go to: EditChange Release StatusObject type componentTO Modeled.

You can see the message reading status for method zbapifmt001 set to modeled. Now, go to: EditChange Release StatusObject type component TO Implemented

You can see the message reading status for method zbapifmt001 set to implemented. Now go to: EditChange Releasse Status Object type component To Released

You can see the message reading status for method zbapifmt001 set to Released. Click on Generate Button. (the red ball kind of button is the Generate button)

After clicking on the generate button, you can see the message reading Object type 'ZBAPI_T001' generated successfully. Continued.... Now go to BAPI Tcode (BOR) there we can find the BAPI (our BAPI) The BAPI browser would look like the screen below.

You can click on the Alphabetical tab so that you can browse the BAPIs in an alphabetical order. Find your BAPI as shown.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Now we are done with the creation of a BAPI.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Test Your BAPI.

Enter the name of your BAPI in the transaction SWO1 and click on Test.

The above screen is displayed. Click on the Execute icon against the BAPI as shown.

The above screen is displayed where you would require entering the data against the empty input fields. Enter 0008 in place of 0010 in input.

We have entered some data in the Field. After entering the data, click on the execute icon as shown below.

The following screen is displayed which has some values as is indicated by the ITEMTAB.

Click on the Edit table icon as shown below.

The results as per our input are as shown below.

By this, we would get it confirmed that our BAPI is working properly. We can even check it by passing different values again. Come back to the input and execution screen.

After executing the BAPI based on the input provided, we get the following screen.

Hit on the execute icon.

In the above shown screen, hit on the edit table icon.

The above is the output we get from the input we provided. We are now done with the creation and successful execution of a BAPI.

You might also like