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

Synchronous and Asynchronous clarification

Former Member
0 Likes
510

Hi,

BDC is synchronous method and Call transaction is Asynchronous method.

If I have 100 records in my internal table(which is uploaded from the flat file) and 50th record is a erronious one.Then in both of the above cases what will happen

What I know,In BDC the 50th record is logged in the log and the rest record from 51st will processed.As BDC is a synchronous method the next data should not be updated database as long as the previous one is updated in database.

Then how the 51st through 100th will updated in the database?

Please explain me.

Thanks,

Partha

3 REPLIES 3
Read only

Former Member
0 Likes
478

Dear partha

in synchronous process 50 th record is erronious means next record wont be uploaded. where as in case of assynchronous process all correct records will be uploaded except erronious records. all erronious records will be placed in BDCMSGCOLL , you need to verify that erronious records and then proceed for that.....

( create a internal table for BDCMSGCOLL structure in program )

with regards from

Prasad. EV

Read only

Former Member
0 Likes
478

Hi,

1.In BDC session ,what you are saying is ok.

Process is asynchronus and update is synchronus.

Till 50 th record is uploaded into the database.

After 50 th record , you need to upload once again by deleting the 1-50 records.

2.In call transaction,NOt like that.error records are goes to BDcmsgcoll and all other are updated in UPDATE mode as A.

3.http://help.sap.com/saphelp_47x200/helpdata/en/fa/09715a543b11d1898e0000e8322d00/frameset.htm

A 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.

S 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.

Regards,

Shiva.

Read only

Former Member
0 Likes
478

My Issue is clarified