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.
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.
After successful activation, Go to the attributes tab. Go to Function module->Release->Release.
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 “Utilities->API methods->Add 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.
Now save after you add the method. Select & Double click on the API method.
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 : Edit -> Change Release Status->Object 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 : Edit->Change Release Status -> Object type -> To Implemented.
You can see a message reading “Object type status set to implemented”
Now, go to: Edit -> Change Release Status -> Object -> To Released.
There would be two pop ups coming up. Click continue on the Pop Ups.
Keep the cursor on the 'Method'.
Go to: Edit -> Change Release Status -> Object type component -> TO Modeled.
You can see the message reading “ status for method ‘zbapifmt001’ set to modeled”.
Now, go to: Edit -> Change Release Status -> Object type component -> TO Implemented
You can see the message reading “ status for method ‘zbapifmt001’ set to implemented”.
Now go to: Edit -> Change 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”.
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 BAPI’s 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.
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.
Get more information on SAP ABAP