You are on page 1of 5

IDOC/ALE/BAPI/BADI

I want to understand the difference between IDOC/ALE/BAPI/BADI in context to a


functional consultant.what is the role of each with an EXAMPLE.
I want to basically understand with examples w.r.t SD or MM instead of theory which i could
get in forum. What is the role of a functional SD consultant, in these technology mentioned?
If i have to Test a BAPI or BADI what is that i should test???what is the T codes to be
tested ? How to go about it??
Like in case of Order to cash testing, i will check if the sales cycle runs well, using T codes,
Va01, vl01n, vf01.
Helpful Answer Re: IDOC/ALE/BAPI/BADI
I want to understand the difference between IDOC/ALE/BAPI/BADI in context
to a functional consultant. What is the role of each with an EXAMPLE.
I want to basically understand with examples w.r.t SD or MM instead of
theory which i could get in forum. What is the role of a functional SD
consultant, in these technology mentioned?

Idoc/ALE/BAPI/BADI are basically advanced functionalities available in ABAP. These are


treated as seperate module by somebody as "Cross Applications".
If we get in

IDOC is the concept which works for Third party communication from SAP.
Scenarion 1:
For example: I am a Buyer from your Company and i don't have SAP system where you have
SAP Practice. I had given you one Order for which i need Confirmation and it needs to
understand by my system. In this case IDOC is useful to transfer the confirmation details to
my system understandable language. This can be acheived by any other outputs like eMail/Printout/Fax. But for these kind of Outputs thers is one limitation. those are in document
form means if you take the print out it confirmation can be taken as a print out as a hard copy
or soft coy by saving into PDF format. but that data cannot be accessed by my system to
convert that data for further my own reporting purpose. if we use IDOCs.
These Idocs are transferred through Middleware and reach third party system (in this example
my own system which does not have SAP) and store the details. later i can use that data how
ever i can for my internal reporting purpose.

Scenario 2:
ALE: ALE also works like above, but the difference is this works for SAP-SAP
communication. if i take the above example.... I have SAP System being a buyer and you
have SAP sytem. Order Confirmaiton come from your system to my system.
If i have to Test a BAPI or BADI what is that i should test???what is the T
codes to be tested ? How to go about it??
Like in case of Order to cash testing, i will check if the sales cycle runs
well, using T codes, Va01, vl01n, vf01.

There is no such tcodes to test the enhancement functionality.


I assume you knows SAP SD.
If i take the example of SD Sales Order.
PO Number field is to explain the enhancement testing.
Your client enhanced the functionality of PO Number for which you are doing the testing for
example.
now you get inside of the VA01 transaction and put all the headeer data and PO Number and
press enter.
then based on the enhancement functionality system will act.
For example.. you had given AAA111 for Customer 123456.
You have entered Inside of VA01 and entered Sold and Shipto numbers as 123456. then
entered PO number as BBB111 and press enter.
As per the enhancement you suppose to enter PO number as AAA111 for customer 123456,
but you entered as BBB111.
Based on your enhancements system will through the error saying you entered wrong PO
Number.
This is the testing part usually Functional Guy do.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

=>IDOC : It is a container to carry the data.

Now let us take a example.

I have 2 systems A which is non SAP & B sAP. A is located in America and B is India which
you are working currently.

Now A sends the order inforamtion to B via EDI.

Now this data will be put into IDOC(Orders05) in sap and then passed to va01 to create the
sales order.

Now as a fuctional consultant you can go and check whether any orders created by Idocs or
not.

1) You can check by going to WE02 or WE05 by inputting the idoc number or simply execute
by giving the data.
2) If you have defined a seperated doc type for this scenario then can check
tables ie VBAK ( Input sales doc type you defined and give the date and execute)

=>ALE: This is to enable a connection between 2 systems.

As a functional consultant you dont need to know any thing, this


is the work of ABAPers and Baisis consultants to configure the RFC destinations ,ports etc.

=>BADI : Business Addins

Suppose if some extra functionality need to be added to the already given functionality , then
we can go for this.

For example , I want to make the PO number every time as POAUSTRALIA in sales order
with doc type ZIOR and sales organization IN01 ,
then ABAPers will write the code in the badi or in user exits.

IF vbak-vkorg = 'IN01'.
IF VBAK-AUART = 'ZIOR'.

XVBAK-bstnk = 'POAUSTRALIA'.

endif.
endif.

As a functional consultant you simply need to check whether the PO number in sales order is
comming as POAUSTRALIA or not. ABAPers use tcode SE18 & SE19.

=>BAPI : Business Application Programming Interface. Tcode BAPI.

This is advanced to function modules.

Now the external non sap system say website wants to create the orders in SAP.
Customer will login into website and input some information for example in website EBAY.
Then EBAY will use the webservice and call the BAPI and pass the customer inputted data to
BAPI to create the order in SAP.

As a funcional consultant you need to define a seperate order type and check whether the
orders are created or not through BAPI.

You might also like