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: 

Diff. between Synchronous and Asynchronous data processing in BDC.

Former Member
0 Kudos

Hi,

1. Can anybody tell me what is diff. between Synchronous and Asynchronous data processing in BDC and which method(Session or Call Transaction) does Synchronous processing and viceversa.

2. Which method(Session or Call Transaction) is fast and suitable for large volume of data?

Thanks & Regards,

Gagan

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Synchronus data processing is that in which the program calling the update task waits for the update work process to finish the update before it continues processing.

In Asynchronus update the callng program does not wait for update work process to finish the update and continues as normal.

A BDC done with sessions is always synchronus.

A BDC with call transaction is by default asynchronus

unless you define it explicitly as

call transaction 'XXXX' ...... update 'S'.

( If you donot define update option it is defaulted to "A" ).

The update method is of importance when one transaction locks data which may be required by a subsequent transaction . The subsequent transaction will fail if data is locked from previous one. An example would be you are creating sales order for same material in succession ( with asynchronus update ). Quite likely that some of transactions would fail due to material locked.

For large volume of data Call Transaction will be faster but you have no restart capability here. Suppose from 1000 transactions 100 fails . You will have to run the BDC program again exclusing the ones which wrere successful. However with session method you have the option to process the error transactions again in SM35 . So if you are sure that errors will not occur use call transaction else use session method.

Cheers

2 REPLIES 2

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Check out the following link.

www.sappoint.com/abap/bdcconcept.pdf

Regards,

Rich Heilman

Former Member
0 Kudos

Synchronus data processing is that in which the program calling the update task waits for the update work process to finish the update before it continues processing.

In Asynchronus update the callng program does not wait for update work process to finish the update and continues as normal.

A BDC done with sessions is always synchronus.

A BDC with call transaction is by default asynchronus

unless you define it explicitly as

call transaction 'XXXX' ...... update 'S'.

( If you donot define update option it is defaulted to "A" ).

The update method is of importance when one transaction locks data which may be required by a subsequent transaction . The subsequent transaction will fail if data is locked from previous one. An example would be you are creating sales order for same material in succession ( with asynchronus update ). Quite likely that some of transactions would fail due to material locked.

For large volume of data Call Transaction will be faster but you have no restart capability here. Suppose from 1000 transactions 100 fails . You will have to run the BDC program again exclusing the ones which wrere successful. However with session method you have the option to process the error transactions again in SM35 . So if you are sure that errors will not occur use call transaction else use session method.

Cheers