0% found this document useful (0 votes)
162 views

SAP ABAP BDC (Batch Data Communication) Tutorial

This document provides an overview of Batch Data Communication (BDC) in SAP. It discusses that BDC allows transferring data from non-SAP systems into SAP automatically. There are two main methods for BDC - classical batch input and call transaction. Classical batch input uses functions like BDC_OPEN and BDC_INSERT to add input data to a batch input session, while call transaction executes a transaction directly using input data. The document also outlines how to write a BDC program, create a batch input session, and use the batch input recorder.

Uploaded by

Atreya Puranik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
162 views

SAP ABAP BDC (Batch Data Communication) Tutorial

This document provides an overview of Batch Data Communication (BDC) in SAP. It discusses that BDC allows transferring data from non-SAP systems into SAP automatically. There are two main methods for BDC - classical batch input and call transaction. Classical batch input uses functions like BDC_OPEN and BDC_INSERT to add input data to a batch input session, while call transaction executes a transaction directly using input data. The document also outlines how to write a BDC program, create a batch input session, and use the batch input recorder.

Uploaded by

Atreya Puranik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

SAP ABAP BDC (Batch Data Communication)


Tutorial
By Scott Livingston Updated May 6, 2023

Introduction to Batch input


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.

It is a data transfer technique that allows you to transfer datasets automatically to


screens belonging to transactions, and thus to an SAP system. Batch input is
controlled by a batch input session.

In this tutorial you will learn:

Introduction to Batch input


Methods of Batch Input
Batch Input Procedures
Writing BDC program
Creating Batch Input Session
Batch Input Recorder

Batch input session

Groups a series of transaction calls together with input data and user actions . A
batch input session can be used to execute a dialog transaction in batch input,
where some or all the screens are processed by the session. Batch input sessions
are stored in the database as database tables and can be used within a program as
internal tables when accessing transactions.

Points to note

BDI works by carrying out normal SAP transactions just as a user would but it
execute the transaction automatically.All the screen validations and business

https://www.guru99.com/bdc-batch-data-communication.html 1/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

logic validation will be done while using Batch Data Input.


It is suitable for entering large amount of data.
No manual interaction is required

Methods of Batch Input


SAP provide two basic methods for transferring legacy data in to the R/3 System.

1. Classical Batch Input method.


2. Call Transaction Method.

Classical Batch Input method

In this method an ABAP/4 program reads the external data to the SAP System and
stores in a batch input session.

After creating the session, you can run the session to execute the SAP transaction in
it.

This method uses the function modules BDC_ OPEN, BDC_INSERT and BDC_CLOSE

Batch Input Session can be process in 3 ways

1. In the foreground
2. In the background
3. During processing, with error display

You should process batch input sessions in the foreground or using the error
display if you want to test the data transfer.

If you want to execute the data transfer or test its performance, you should process
the sessions in the background.

Points to note about Classical Batch Input method

Synchronous processing
Transfer data for multiple transactions.
Synchronous database update.
https://www.guru99.com/bdc-batch-data-communication.html 2/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

A batch input process log is generated for each session.


Session cannot be generated in parallel.

Call Transaction Method.

In this method ABAP/4 program uses CALL TRANSACTION USING statement to run
an SAP transaction.

Entire batch input process takes place online in the program

Points to Note:

Faster processing of data


Asynchronous processing

https://www.guru99.com/bdc-batch-data-communication.html 3/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

Transfer data for a single transaction.


No batch input processing log is generated.

Batch Input Procedures

You will typically observe the following sequence of steps to develop Batch Input
for your organization

1. Analysis of the legacy data. Determine how the data to be transferred is to be


mapped in to the SAP Structure. Also take note of necessary data type or data
length conversions.
2. Generate SAP data structures for using in export programs.
3. Export the data in to a sequential file. Note that character format is required by
predefined SAP batch input programs.
4. If the SAP supplied BDC programs are not used, code your own batch input
program. Choose an appropriate batch input method according to the
situation.
5. Process the data and add it to the SAP System.

https://www.guru99.com/bdc-batch-data-communication.html 4/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

6. Analyze the process log. For the CALL TRANSACTION method, where no proper
log is created, use the messages collected by your program.
7. From the results of the process analysis, correct and reprocess the erroneous
data.

Writing BDC program


You may observe the following process to write your BDC program

1. Analyze the transaction(s) to process batch input data.


2. Decide on the batch input method to use.
3. Read data from a sequential file
4. Perform data conversion or error checking.
5. Storing the data in the batch input structure,BDCDATA.
6. Generate a batch input session for classical batch input,or process the data
directly with CALL TRANSACTION USING statement.

Batch Input Data Structure

Declaration of batch input data structure

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.

Field name Type Length Description

PROGRAM CHAR 8 Module pool

DYNPRO NUMC 4 Dynpro number

DYNBEGIN CHAR 1 Starting a dynpro

https://www.guru99.com/bdc-batch-data-communication.html 5/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

Field name Type Length Description

FNAM CHAR 35 Field name

FVAL CHAR 80 Field value

The order of fields within the data for a particular screen is not of any significance

Points to Note

While populating the BDC Data make sure that you take into consideration the
user settings. This is specially relevant for filling fields which involves numbers
( Like quantity, amount ). It is the user setting which decides on what is the
grouping character for numbers E.g.: A number fifty thousand can be written
as 50,000.00 or 50.000,00 based on the user setting.
Condense the FVAL field for amount and quantity fields so that they are left
aligned.
Note that all the fields that you are populating through BDC should be treated
as character type fields while populating the BDC Data table.
In some screens when you are populating values in a table control using BDC
you have to note how many number of rows are present on a default size of
the screen and code for as many rows. If you have to populate more rows then
you have to code for “Page down” functionality as you would do when you are
populating the table control manually.
Number of lines that would appear in the above scenario will differ based on
the screen size that the user uses. So always code for standard screen size and
make your BDC work always in standard screen size irrespective of what the
user keeps his screen size as.

Creating Batch Input Session


1. Open the batch input session session using function module
BDC_OPEN_GROUP.
2. For each transaction in the session:
3. Fill the BDCDATA with values for all screens and fields processed in the
transaction.
https://www.guru99.com/bdc-batch-data-communication.html 6/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

4. Transfer the transaction to the session with BDC_INSERT.


5. Close the batch input session with BDC_CLOSE_GROUP

Batch Input Recorder


Batch input recorder (System > Services > Batch input > Recorder) records
transactions which are manually entered and creates a batch input session which
can be executed later using SM35.

Begin the batch input recorder by selecting the Recording pushbutton from
the batch input initial screen.
The recording name is a user defined name and can match the batch input
session name which can be created from the recording.
Enter a SAP transaction and begin posting the transaction.
After you have completed posting a SAP transaction you either choose Get
Transaction and Save to end the recording or Next Transaction and post
another transaction.
Once you have saved the recording you can create a batch input session from
the recording and/or generate a batch input program from the recording.
The batch input session you created can now be analyzed just like any other
batch input session.
The program which is generated by the function of the batch input recorder is
a powerful tool for the data interface programmer. It provides a solid base
which can then be altered according to customer requirements.

https://www.guru99.com/bdc-batch-data-communication.html 7/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

You Might Like:

SAP Scripts Tutorial: SE71, SE78, SCC1, VF03, SO10


SAP ABAP Programming Tutorials – Free Training Course
Top 35 SAP ABAP Interview Questions and Answers (2023)
SAP ABAP Tutorial PDF: Programming Examples for Beginners
What is SAP ABAP? Types, ABAP Full Form and Meaning

Prev Report a Bug Next

About
About Us
Advertise with Us
Write For Us
Contact Us

Career Suggestion
SAP Career Suggestion Tool
Software Testing as a Career

Interesting
eBook
Blog
Quiz
SAP eBook

Execute online
Execute Java Online
Execute Javascript

https://www.guru99.com/bdc-batch-data-communication.html 8/9
7/2/23, 1:39 PM SAP ABAP BDC (Batch Data Communication) Tutorial

Execute HTML
Execute Python
© Copyright - Guru99 2023         Privacy Policy  |  Affiliate
Disclaimer  |  ToS

https://www.guru99.com/bdc-batch-data-communication.html 9/9

You might also like