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

BDC types

Hi guys i want to know abt BDC methods?How many and what r they?Diff betn them.Which is used in general?I am confused with so many answers.So please explain detail.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Oct 19, 2007 at 12:39 PM



    - It is one of the BDC techniques for uploading legacy data into SAP

    - The data is transferring from the internal table to database table

    through sessions.

    - Data along with its action is stored in session.

    - When the program has finished generating the session, you can run

    the session to execute the transaction.

    - Unless session is processed, the data is not transferred to

    database tables.

    - The following Function Modules are used in the session method.

    1. BDC_OPEN_GROUP (Used to create the session)

    Import Parameters :

    USER - User Name

    CLIENT - Client

    GROUP - Name of the session

    HOLD - The date when you want to process the session

    KEEP - ‘X’ – retain session even after processing it

    ' ' - Delete the session after processing.

    2. BDC_INSERT (Data is transferred to session)

    Import Parameters :

    TCODE - Transaction code


    3. BDC_CLOSE_GROUP (Used to close a session)

    - Processing Steps

    1. Generate the batch input session using function module


    2. The proceed as follows for each transaction that the session


    a. In the BDCDATA structure, enter the value for all screens

    and fields that must be processed in the transaction.

    b. Use BDC_INSERT to transfer the transaction and the BDCDATA

    structure to the session.

    3. Close the batch input session with BDC_CLOSE_GROUP.

    4. Start to process the generated session in T.Code SM35.



    1. It is compatible for small amount of data only.

    2. It process the data Synchronously. i.e., The data is updated

    at the time of execution.

    3. It updates data both Synchronously and Asynchronously. When

    we use Synchronous mode, it always verify all the data updated

    successfully in the database.

    When we use Asynchronous mode, the system can not wait till

    all the data updated in the database.

    4. It can handle only one application at a time.

    5. It does not have Log file, we need to design logfile explicitly

    using BDCMSGCOLL stucture.

    Syntax :



    Parameter 1 : Transaction Code

    Parameter 2 : It is name of BDCDATA table.

    Parameter 3 : Specifying Mode in which you execute transaction.

    A - All screen mode. All the screen of transaction

    are displayed.

    N - No screen mode. No screen is displayed when you

    execute the transaction.

    E - Error screen. Only those screens are displayed

    where you have error record.

    Parameter 4 : Specifying Update type by which data base table is


    S - It is for Synchronous update in which if you

    change data for one table then all the relacted

    tables gets updated. And then sy-subrc is returned

    i.e., sy-subrc is returned for once and all.

    A - It is for Asynchronous update, when you change

    data of one table, the sy-subrc is returned. And

    then updation of other affected tables takes place

    If system fails to update other tables still

    sy-subrc returned is 0.

    Parameter 5 : When you update database table, operation is either

    successful or unsuccessful or operation is successful

    with some warning. These messages are stored in

    internal table which you specify along with MESSAGE

    statement. This internal table should be declared like

    BDCMSGCOLL structure.

    Steps for CALL TRANSACTION Method :

    1. Interanal table for the data (structure similler to local file)

    2. BDCTAB like BDCDATA.

    3. Use UPLOAD/WS_UPLOAD/GUI_UPLOAD or DATASETS for upload data from

    local file to internal table (i.e. ITAB).

    4. LOOP at Itab.

    Populate BDCTAB table.



    Refresh BDCTAB.




    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Oct 19, 2007 at 12:41 PM

    Hi Mani,

    In BDC there are only 2 methods which are Call Transaction Method and Session Method. You have another advanced concept of BDC which is called as LSMW in which you can transfer data through 4 methods with no or less code. The 4 methods which are used here are Batch Input, Direct Input, Through IDOC's and BAPI's.

    Difference B/W call transaction and Session Methods are:

    1. In Call transaction Method you have to handle the errors where as in session method on log file will be created.

    2. You can transfer large amount of data through session method as compared to call transaction method.

    You will be using both the methods generally but based on the amount of data you wish to transfer you can decide which method suits better.

    For more info on LSMW go through these sites. They will provide you step by step procedure to create LSWM.




    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Oct 19, 2007 at 02:30 PM


    BDC is Batch Data Communication where data is transferred from legacy system to SAP system. Different methods of BDC are

    1. Call Transaction Method.

    2. Session Method

    3. Direct Input method.

    In all the above methods you have to prepare a flat file containing the data in the required format to be uploaded to the SAP system. You need to call the function ' UPLOAD' to do this. Then the contents of the flat file have to copied to your internal table and then u need to call the transaction through which you want to update the database. You internal table should also have the information relating to the structure BDCDATA which is having the details like the module pool program name, screen no. The basic concept of updating the database is same in all the 3 methods but only the method differs.

    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. Whereas in

    Batch Input Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.

    Batch Input (BI) programs still use the classical BDC approach but doesn’t require an ABAP program to be written to format the BDCDATA. The user has to format the data using predefined structures and store it in a flat file. The BI program then reads this and invokes the transaction mentioned in the header record of the file.

    Direct Input (DI) programs work exactly similar to BI programs. But the only difference is, instead of processing screens they validate fields and directly load the data into tables using standard function modules. For this reason, DI programs are much faster (RMDATIND - Material Master DI program works at least 5 times faster) than the BDC counterpart and so ideally suited for loading large volume data. DI programs are not available for all application areas.

    In generally Session Method is used.



    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.