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: 

Call transaction and session.

Former Member
0 Kudos
124

Hi programr's,

i want just clarification whether am i wrong or correct.

call transaction

1) syncronous processing

2) synchronous / asynchronous update.

session method

1) asnchronous processing

2) synchronous update.

I m always confused am i correct or wrong.

regards,

karthik

1 ACCEPTED SOLUTION

Former Member
0 Kudos
86

call transaction

1) syncronous processing

2) synchronous / asynchronous update.

session method

1) asnchronous processing

2) synchronous update.

ur correct

8 REPLIES 8

Former Member
0 Kudos
86

Hi

I seem you aren't confused, only I believe session method is asynchronous update, I don't think the system wait for the end of updating.

The session method run each transaction singularly, so It needs only to know if the transaction is over.

Max

0 Kudos
86

hi Max,

can u give any example so that i can understand.

regards,

karthik

0 Kudos
86

Hi

The CALL TRANSACTION is syncronous processing because it runs the transaction in the same program created the BDC.

The SESSION METHOD is asnchronous processing because it runs all trx at the end by SM35, so in the different moment.

When it choose the CALL TRANSACTION method, it can choose if updating is synchronous or asynchronous.

All updating of database are triggered after the transaction is over when the COMMIT is triggered, so:

If it choose synchronous, it means the system wait for all updating are really finished, else the program wait for the trx is over only, so your program's running while the system updting the database.

For example you want to read the new hit after the call transaction is over:

CALL TRANSACTION <TRX> ..... USING TAB-BDC UPDATE 'A'

IF SY-SUBRC = 0.

SELECT * FROM <TABLE> WHERE .....

ENDIF.

In this situation the system retunr in the program just only the trx is over, and this doesn't mean the database is updated, so probably the SELECT statament can fail.

CALL TRANSACTION <TRX> ..... USING TAB-BDC UPDATE 'S'

IF SY-SUBRC = 0.

SELECT * FROM <TABLE> WHERE .....

ENDIF.

In this situation the system retunr in the program just only the trx is over and all updating are made, so he SELECT statament can't fail now.

The problem is performace is better with asynchronous mode and so the system chooses this method by default, it has to force the synchronous mode.

But why does it need to force the synchronous mode? Just only to read the data after saving it, and this can't be purpose of SESSION method: it has to save the data.

Max

Former Member
0 Kudos
87

call transaction

1) syncronous processing

2) synchronous / asynchronous update.

session method

1) asnchronous processing

2) synchronous update.

ur correct

Former Member
0 Kudos
86

Hi Karthik,

Session Method creates a session which you can process separately in SM35.

the updation is for each transaction one by one .So it is asynchronous update.

If you want to check this out just process the session in foreground in SM35.

The remaining is all correct..

0 Kudos
86

Hi domnic as u said that the updation in session is done on by one then its always synchronous then.

what do u say?

regards,

karthik

ferry_lianto
Active Contributor
0 Kudos
86

Hi Karthik,

Please check this link perhaps it may help.

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

Regards,

Ferry Lianto

Former Member
0 Kudos
86

thnk u all.