Fighting problems of asynchronous processing in ABAP

In most Standard SAP applications, changes to data are not directly (“synchronously”) written back to the database. Instead, SAP Netweaver buffers these changes and writes them at a later time (“asynchronously”).

On many occasions, you won’t notice this asynchronous nature and it won’t cause any problems. Even better, asynchronous processing is good for performance! However, sometimes you’ll want to continue processing only when the database is completely up-to-date. For example:

  • When you are trying to get additional data not returned by the BAPI or Function Module you just called;
  • When you want to run another BAPI or Function Module that depends on the database being completely up to date after the previous call.

Especially in interface programming, I have seen some cumbersome solutions. The good news is: There are good solutions to enforce synchronous processing. This post lists these options. Continue reading