Skip to Content
author's profile photo
Former Member

hi this is mahi

hi i this is mahi

i want to know the different between the bapi and bdc ...

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

7 Answers

  • Posted on Aug 21, 2007 at 07:14 AM

    to be quick:

    BAPI is faster than BDC

    BDC is better to manage errors, because you could play several times the same data while all the data are whell inserted.

    Fred

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Aug 21, 2007 at 07:18 AM

    BAPI is a higher end usage for tranfering the data from SAP to non-SAP and vice-versa. for ex: if we are using VB application,where in that we want to connect to SAP and retireve the data,and then change and update the data in SAP for that purpose we can use that.

    Apart from that, we can also use it for Uploading/Downloading the data from SAP to Non-SAP like BDC, provided we have an existing BAPI for that.

    BAPI function modules will also do all the checks required for data integrity like Transactions for BDC.

    There is one more advantage using BAPI instead of BDC. When we go for upgradation, there might be pozzibility to change the screen elements for transactions depending on the requirement. In that case,our BDC pgm may or may not work (depending on the screen changes they have made). Unless and until we prepare new BDC we cant use the old BDC pgm. But in BAPI, SAP promises that they are going to keep the old BAPI and for new functionality they will provide an upgraded BAPI. Until we write a new BAPI pgm, we can use the exisitng BAPI pgm.

    Load of program:

    It is a program Constructor. Directly after an executable program, a module pool, a function group or a subroutine pool has been loaded, a special processing block can be executed exactly once. This processing block is defined as an event block using the event keyword LOAD-OF-PROGRAM. The processing block for LOAD-OF-PROGRAM has the same function for ABAP programs as a constructor has for classes.

    Please search the with the string DIFF b/w bapi and bdc.

    Search the Forum and then Post the Threads.

    I did the same to answer your question.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Aug 21, 2007 at 07:18 AM

    hi,

    BAPI is used as an interface. ie uased to transfer data between servers.

    but bdc we cant.

    BDC IS USED TO UPLOAD DATA FROM LEGACY FILE (LOCAL FILE TO SAP).

    in both bapi & bdc we can upload data. but in bdc, upload takes place by screen by screen, but in BAPI, It takes place at a strecth. ie data is inserted in database

    at a sterch.

    there are std, BAPI available, but not BDC,,

    REGARDS

    KARTHIK

    REWARD POINTS IF THIS IS USEFUL

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Aug 21, 2007 at 07:21 AM

    Hi

    For one, Batch Data Communication (BDC) is older. Business Application Programming Interface (BAPI) came later, about 10 years ago (you can see this already from the name, which contains marketese like "business" ).

    More important though, they are different technologies. With BDC you build the "batch input transaction" yourself, with an ABAP program which creates the "batch input session" ("Batch-Input-Mappe" in german). You then take that session, like an object, and "run" it on a system (most of the time, this is done on a local system by the administrators, after it has been tested for correctness).

    With BAPI, a system (local or remote) exposes its interface to you through some kind of Remote Function Call (RFC). Practically, it tells you: "What do you want to do? Insert that data into Materials Management? Here is the function and the the parameters you have to use for each record". You only work with the Interface - the exposed function. How this function works does not have to interest you. You don't have sessions to "run", you fire your function calls filled with data, one after another and you're done.

    BAPI can be run remotely. With BDC, you probably have to call the administrators of the remote system and send them the session you created for them to run. With BDC you go through the whole transaction in one BDC session, with BAPI you may need more than one "BAPI calls" to do this.

    With BAPI you don't fill obcure field names with values, you just fill the parameters. You can use a BAPI from inside your ABAP program to let a "business object" do some clearly defined work for you, then you can continue with your code doing other things. You don't do this with BDC. With BDC you write a dedicated program that creates the "session", which is then executed separately.

    A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate

    with each other at the Business Object / Process level.

    Check this link to know more about BAPI.

    http://www.sapgenie.com/abap/bapi/example.htm

    http://sappoint.com/abap/

    Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a

    typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.

    BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form

    of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The

    transaction is then started using this internal table as the input and executed in the background.

    In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

    It can also be used for real-time interfaces and custom error handling & logging features. .

    To know more about BDC,

    check the link.

    http://sappoint.com/abap/

    Main differences are...

    In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem

    where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.

    not only that...

    when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.

    Reward all helpfull answers

    Regards

    Ronei

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Aug 21, 2007 at 07:22 AM

    Hi Mahesh,

    • BAPI (Business Application Programming interface ) is a RFC Enabled functional module which can be called from remote system.

    • BDC- Batch Data Conversion is tool used to upload the huge data to SAP system.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Aug 21, 2007 at 07:59 AM

    hi mahesh

    BAPI is a higher end usage for tranfering the data from SAP to non-SAP and vice-versa. for ex: if we are using VB application,where in that we want to connect to SAP and retireve the data,and then change and update the data in SAP for that purpose we can use that.Apart from that, we can also use it for Uploading/Downloading the data from SAP to Non-SAP like BDC, provided we have an existing BAPI for that.BAPI function modules will also do all the checks required for data integrity like Transactions for BDC.There is one more advantage using BAPI instead of BDC. When we go for upgradation, there might be pozzibility to change the screen elements for transactions depending on the requirement. In that case,our BDC pgm may or may not work (depending on the screen changes they have made). Unless and until we prepare new BDC we cant use the old BDC pgm. But in BAPI, SAP promises that they are going to keep the old BAPI and for new functionality they will provide an upgraded BAPI. Until we write a new BAPI pgm, we can use the exisitng BAPI pgm.-Viplove

    or

    There are some standard BAPI’s you can use instead of BDC to update the records…. But BDC is required if you want to update records in the way you want you can control the flow of BDC. but yes if you find a BAPI for the same function its gud to go for BAPI

    or

    According to me, The main difference between BAPI and BDC is :

    In BDC we need to specify (while recording) all the standard validation in all the screens, exclusively in program.And a note of all screen data is also to be given in BDC (i.e Dynrpro,fnam,fval etc).

    But all these can be avoided in BAPI. BAPI will skip all the screen data and includes all the default validations by itself without any need of Explicit specification.

    reward if useful please...........

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Aug 21, 2007 at 08:03 AM

    Hello Mahesh,

    A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate

    with each other at the Business Object / Process level.

    Check this link to know more about BAPI.

    http://www.sapgenie.com/abap/bapi/example.htm

    http://sappoint.com/abap/

    Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a

    typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.

    BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form

    of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The

    transaction is then started using this internal table as the input and executed in the background.

    In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

    It can also be used for real-time interfaces and custom error handling & logging features. .

    To know more about BDC,

    check the link.

    http://sappoint.com/abap/

    Main differences are...

    In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem

    where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.

    not only that...

    when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.

    Reward If Helpful.

    Regards

    --

    Sasidhar Reddy Matli.

    Add comment
    10|10000 characters needed characters exceeded