BDC in SAP ABAP Strategies For Beginners

Updated: May 31



Batch Data Communication(BDC)


SAP BDC stands for batch data communication and it is a technique using with legacy data or data loading in to SAP system which is not updated in the SAP systems. For example, company decides to adapt its systems and procedures to SAP, and installs SAP, it will have to upload a huge volume of data that are a part of its legacy systems or old systems into the SAP system. This technique is done through SAP BDC (Batch Data Communication).


Types of BDC method—>

  1. Call transaction - used when we want to update low amount of the data.

  2. Session Method - used when we want to update bulk amount of the data.


Steps to upload data in SAP system using BDC —>


Step 1 - Pass the notepad data to internal table.

Step 2 - We need to record the session using tcode “SHDB” to get the dummy BDC structure for FI01 screen.

Step 3 - After recording the session we need to write the BDC code to pass the internal table data to the internal table of BDC structure according to the recording.

Step 4 - Then data in the BDC internal table need to be updated in the database table using any BDC method via FI01 screen.



Notepad data to be added —>

Step 1 - Pass the notepad data to internal table.

Coding Screen —>



Way to check if data is successfully passed to the internal table

Step 1 - Place break point at Perform statement and execute the code



Step 2 - Click on DESKTOP 3 option. After that click on F5 Functionality and then on F6 Functionality.



Step 3 - After clicking on F6 Functionality a message box will appear asking for permission to access the file. Click on Allow radio button.



Step 4 - After allowing double click on the internal table and the internal table will appear in the right grid having information of how many records it has.



Step 5 - Double click on the internal table name in the right grid.



Step 6 - After double clicking you can see the notepad data is successfully transferred to the internal table



Step 2 - We need to record the session using tcode “SHDB” to get the dummy BDC structure for FI01 screen.

Step 1 - On “SHDB” code window click on New Recording button



Step 2 - After clicking on New Recording a new dialogue will appear. Fill the required buttons and click on Start Recording



Knowledge Cloud—>

BDC OKCODE — It is the final button we press or action we do after filling up the required fields.


Step 3 - Fill the required fields and click on ENTER (BDC OKCODE for this screen)



Step 4 - After clicking enter a second screen will appear.



Step 5 - Fill the fields as per the requirement and click on “SAVE”(BDC OKCODE for this screen)



Step 6 - After saving you will see the BDC Dummy structure.



Step 3 - After recording the session we need to write the BDC code to pass the internal table data to the internal table of BDC structure according to the recording.


Coding Screen —>




Step 4 - Then data in the BDC internal table need to be updated in the database table using any BDC method via FI01 screen.

Call transaction method — >

Syntax —

CALL TRANSACTION ‘TCODE’ USING BDC_ITAB MODE MODE_NAME UPDATE UPDATE_NAME MESSAGES INTO ITAB_BDC-MSGCOLL.


Coding Screen —> Only addition is in BDC_PROCESS subroutine.


After execution you will see records passing one by one.


Data after successfully passed in database table



Modes in Call Transaction —>

There are 3 types of Modes -

1. A - All screens - it is the default mode, we have to pass data one by one.

2. N - No screen - in this mode data is passed in the background.


3. E - Error Screen - it is used to show if there is any error in the execution.


Update in Call Transaction —>

There are 2 types of Update

  1. A - asynchronous - in this the processing of next job will not wait for the completion of the previous job.

  2. S - synchronous - in this the processing of next job will wait for the completion of previous job.


NOTE - Call transaction are always Asynchronous.


In Update we will not get any message if the code execution is done successfully or not. So we use a predefined structure BDCMSGCOLL and a predefined function module FORMAT_MESSAGE in order to select required message.


Coding Screen —



Output—>



Database Table—>



Session method — >

There are 3 Function Modules for bulk update of the data -

  1. BDC_OPEN_GROUP

  2. BDC_INSERT

  3. BDC_CLOSE_GROUP


Coding Screen —