
バッファリング対象テーブルへのアクセスをプログラミングするときは、どのアクセスがバッファからの読込を行ない、どのアクセスがデータベースに直接行われるかを把握しておくことが重要です。
以下のアクセスは常にバッファを迂回してデータベースに直接行われます。
ジェネリックバッファリングでは、ジェネリックキーを完全指定しない
SELECT 命令はすべてデータベースに直接アクセスします。このためジェネリックバッファリングでは、バッファを使用できるのは完全なジェネリックキーを指定するアクセスに限られます。シングルレコードバッファリングでは、接尾辞
SINGLE のない SELECT 命令はすべてデータベースに直接アクセスします。これは、完全なキーが SELECT 命令で指定されていても同様です。したがって、シングルレコードバッファリングでは、バッファを使用できるのは SELECT SINGLE によるアクセスのみとなります。もちろん、ネイティブ
SQL (EXEC SQL) によるアクセスもすべてバッファを迂回してデータベースに直接行われます。このようなアクセスは、バッファリング対象テーブルでは 絶対に避けるべきです。最初に、読込アクセスは、必ずテーブルバッファを迂回します。次に、 R/3 システムは、エントリが同期化テーブルに登録されていないので、変更アクセスであることに気付きません ( ローカルバッファの同期化を参照 ) 。これにより、アプリケーションサーバのバッファ内のデータとデータベース上のデータの不整合が発生することがあります。