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 trx & Session method..?

Former Member
0 Likes
619

hi guru's.,

can anybody plz tell , why session method is using instead of Call trx method while there is large amt of data is available, eventhough session method is slower than Call Trx...?

Thanks & regards.,

Chandra

3 REPLIES 3
Read only

Former Member
0 Likes
540

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.

6) generally used for back ground jobs.

7) at atime we can update to more than one screens.

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

6) for background n fore ground jobs.

7) at atime we can update to a single screen.

For BDC:

http://myweb.dal.ca/hchinni/sap/bdc_home.htm

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&;

http://www.sap-img.com/abap/learning-bdc-programming.htm

http://www.sapdevelopment.co.uk/bdc/bdchome.htm

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

http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm

http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html

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

Vasanth

Read only

0 Likes
540

hi vasanth.,

thanks for ur answer,

but my question is why session method is using though it is slower than call trx when there is large amnt of data available.

As all know that Call trx is very fast

then we have to opt for call trx method, but in real we are opting Session method why...?

Read only

Former Member
0 Likes
540

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.

<b>Reward points</b>

Regards