意味
bgRFCユニット(言語要素)を処理するときに、トランザクションの整合性チェックが行われます。バックグラウンドユニットのコール機能<func>)これにより、アプリケーションのユニット実行でコミットが使用される可能性のあるABAP言語要素が回避されます。
同期および非同期RFC(呼び出し機能<func>宛先)、待つ、仕事をコミットする、ロールバック作業、HTTP通信(クラスを使用)CL_HTTP_CLIENT)、および汎用モジュールの呼び出しDB_COMMITこれらの言語要素に属しています。明示的なロールバック作業許可されていません。ただし、ロールバックはステートメントを使用して実行できますメッセージ。
エラーメッセージ
ABAPランタイムエラーのABAP言語エレメントのコール中SYSTEM_ILLEGAL_STATEMENT、暗黙的なコミットを実行すると、ABAPランタイムエラーが発生しますDBIF_DSQL2_DEFAULT_CR_ERROR汎用モジュール呼び出しを使用するDB_COMMIT。
バックグラウンド
このチェックの理由は、コミット後(たとえば、RFCによって開始された)、ユニットで以前に実行されたすべてのデータベースアクション(入れる、変更、アップデート、 と消去)はデータベースに保持されます。このアクションの後、アプリケーションが関連ユニットをエラーで終了した場合(メッセージE、A、 またバツ)その場合、ユニット全体(論理作業ユニット)をロールバックすることはできません。
ユニットを再度実行すると、同じデータベースの不整合が発生します。
実行時の動作の変更
この実行時の動作を変更するには、bgRFCユニットを作成するときにトランザクションの整合性チェックを無効にします(メソッドを使用)。IF_BGRFC_UNIT〜DISABLE_COMMIT_CHECKS)または、コミットまたはロールバックを引き起こす可能性のあるアクションが実行されないようにアプリケーションを変更する。
ただし、ここでは、言語要素を実装できますメッセージエラーをログに記録します。