Вы находитесь на странице: 1из 11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

SAP ABAP BDC (Batch Data Communication) Tutorial


Introduction to Batch input

Batch input is typically used to transfer data from non


systems to R/3 systems or to transfer data between R/

It is a data transfer technique that allows you to transf


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

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 sessio
used to execute a dialog transaction in batch input, where some or all the screens are processed by
session. Batch input sessions are stored in the database as database tables and can be used within
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 transa
automatically.All the screen validations and business logic validation will be done while us
Data Input.
It is suitable for entering large amount of data.
http://www.guru99.com/bdcbatchdatacommunication.html

1/11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

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
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
data transfer.

If you want to execute the data transfer or test its performance, you should process the sessions in
background.
Points to note about Classical Batch Input method

Asynchronous processing
Transfer data for multiple transactions.
Synchronous database update.
A batch input process log is generated for each session.
Session cannot be generated in parallel.

http://www.guru99.com/bdcbatchdatacommunication.html

2/11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

Call Transaction Method.

In this method ABAP/4 program uses CALL TRANSACTION USING statement to run an SAP transacti
Entire batch input process takes place online in the program

Points to Note:
Faster processing of data
Synchronous processing
Transfer data for a single transaction.
No batch input processing log is generated.

Batch Input Procedures

http://www.guru99.com/bdcbatchdatacommunication.html

3/11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

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

1. Analysis of the legacy data. Determine how the data to be transferred is to be mapped in to the S
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 b
programs.
4. If the SAP supplied BDC programs are not used, code your own batch input program. Choose an
batch input method according to the situation.
5. Process the data and add it to the SAP System.
6. Analyze the process log. For the CALL TRANSACTION method, where no proper log is created, us
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
http://www.guru99.com/bdcbatchdatacommunication.html

4/11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

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 TR
USING statement.
Batch Input Data Structure
Declaration of batch input data structure
DATA:BEGINOF<bdctable>
OCCURS<occursparameters>.
INCLUDESTRUCTUREBDCDATA.
DATA:ENDOF<bdctable>.

Field name

Type

Length

Description

PROGRAM

CHAR

Module pool

DYNPRO

NUMC

Dynpro number

DYNBEGIN

CHAR

Starting a dynpro

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
relevant for filling fields which involves numbers ( Like quantity, amount ). It is the user setting w
decides on what is the grouping character for numbers E.g.: A number fifty thousand can be writ
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
populating the BDC Data table.
In some screens when you are populating values in a table control using BDC you have to note h
number of rows are present on a default size of the screen and code for as many rows. If you ha
populate more rows then you have to code for "Page down" functionality as you would do when
populating the table control manually.
http://www.guru99.com/bdcbatchdatacommunication.html

5/11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

Number of lines that would appear in the above scenario will differ based on the screen size tha
uses. So always code for standard screen size and make your BDC work always in standard scree
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:
Fill the BDCDATA with values for all screens and fields processed in the transaction.
Transfer the transaction to the session with BDC_INSERT.
3. Close the batch input session with BDC_CLOSE_GROUP

Batch Input Recorder

Batch input recorder (System > Services > Batch input > Recorder) records transactions which are m
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 initia
The recording name is a user defined name and can match the batch input session name which
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
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
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 fo
interface programmer. It provides a solid base which can then be altered according to customer
requirements.
http://www.guru99.com/bdcbatchdatacommunication.html

6/11

10/25/2016

SAPABAPBDC(BatchDataCommunication)Tutorial

You Might Like


Sqoop vs Flume vs HDFS in Hadoop
Cassandra Collections Tutorial - SET, LIST & MAP
Cassandra Data Types & Expiration Tutorial
Create & Drop INDEX in Cassandra: Complete Tutorial

Prev

SAPTrainingbyAtos
AwardedNo.1SAPEducationPartner.15K+ConsultantsTrained.Apply
NowGotoatos.net/SAPTraining

About

Contact Us

About us
Advertise with Us
Jobs
Privacy Policy

Contact us
FAQ
Write For Us

Follow Us

Certifications

ISTQB Certification
MySQL Certificatio
QTP Certification
Testing Certificatio
CTAL Exam

Copyright - Guru99 2016

http://www.guru99.com/bdcbatchdatacommunication.html

7/11

10/25/2016

http://www.guru99.com/bdcbatchdatacommunication.html

SAPABAPBDC(BatchDataCommunication)Tutorial

8/11

10/25/2016

http://www.guru99.com/bdcbatchdatacommunication.html

SAPABAPBDC(BatchDataCommunication)Tutorial

9/11

10/25/2016

http://www.guru99.com/bdcbatchdatacommunication.html

SAPABAPBDC(BatchDataCommunication)Tutorial

10/11

10/25/2016

http://www.guru99.com/bdcbatchdatacommunication.html

SAPABAPBDC(BatchDataCommunication)Tutorial

11/11