Skip to Content
author's profile photo Former Member
Former Member

What are the Pros and Cons of BDC?

What are the Pros and Cons of BDC?

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Apr 09, 2008 at 03:32 AM

    Hi Koh,

    Welcome to SDN.

    May be the difference with other Data Migration tools will give you better understanding on the pros and cons of BDC.

    Difference between LSMW and BDC

    difference between LSMW and BDC


    Difference between BDC and BAPI

    BDC is traditional way of coding the transactions for uploading the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and supports all the new transactions it is preffered over BDC. More over BAPI's process data faster than BDC.

    BAPI is a SAP-supplied function module with a defined interface, which allows you to interact with various business objects. SAP guarantees the integrity of your database for anything updated using a BAPI. BDC is a method of driving screens programatically, for updating SAP data. BAPIs are generally faster than BDCs.

    A BAPI is faster because it is updating the DB "directly". Whereas BDC with call

    transaction goes through the whole screen sequence like any user would do, simply put, fills screens.

    However - there is not always a BAPI for a particular transaction and not all functions that are performed by a transaction can be done by a BAPI. BDCs produce error sessions which can be processed by the user, while BAPIs don't.

    First choose the BAPI ,if there is no BAPI go for BDC.

    why BAPI first not BDC.

    SAP comes up with Change in Version, so each and every time they will change the screens/number etc.

    so you have to change your BDC programs accordingly.

    and also Most of the Latest versions transactions are Enjoy Transaction. they will not support BDC's in Background.

    But Using BAPI's No such disadvantages.

    A BAPI is faster because it is updating the DB "directly" through ABAP code.

    A BDC with call transaction goes through the whole screen sequence like any user would do, simply put, it is filling screens.

    Actually it depends on your requirement but BAPI is more effective as it is standard function module to update SAP databases rather than BDC.

    using bdc over bapi has advantages and also disadvantages


    1. using bdc we can upload data into database tables using 2 ways

    1. foreground -

    means that user interaction is there for each and every record.

    2. back ground -

    no user interaction and tasks are done automatically.

    using these two options is one of the greatest advantage over bapi.

    2. in bdc call transaction method we can control the display of screen resolution which is not possible with bapi's

    3. bdc is generally used for transferring of large amount of data than bapi's

    4.session method of bdc allows us to place data directly in application server and then finally transfered into sap database tables


    1.bdc is only used for sap to sap system data transferring

    2. bapis's generally works more faster than bdc's

    3. using bapis we can connect to remote systems and also to non sap systems.

    if useful reward some points.

    A BAPI is a method of a SAP Business Object.

    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.

    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.

    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.

    <b>Reward points if this helps.


    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Apr 09, 2008 at 06:09 AM

    may i know how many type data migration program/methods are there and do you mind briefly describle them.. tks

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member


      Data can be migrated using the following methods






      Batch Data Communication or BDC is a batch interfacing technique that SAP developed. It is mainly used for uploading data into the SAP R/3 system. BDC works by simulating the user input from transactional screen via an ABAP program.

      The data input data file will come in the form of a flat file which the user save as file type txt file or prn file from the Microsoft Excel program. An Abaper will create a program to read the text file and upload into the SAP system.

      Normally, the tcode SHDB will be used to record the transaction code the user used. After, the simulation, the Abaper can generate a sample program and modify from there. It makes the programming easier and faster.

      u can check this out in the below links

      2. LSMW

      This is a tool for data migration into SAP.

      No ABAP effort are required for the SAP data migration. However, effort are required to map the data into the structure according to the pre-determined format as specified by the pre-written ABAP upload program of the LSMW.

      The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems into an R/3 System.

      More and more medium-sized firms are implementing SAP solutions, and many of them have their legacy data in desktop programs. In this case, the data is exported in a format that can be read by PC spreadsheet systems. As a result, the data transfer is mere child's play: Simply enter the field names in the first line of the table, and the LSM Workbench's import routine automatically generates the input file for your conversion program.

      The LSM Workbench lets you check the data for migration against the current settings of your customizing. The check is performed after the data migration, but before the update in your database.

      So although it was designed for uploading of legacy data it is not restricted to this use.

      We use it for mass changes, i.e. uploading new/replacement data and it is great, but there are limits on its functionality, depending on the complexity of the transaction you are trying to replicate.

      The SAP transaction code is 'LSMW' for SAP version 4.6x.

      For those with the older SAP version (4.7 and below), the data migration programs might not have been pre-loaded.

      You can download the LSMW at no cost from SAPNet under Services, SAP Methodology and Tools, category Tools.

      If you are an existing SAP customer with an OSS ID, you can access the SAP Service Marketplace to download the LSWM for your Basis teams to install to your SAP system:

      The LSM Workbench carries out the following tasks:

      Reads the transfer data from one or more files (for example, spreadsheets, sequential files etc.)

      Converts the data from the source format into the target format

      here r some links


      A Business Application Programming Interface (BAPI) is a precisely defined interface providing access to processes and data in business application systems such as R/3.

      BAPIs of SAP Business Object Types

      BAPIs are defined as API methods of SAP business object types. These business object types and their BAPIs are described and stored in the Business Object Repository (BOR). A BAPI is implemented as a function module, that is stored and described in the Function Builder.

      BAPIs of SAP Interface Types

      As of Release 4.5A BAPIs can also describe interfaces, implemented outside the R/3 System that can be called in external systems by R/3 Systems. These BAPIs are known as BAPIs used for outbound processing. The target system is determined for the BAPI call in the distribution model of Application Link Enabling (ALE).

      BAPIs used for outbound processing are defined in the Business Object Repository (BOR) as API methods of SAP Interface Types. Functions implemented outside the R/3 System can be standardized and made available as BAPIs. For further information see BAPIs Used For Outbound Processing.


      BAPIs can be called within the R/3 System from external application systems and other programs. BAPIs are the communication standard for business applications. BAPI interface technology forms the basis for the following developments:


      New R/3 components, for example, Advanced Planner and Optimizer (APO) and Business Information Warehouse (BW).

      Non-SAP software

      Legacy systems

      Isolating components within the R/3 System in the context of Business Framework

      Distributed R/3 scenarios with asynchronous connections using Application Link Enabling (ALE)

      Connecting R/3 Systems to the Internet using Internet Application Components (IACs)

      PC programs as frontends to the R/3 System, for example, Visual Basic (Microsoft) or Visual Age for Java (IBM).

      Workflow applications that extend beyond system boundaries

      Customers' and partners' own developments

      here r some of the links.....,289142,sid21_gci948835,00.html


      IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system.

      IDocs are used for asynchronous transactions: Each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database.

      Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions.

      A large enterprise's networked computing environment is likely to connect many geographically distributed computers to the main database. These computers are likely to use different hardware and/or operating system platforms. An IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another.

      IDoc types define different categories of data, such as purchase orders or invoices, which may then be broken down into more specific categories called message types. Greater specificity means that an IDoc type is capable of storing only the data required for a particular transaction, which increases efficiency and decreases resource demands.

      An IDoc can be generated at any point in a transaction process. For example, during a shipping transaction process, an IDoc may be generated that includes the data fields required to print a shipping manifest. After a user performs an SAP transaction, one or more IDocs are generated in the sending database and passed to the ALE communication layer. The communication

      layer performs a Remote Function Call (RFC), using the port definition and RFC destination specified by the customer model.

      The IDoc is transmitted to the receiver, which may be an R/3, R/2, or some external system. *-- Ashok

      Advantages of IDOC

      IDoc is the data Format used by the SAP in data transfer using ALE /EDI methods. They provide more data security. An IDoc is an intermediate document used to send data in two ways, that is internal and the external point for you.

      In BW, IDoc is a transfer mode, when you create a Infosource you can select the transfer mode as PSA or IDOC. Its the method provided for backward compatibility. In older version the hirerchies where loaded using IDOC transfer method. Now its possible with PSA but still that method is available to load the hierarchies.

      An example in SD:

      For creating sales documents (sales order) through IDOCS you will have to use the T code WE19. In that click basic type and enter order05(IDOC type) and select via message type then enter ORDERS(message type), click execute.

      You will get to see many you have to enter the datas that you enter in the VA01 screen in order to create sales order. The datas such as material name, date, qty, P.O no etc. After entering all the datas, you click standard inbound the IDOC would be created by the system.You can see the created order by going in to VA03 screen.

      Next time when you create the IDOC, in same tcode WE19 screen, click existing IDOC and enter the IDOC which you created in the above step and just change the P.O no.Sytem will create new sales order through new IDOC

      Before doing all you need to maintain the partner profile in T code WE20. For this Discuss with EDI consultant.

      here r some of the links for IDOCs.....

      reward if helpful


  • author's profile photo Former Member
    Former Member
    Posted on Apr 09, 2008 at 06:26 AM

    Sub Question

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.