What is BDC Programming in SAP?

BDC (Batch Data Conversion) is an automated procedure for transferring large volumes of external or legacy data into the SAP system using batch input programming and is similar to LSMW. There are three ways to do this:

Call Transaction Method

Session Method

Direct Input Method

In order to load the data into the SAP system we have many techniques in use which will get the job done. Majorly we have three techniques through which you can get the data transfer done. These are Batch Input, Direct Input and BAPI’s.

1. Batch Input , also known as Batch Data Communication (BDC) : This approach is used extensively in ABAP programming and remains a popular choice when no other method exists. The online transaction processes is simulated and the data transfer is done exactly as it is done online. A batch input session is created using SHDB containing all of the data and screens and then processed. Well, if you make any changes to the screen then you will have add these screens in the program or else the BDC will fail.

2. Direct Input : The data in the input file is transferred directly to the SAP database. No screens are involved. This methods used function modules to accomplish the task. Well, not everything can be accomplished through this method.

This document on Direct Input Programming teaches you on processing Sequential files and Batch input Processing takes you to all the function modules involved in the BDC data transfer program.

3. BAPI’s (Business Application Programming Interface) : These are standard API’s that provide external access to SAP Objects. That does not mean you cannot run these inside SAP. You can still use them inside SAP too. BAPI’s are defined in the Business Object Repository as methods of SAP Objects.

Irrespective of the method, the techniques use the following steps:

Identify the screens of the transaction that the program will process.

Write a program to build the BDC table that will be used to submit the data (i.e., text file) to SAP.

Submit the BDC table to the system in the ‘batch mode’ or as a ‘single transaction’ by the CALL TRANSACTION command.

The Call Transaction method cannot be used when you want to process multiple transactions. Instead, use the BDC-insert function to achieve this.