Application Development and Automation 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: 
Read only

call transaction and Batch input session

Former Member
0 Likes
3,467

What are the differences between CALL TRANSACTION and BATCH INPUT

SESSION ?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,767

Hi Arun,

The most important aspects of the batch session interface are: Asynchronous processing

Transfers data for multiple transactions

Synchronous database update

During processing, no transaction is started until the previous transaction has

been written to the database.

A batch input processing log is generated for each session

Sessions cannot be generated in parallel

The most important aspects of the CALL TRANSACTION USING interface are:

Synchronous processing

Transfers data for a single transaction

Synchronous and asynchronous database updating both possible

The program specifies which kind of updating is desired.

Separate LUW for the transaction

The system performs a database commit immediately before and after the

CALL TRANSACTION USING statement.

No batch input processing log is generated.

give pts if answered.

Thanks,

Anurodh

8 REPLIES 8
Read only

Former Member
0 Likes
1,767

Hi Arun,

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

check this link for more differences

http://www.saptechnical.com/Tips/ABAP/DiffSessionCALLTRANSC.htm

http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm

Hope this helps you.

Regards,

Chandra Sekhar

Edited by: Chandrasekhar Gandla on Jul 10, 2008 1:54 PM

Read only

Former Member
0 Likes
1,767

Why dnt u guys post some threads which is really useful!!!

Check out this thread guys i hope you shld not reply to gain points

hey please press f1 sometimes

Read only

0 Likes
1,767

Hi Bhanu,

If you have some new and useful threads, please post them.

Regards,

Chandra Sekhar

Read only

Former Member
0 Likes
1,767
Read only

Former Member
0 Likes
1,767

Hi,

Call Transaction:

1. Program execution and the application function are synchronous to each other

2. Error log is not automatic

3. Here you can't check before execution

4. Process is faster .

5. Updates data automatically when you execute the transaction.

In call transaction we can find error using BDCMSGCOLL table.

Batch Input Method:

1. Here Program execution and the application function are asynchronous to each other

2. Log is automatic.

3. Here you can check before execution

4. Process is slower.

5. Updation is not automatic,

GOTO SM35 and run the session .

In session method data is kept in QUEUE format.

Read only

Former Member
0 Likes
1,767

Hi Arun,

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 u2018Call Transactionu2019, 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 doesnu2019t 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.

Direct Input (DI) programs work exactly similar to BI programs. But the only difference is, instead of processing screens they validate fields and directly load the data into tables using standard function modules. For this reason, DI programs are much faster (RMDATIND - Material Master DI program works at least 5 times faster) than the BDC counterpart and so ideally suited for loading large volume data. DI programs are not available for all application areas.

And the main differences are

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

Regards,

Suresh.S

Read only

Former Member
0 Likes
1,768

Hi Arun,

The most important aspects of the batch session interface are: Asynchronous processing

Transfers data for multiple transactions

Synchronous database update

During processing, no transaction is started until the previous transaction has

been written to the database.

A batch input processing log is generated for each session

Sessions cannot be generated in parallel

The most important aspects of the CALL TRANSACTION USING interface are:

Synchronous processing

Transfers data for a single transaction

Synchronous and asynchronous database updating both possible

The program specifies which kind of updating is desired.

Separate LUW for the transaction

The system performs a database commit immediately before and after the

CALL TRANSACTION USING statement.

No batch input processing log is generated.

give pts if answered.

Thanks,

Anurodh

Read only

Former Member
0 Likes
1,767

Hi Arun,

Here is the difference between the Call Transaction and Call Session Method.


 Call Transaction
1) Call transaction exclusively for small amout of data.
2) it supports only one apllication while perfoming validations.
3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records. we can create logfile by using structure....BDCMSGCOLL
4) it doesn't support background processing.
5) data processing is synchronous and Data updation is Synchronous( default), in  this method also supports daya updation in asynchronus process also.
Syntax:
Call transaction <transaction-name> using BDCDATA  mode <A/N/E> update <L/A/S> messages into BDCMSGCOLL.

Session
1) Session method supports both small amount of data aswell as large amount of data.
2) data processing is asynchronus and data updation is synchronus.
3) it process multiple apllication while perfomaning validations.
4) in session method data will be updated in data base only after processing session only.
5) system provide by default logfile for handling error records.
6) it supports both foreground aswell as background process
in bdc we use FM ...
  bdc_open_group " for creating Session
  bdc_insert " adding transaction and bdcdata table for updating database
  bdc_close_group " for closing Session

&*************Reward Point if helpful***************&