ABAP - Keyword Documentation →  ABAP - Reference →  Processing External Data →  ABAP Database Accesses →  Open SQL →  Open SQL - Overview →  Open SQL - Table Buffering → 

Table Buffering - Buffer Synchronization

Invalidating and Updating

One buffered table or database view usually exists in the table buffers of every application server. If a program modifies data from a table on one of the application servers using Open SQL, the servers are updated as follows:



If the free memory in the buffer falls below a predefined value or the quality of access is poor, data is evicted from the buffer. The quality of access depends on the number of accesses that can be met directly from the buffer.

The need for evictions is checked asynchronously at specific points in time (themselves determined using the accesses to the buffer), which means that the length of time between two evictions depends on the buffer load.

Data is evicted from those tables that are accessed least often. Here, accesses to a table are weighted differently depending on the time they take place. Older accesses, for example, are less significant than those that take place shortly before the eviction. This makes it possible to evict those tables from the buffer that are accessed a lot at one particular point in time but then no longer used.


The individual generic areas of generically buffered tables are handled like standalone tables, which means that certain generic areas of a table can be evicted while other generic areas of the same table are kept in the buffer.

Resetting the Buffer

The table buffer of the current application server can be reset by invalidating all its data. This is done by entering /$TAB in the command field in the standard toolbar in SAP GUI.


The table buffer should only be reset if inconsistencies have arisen in the buffer. It can take a long time to fill the table buffer in large systems and this can seriously affect performance.