Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BDC

Former Member
0 Kudos
117

Hi all

If we want to do BDC for a txn... which one is preferable for doing BDC (Session or Call Txn) and why?

thanks,

sekhar.

1 ACCEPTED SOLUTION

Former Member
0 Kudos
81

session method is preferable if amount of records are more as it takes more time

call transaction takes less time directly uploading into database used when records are less

Whenever we transfer Large amount of data we will Prefer using the Session method: bcoz

1. Process is divided into two steps Generate session and process session.

2. Error log is generated.

3. Only processing transactions can be run in Background using RSBDCSUB.

Whenever you want to process a transaction and based on the Result you want to process another transaction we must use Call transaction method. Bcoz

1. It will return SY-SUBRC after each Call transaction unlike session method.

2. We can handle the messages using BDCMSGCOLL

3. Supports asynchronous proecessing.

4. Errors can be handled using Session method

Message was edited by:

p498863

4 REPLIES 4

Former Member
0 Kudos
82

session method is preferable if amount of records are more as it takes more time

call transaction takes less time directly uploading into database used when records are less

Whenever we transfer Large amount of data we will Prefer using the Session method: bcoz

1. Process is divided into two steps Generate session and process session.

2. Error log is generated.

3. Only processing transactions can be run in Background using RSBDCSUB.

Whenever you want to process a transaction and based on the Result you want to process another transaction we must use Call transaction method. Bcoz

1. It will return SY-SUBRC after each Call transaction unlike session method.

2. We can handle the messages using BDCMSGCOLL

3. Supports asynchronous proecessing.

4. Errors can be handled using Session method

Message was edited by:

p498863

Former Member
0 Kudos
81

hi sekhar,

What is the difference between batch input and call transaction in BDC?

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

Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is

not bi-directional.

BDC works on the principle of simulating user input for transactional screen, via an ABAP program.

Typically the input comes in the form of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The transaction is then started using this internal table as the input and executed in the background.

In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling. It can also be used for real-time interfaces and custom error handling & logging features. Whereas in

Batch Input Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.

Batch Input (BI) programs still use the classical BDC approach but doesn’t require an ABAP program to be written to format the BDCDATA. The user has to format the data using predefined structures and store it in a flat file. The BI program then reads this and invokes the transaction mentioned in the header record of the file.

<b>Hope this is helpful, Do reward.</b>

Message was edited by:

Runal Singh

Former Member
0 Kudos
81

Hi,

selecting session method or call transaction depends upon the requirement.

we cant say which is best exactly.

if u have huge data, u can go to session method.

if u want to proceess it later, u can go for session method.

we can call two or more transactions in the same session.

Call transaction is usually preferred for background Operations for small volume of daa becoz in call transactions we have handle the exceptions.

In BDC the exceptions are handled by itself.

Also:

1. Control over processing records.

When we use call transaction,

we cannot control / break / stop

when the records are uploaded.

2. In bdc session,

we can stop/pause/break

when recordds are uploaded

Reward points if found helpful....

Cheers,

Chandra Sekhar.

Former Member
0 Kudos
81

Hi Sekhar,

<b>CALL TRANSACTION DEFINITION:</b>

In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling. It can also be used for real-time interfaces and custom error handling & logging features. Whereas in

Batch Input Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.

<b>BATCH INPUT DEFINITION:</b>

Batch Input (BI) programs still use the classical BDC approach but doesn’t require an ABAP program to be written to format the BDCDATA. The user has to format the data using predefined structures and store it in a flat file. The BI program then reads this and invokes the transaction mentioned in the header record of the file.

What is the difference between batch input and call transaction in BDC?

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

<b>Kindly reward points if you found the reply helpful.</b>

Cheers,

Chaitanya.