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: 

what is the difference between call transaction and session method

Former Member
0 Kudos

what is the difference between call transaction and session method

8 REPLIES 8

prasanth_kasturi
Active Contributor
0 Kudos

hi,

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

regards

prasanth

Former Member
0 Kudos

Hi,

Hi,

CLASSICAL BATCH INPUT (Session Method)

CALL TRANSACTION

BATCH INPUT METHOD:

This method is also called as ‘CLASSICAL METHOD’.

Features:

Asynchronous processing.

Synchronous Processing in database update.

Transfer data for more than one transaction.

Batch input processing log will be generated.

During processing, no transaction is started until the previous transaction has been written to the database.

CALL TRANSACTION METHOD :

This is another method to transfer data from the legacy system.

Features:

Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.

Updating the database can be either synchronous or asynchronous. The program specifies the update type.

Transfer data for a single transaction.

Transfers data for a sequence of dialog screens.

No batch input processing log is generated.

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

Among the two methods call transaction is better compared to session bcoz data transfer is faster in it.

Regards,

Priyanka.

Arun kumar

Posts: 632

Registered: 8/7/06

Forum Points: 748

Re: difference between call transaction and session method and which metho

Posted: May 4, 2007 5:52 AM in response to: SHASHIDAR MOTOORI E-mail this message Reply

Hi shashidar,

Differences between call transaction and session.

Session Method:

1) Data is not updated in the database table until the session is processed.

2) No sy-subrc is returned.

3) Error log is created for error records.

4) Updation is always synchronous.

Call Transaction Method:

1) Immediate updation in the database table.

2) sy-subrc is returned.

3)Error need to be handled explicitly.

4) updation can be synchronous as well as asynchronous.

2) ya u can use using the N mode no screen.

3)u can't handle multiple transaction in call transaction.

4) u can handle multiple transaction in session using the BDC_INSERT fm.

5)When u go to SM35 u can able to see the error records.

Which is best?

That depends on your requirement. Both of them have there advantages.

According to the situation u can choose any one of these

Or

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

For session method,these are the function modules to b used.

BDC_OPEN_GROUP

BDC_INSERT

BDC_CLOSE_GROUP

For call transaction,this is the syntax.

CALL TRANSACTION TCODE USING BDCDATA

MODE A or E or N

UPDATE A or S

MESSAGES INTO MESSTAB.

Take a scenario where we need to post documents in FB01 and the input file has say 2000 records (2000 documents, not line items in FB01 but 2000 records)

In the BDC call transaction method

We call the transaction FB01 2000 times (once for each record posting) and if the processing fails in record no 3 it can be captured and start with reocord 4.

Eg: Loop at itab.

call transaction FB01

capture errors

endloop.

In the session method.

We do not explicity call the transaction 2000 times, but all the records are appeneded into a session and this session is stored. The processinf of the session is done wwhenever the user wants it to be done. Hence the errors cannot be captured in the program itself

Check these link:

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

http://www.sap-img.com/abap/question-about-bdc-program.htm

http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/

http://www.planetsap.com/bdc_main_page.htm

<REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Jun 12, 2008 7:25 AM

Former Member
0 Kudos

Hi

call other application programs using CALL TRANSACTION (type M program) or SUBMIT

Shruthi

p291102
Active Contributor
0 Kudos

Hi,

Call Transaction method:

In this method, the ABAP/4 program uses the call transaction <T-code > using <bdc_tab> mode <mode> update <update > method.

In u2018Call Transactionu2019, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

Synchronous Processing

We can update the database both synchronously and asynchronously. We can specify the mode in the program.

No batch input processing log

While execution it starts from the first.

Faster than session method

Classical or session method

n this method, ABAP/4 program read the external data that is to be entered to the SAP system and stores the data in the batch input session.

When the prgm has finished creating the session, we can run the session thro the TC SM35. This method involves FM like BDC_OPEN,BDC_INSERT,BDC_CLOSE

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.

Asynchronous Processing

Synchronous Database update.

During processing, no transaction is started until the previous transaction has been written to the database.

Detailed Log will be generated for all the sessions

While executing it wont start from the first. It will start from the place where it ends with error.

While executing it wont start from the first. It will start from the place where it ends with error.

Thanks,

Sankar M

Former Member
0 Kudos

hi sudheer,

well let me tell u in layman's language.i.e simple words....wattever my fellow friends have said about the diffrences about the updation differences in database nd all are all correct.

but to put it simply....both are the methods to transfer data between two r/3 systems or non r/3 systems.

in batch input method ....more of coding is required as in u have to use the following function methods.

BDC_ OPEN, BDC_INSERT and BDC_CLOSE

but its not the case in call transaction ,no need to use these methods,

instead the following is used.

CALL TRANSACTION <transaction code>

USING <bdc table>

OPTION FROM <opt>

MESSAGES INTO messtab

so it is more convenient to use call transactions method .no need fr hard coding ......

u can use recording fr the refernce.

hope this clarifies the doubt to some extent.

<REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Jun 12, 2008 7:25 AM

former_member181995
Active Contributor
0 Kudos

Sudheer,

i search with term call transaction vs session method i found answer.

you may want to do same rather than throwing thread on this issue.

Amit.

0 Kudos

hi there ,

In Session method it needs to use FM's like BDC_OPEN,BDC_INSERT,BDC_CLOSE

And Major features of it are

synchronous processing.

error log is created no need to handle errors explicitly

In Call transaction we the the transcation in a loop.

Major features are :

asynchronous processing

errors need to be handled explicitly

Former Member
0 Kudos

Hi sudheer rao,

Diff b/w Call Transaction and Session Methods are...

Call Transation

1) Log will not be generated

2) Error log handled explicity.

3) Always used for low volume of Data.

4) Both Synchronous/Asynchronous execute always in

Background

5) Processing in Fast

6) Data is updated automatically.

7) Legacy System Data

Session Method

1) Log will be generated.

2) Error log created automatically.

3) Large volume of Data.

4) Asynchronous both in Foreground and Background

5) Processing in Slow.

6) Data is not updated until session is proceed.

7) Master Data uploading.

<REMOVED BY MODERATOR>

S.Suresh.

Edited by: Alvaro Tejada Galindo on Jun 12, 2008 4:25 PM