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


hi all,

Can any one telme what is BDC



Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Jan 31, 2008 at 08:05 AM

    Hi Kusuma,

    Data Transfer ,


    Batch Data Communication

    It is used to transfer data from Sap to Sap or from Non Sap to sap system. It uses the normal transaction codes to transfer the data.

    Data Transfer Methods

    You can use the following methods to transfer data:

    • CALL TRANSACTION: Data consistency check with the help of screen logic.

    • Batch input with batch input sessions: Data consistency check with the help of screen logic

    Difference between Batch Input and CALL TRANSACTION

    If the direct input cannot be used for your task, this makes creating a data transfer program easier since the underlying transactions ensure that the data consistency checks are executed.

    In the case of an error during the data transfer (if data records are inconsistent, for example), you can restart the transfer at the point in the program where the error occurred.

    Data Transfer Overview

    Batch input methods

    With the batch input method, an ABAP program reads the external data that is to be entered in the SAP system and stores the data in a “batch input session”. The session records the actions that are required to transfer data into the system using normal SAP transactions.

    When the program has generated the session, you can run the session to execute the SAP transactions in it. You can explicitly start and monitor a session with the batch input management function (by choosing System  Services  Batch input), or have the session run in the background processing system.


    In the second method, your program uses the ABAP statement CALL TRANSACTION USING to run an SAP transaction. External data does not have to be deposited in a session for later processing. Instead, the entire batch input process takes place inline in your program.

    Choosing Data Transfer Methods

    Selecting a Data Transfer Method

    When you transfer data in ABAP, you have three options to submit the data for the data transfer. Only the first two methods can be recommended without reservation. The third method, by way of CALL DIALOG, is outmoded. CALL DIALOG is less comfortable than the other methods. You should use it only if you must.

    • Use the CALL TRANSACTION USING statement

    Summary: With CALL TRANSACTION USING, the system processes the data more quickly than with batch input sessions. Unlike batch input sessions, CALL TRANSACTION USING does not automatically support interactive correction or logging functions.

    Your program prepares the data and then calls the corresponding transaction that is then processed immediately.

    The most important features of CALL TRANSACTION USING are:

    o Synchronous processing

    o Transfer of data from an individual transaction each time the statement CALL TRANSACTION USING is called

    o You can update the database both synchronously and asynchronously

    The program specifies the update type

    o Separate LUW (logical units of work) for the transaction

    The system executes a database commit immediately before and after the CALL TRANSACTION USING statement

    o No batch input processing log

    • Create a session on the batch input queue.

    Summary: Offers management of sessions, support for playing back and correcting sessions that contain errors, and detailed logging.

    Your program prepares the data and stores it in a batch input session. A session is a collection of transaction data for one or more transactions. Batch input sessions are maintained by the system in the batch input queue. You can process batch input sessions in the background processing system.

    Your program must open a session in the queue before transferring data to it, and must close it again afterwards. All of these operations are performed by making function module calls from the ABAP program.

    The most important aspects of the session interface are:

    o Asynchronous processing

    o Transfers data for multiple transactions

    o Synchronous database update

    During processing, no transaction is started until the previous transaction has been written to the database.

    o A batch input processing log is generated for each session

    o Sessions cannot be generated in parallel

    The batch input program must not open a session until it has closed the preceding session.

    Executing Data Transfer Programs


    If you are using an SAP data transfer program, follow the procedure specified in the program documentation.

    If you are using a generated data transfer program, proceed as follows:

    1. Start the data transfer program.

    2. Decide which batch input method you want to use for the data transfer.


    You must specify the:

    – Processing mode: You use this parameter to specify whether processing should take place in the background or in dialog mode.

    Possible values are:

    A Display all

    E Display only errors

    N No display

    – Update mode: This parameter determines how the data is to be updated:

    Possible values are:

    S Synchronous

    A Asynchronous

    L Local update

    – Error session: Here you have the option to specify a session name for a batch input session in which data is to be written in the case of an error. You can use this to identify incorrect data records after the batch input program has run and to import the records into the R/3 System once you have corrected them.

    If you are creating an error session, you must also specify:

    – User: Specify the user with whose authorizations the sessions are processed.

    – Keep session: This specifies whether or not the session should be deleted once it has been processed.

    – Lock date: Specify the processing date for the error session.

    b) Generate session:

    – Session name: Specify a name for the batch input session to be generated.

    – User: Specify the user with whose authorizations the sessions are processed.

    – Keep session: This specifies whether or not the session should be deleted once it has been processed.

    – Lock date: Specify the processing date for the error session.

    3. Specify a character that is to be used as the NODATA character.

    4. Specify the path of the data file from which the data is to be imported into the R/3 System.

    5. Execute the program.

    6. If you have generated a session, or if errors occurred in CALL TRANSACTION USING mode, you must now edit the generated sessions. You can find information on this in BC - System services in batch input sessions.

    Creating a Session with BDC_OPEN_GROUP

    Use the BDC_OPEN_GROUP function module to create a new session. Once you have created a session, then you can insert batch input data into it with BDC_INSERT.

    You cannot re-open a session that already exists and has been closed. If you call BDC_OPEN_GROUP with the name of an existing session, then an additional session with the same name is created.

    A batch input program may have only one session open at a time. Before opening a session, make sure that any sessions that the program closes any sessions that it previously had opened.

    BDC_OPEN_GROUP takes the following EXPORTING parameters:

    • CLIENT

    Client in which the session is to be processed.

    Default: If you don't provide a value for this parameter, the default is the client under which the batch input program runs when the session is created.

    • GROUP

    Name of the session that is to be created. May be up to 12 characters long.

    Default: None. You must specify a session name.


    Lock date. The session is locked and may not be processed until after the date that you specify. Only a system administrator with the LOCK authorization for the authorization object Batch Input Authorizations can unlock and run a session before this date.

    Format: YYYYMMDD (8 digits).

    Default: No lock date, session can be processed immediately. A lock date is optional.

    • KEEP

    Retain session after successful processing. Set this option to the value X to have a session kept after it has been successfully processed. A session that is kept remains in the input/output queue until an administrator deletes it.

    Sessions that contain errors in transactions are kept even if KEEP is not set.

    Default: If not set, then sessions that are successfully processed are deleted. Only the batch input log is kept.

    • USER

    Authorizations user for background processing. This is the user name that is used for checking authorizations if a session is started in background processing. The user must be authorized for all of the transactions and functions that are to be executed in a session. Otherwise, transactions will be terminated with “no authorization” errors.

    The user can be of type dialog or background. Dialog users are normal interactive users in the SAP system. Background users are user master records that are specially defined for providing authorizations for background processing jobs.


    Types of BDC :

    CLASSICAL BATCH INPUT (Session Method)


    Session method.

    1) synchronous processing.

    2) can tranfer large amount of data.

    3) processing is slower.

    4) error log is created

    5) data is not updated until session is processed.

    Call transaction.

    1) asynchronous processing

    2) can transfer small amount of data

    3) processing is faster.

    4) errors need to be handled explicitly

    5) data is updated automatically

    Plzz reward if it is useful,


    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 31, 2008 at 11:13 AM

    The SAP System offers two primary methods for transferring data into the System from other SAP Systems and non-SAP Systems. These two methods are collectively called "batch input" or "batch data communication."

    1) Batch Input Concepts

    2) Transferring Data: Batch Input Procedure in Overview


    3) Writing a Data Transfer Program

    4) Analyzing SAP Transactions

    5) Generating an SAP Data Structure

    6) Data Conversions

    7) Initializing an SAP Data Structure

    8) Generating a Sequential File

    9) Sample Program: Data Transfer


    10) Writing a Batch Input Program: Procedure in Overview

    11) Selecting a Batch-Input Method

    12) Using the Batch Input Data Structure

    13) Programming Techniques: Entering Data and Executing Functions


    14) Creating Batch Input Sessions

    15) Creating a Session with BDC_OPEN_GROUP

    16) Adding Data to a Session: BDC_INSERT

    17) Closing a Session: BDC_CLOSE_GROUP

    18) Processing Batch Input Sessions


    19) Using CALL TRANSACTION USING for Batch Input

    20) Using CALL DIALOG with Batch Input


    21) Direct Input

    22) Sample Batch Input Program

    23) Batch Input recording for transaction runs

    24) Batch Input Authorizations


    Batch input sessions enter data non-interactively into an R/3 System. Batch input is typically used to transfer data from non-R/3 Systems to R/3 Systems or to transfer data between R/3 Systems.

    This section describes how to manage batch input sessions.

    To reach the main menu of the batch input system, select System --> Services --> Batch input.


    Processing batch input data with CALL TRANSACTION USING is the faster of the two recommended batch input methods. In this method, batch input data is processed inline in your batch input program.

    A program that uses CALL TRANSACTION USING to submit batch input should perform the following steps:

    1. Prepare a BDCDATA structure for the transaction that you wish to run. The requirements for filling the BDCDATA structure are the same as for "classical" batch input using sessions. For more information, please see Using the Batch Input Data Structure(12).

    2. With a CALL TRANSACTION USING statement, call the transaction and pass the BDCDATA structure to it as batch input. For example:


    MODE 'A'

    UPDATE 'S'.


    The Mode Parameter

    The MODE parameter lets you specify whether the batch input processing should be displayed to you as it happens. You can choose between three modes:

    A Display everything. All screens and the data that goes in them appear when you run your program. This is the default setting for MODE in CALL TRANSACTION USING.

    N Display nothing. All screens are processed invisibly, regardless of whether there are errors or not. Control returns to your program as soon as transaction processing is finished. (Database updates however, may have taken place or may have not have taken place, depending on the value of the UPDATE parameter.)

    E Display errors only. The transaction goes into display mode as soon as an error in one of the screens is detected. You can then correct the error.

    The display modes are the same as those that are available for processing batch input sessions.

    The Update Parameter

    The UPDATE parameter lets you specify how updates produced by a transaction should be processed. You can select between these modes:

    A Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed. It simply passes the updates to the SAP update service. Asynchronous processing therefore usually results in faster execution of your batch input program.

    Asynchronous processing is NOT recommended for processing any larger amount of data. This is because the called transaction receives no completion message from the update module in asynchronous updating. The calling batch input program, in turn, cannot determine whether a called transaction ended with a successful update of the database or not.

    If you use asynchronous updating, then you will need to use the update management facility (transaction SM12) to check whether updates have been terminated abnormally during session processing. Error analysis and recovery is less convenient than with synchronous updating.

    S Synchronous updating. In this mode, the called transaction waits for any updates that it produces to be completed. Execution is slower than with asynchronous updating because called transactions wait for updating to be completed. However, the called transaction is able to return any update error message that occurs to your program. It's much easier for you to analyze and recover from errors.

    L Local updating. If you update data locally, the update of the database will not be processed in a separate process, but in the process of the calling program. (Refer to the keyword documentation of SET UPDATE TASK LOCAL for more information.)

    The Messages Parameter

    The MESSAGES specification indicates that all system messages issued during a CALL TRANSACTION USING are written into the internal table <MESSTAB>. The internal table must have the structure BDCMSGCOLL.

    If it is helpful rewards ponits



    Error recovery, restarting, and management of batch input processing are all more comfortable if you use "classical" batch input processing by way of batch input sessions. CALL TRANSACTION USING is therefore recommended only if batch input sessions do not run fast enough to meet your requirements

    Overview and Concepts

    a) Task Overview: Batch Input

    b) Batch Input: Concepts

    Working with Batch Input Sessions

    c) Processing Sessions Automatically

    d) Selecting Sessions

    e) Running Sessions

    f) Correcting a Session

    g) Deleting Sessions

    h) Locking and Unlocking Sessions

    i) Releasing and Restarting an Interrupted Session

    Information and Analysis

    j) Displaying Queue Management Information

    k) Displaying Session Logs

    l) Reorganizing the Log File

    m) Analyzing Sessions

    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.