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: 

BDC

Former Member
0 Kudos

Hi All,

Could anybody tell me the significance and difference of

>> Synchronous and Asynchronous processing

>> Synchronous and Asynchronous update

Thanks,

Suresh

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi ,

Hi Check out this,

Synchronous:

In synchronous update, you do not submit an update request using CALL FUNCTION... IN UPDATE TASK. Instead, you use the ABAP statement COMMIT WORK AND WAIT. When the update is finished, control passes back to the program. Synchronous update works in the same way as bundling update requests in a subroutine (PERFORM ON COMMIT). This kind of update is useful when you want to use both asynchronous and synchronous processing without having to program the bundles in two separate ways.

Asynchronous:

A typical SAP system installation contains dialog work processes and at least one update work process. The update work processes are responsible for updating the database. If, in a dialog work process, the function modules stored in interim storage through CALL FUNCTION ... IN UPDATE TASK are released for processing by means of the ABAP statement COMMIT WORK, the dialog work process will not wait for the update process to finish.

Reward if useful!

5 REPLIES 5

Former Member
0 Kudos

Hi,

Asynchronous Update – The program does not wait for the work process to finish the update. Commit Work.

Synchronous Update – The program wait for the work process to finish the update. Commit Work and Wait.

Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed. It simply passes the updates to the SAP update service. Asynchronous processing therefore usually results in faster execution of your data transfer program.

Asynchronous processing is NOT recommended for processing any larger amount of data. This is because the called transaction receives no completion message from the update module in asynchronous updating. The calling data transfer program, in turn, cannot determine whether a called transaction ended with a successful update of the database or not.

If you use asynchronous updating, then you will need to use the update management facility (Transaction SM12) to check whether updates have been terminated abnormally during session processing. Error analysis and recovery is less convenient than with synchronous updating.

Synchronous updating. In this mode, the called transaction waits for any updates that it produces to be completed. Execution is slower than with asynchronous updating because called transactions wait for updating to be completed. However, the called transaction is able to return any update error message that occurs to your program. It is much easier for you to analyze and recover from errors.

Thanks,

Anitha

Former Member
0 Kudos

Hi ,

Hi Check out this,

Synchronous:

In synchronous update, you do not submit an update request using CALL FUNCTION... IN UPDATE TASK. Instead, you use the ABAP statement COMMIT WORK AND WAIT. When the update is finished, control passes back to the program. Synchronous update works in the same way as bundling update requests in a subroutine (PERFORM ON COMMIT). This kind of update is useful when you want to use both asynchronous and synchronous processing without having to program the bundles in two separate ways.

Asynchronous:

A typical SAP system installation contains dialog work processes and at least one update work process. The update work processes are responsible for updating the database. If, in a dialog work process, the function modules stored in interim storage through CALL FUNCTION ... IN UPDATE TASK are released for processing by means of the ABAP statement COMMIT WORK, the dialog work process will not wait for the update process to finish.

Reward if useful!

Former Member
0 Kudos

hi SSK,

Synchronous update will update all the related tables and sy-subrc is returned at last.

But in asynchronous update it will update a table and sy-subrc is returned. Which will not tell abt the updation of the other related tables.

Regards...

Arun.

Reward points if useful.

Former Member
0 Kudos

<b>Session method.</b>

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.

<b>Call transaction.</b>

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

The most important aspects of the <b>batch sessionmethod </b> interface are: - <b>Asynchronous processing</b> - Transfers data for multiple transactions - <b>Synchronous database update During processing</b>, 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 <b>CALL TRANSACTION</b> USING interface are: - <b>Synchronous processing</b> - Transfers data for a single transaction - <b>Synchronous and asynchronous database updating both possible</b> 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.

reward points if it is usefull ...

Girish

0 Kudos

Hi Girish,

In the points above.... u have mentioend synchronous for session and in the details below u have mentioned asynchronous for session..... which is correct.... could you plz elaborate that on the processing alone.... im clear with the update.... also how do we process multiple transaction

Thanks,

Suresh

Message was edited by:

S S K