データ転送方法の選択 

ABAP でデータを転送する際、データ転送用データの依頼に関するオプションが 3 つあります。最初の 2 通りの方法だけは無条件で推奨することができます。 3 番目の CALL DIALOG による方法は、旧式になっています。 CALL DIALOG はその他の方法にくらべて効率的ではありません。使用するのはそれが必須である場合だけにしてください。

要約 : CALL TRANSACTION USING を使用すると、バッチインプットセッションの場合よりも迅速にデータが処理されます。バッチインプットセッションとは異なり、 CALL TRANSACTION USING では対話形式の修正やロギング機能を自動的にサポートしていません。

プログラムではデータを準備して、即座に処理される対応トランザクションをコールします。

以下に CALL TRANSACTION USING の最も重要な特徴を示します。

プログラムで更新タイプを指定します。

システムは、 CALL TRANSACTION USING 命令の直前と直後にデータベースコミットを行います

要約 : セッションの管理、再処理およびエラーのあるセッションの修正のサポート、詳細ログを提供します。

独自のプログラムにより準備したデータがバッチインプットセッションに格納されます。セッションとは 1 つまたは複数のトランザクションのトランザクションデータを集めたものです。バッチインプットセッションは、バッチインプットキュー内でシステムにより更新されます。バッチインプットセッションをバックグラウンド処理システム内で処理することができます。

独自プログラムはデータを転送する前にキュー内でセッションをオープンし、後で再びそれをクローズしなければなりません。これらの操作はすべて ABAP プログラムから汎用モジュールをコールすることによって実行されます。

以下にセッションインタフェースの最も重要なアスペクトを示します。

直前のトランザクションがデータベースに書き込まれるまで、処理の間、他のトランザクションは起動されません。

バッチインプットプログラムでは、先行セッションをクローズするまで別のセッションをオープンしないでください。

 

要約 : セッションまたは CALL TRANSACTION USING によってデータを入力できる場合には推奨しません。

独自プログラムにより一連のダイアログ画面のデータが用意され、即時処理用ダイアログモジュールがコールされます。

以下に CALL DIALOG インタフェースの最も重要なアスペクトを示します。

データベース更新が行われるのは、コールしているプログラムがコミット操作を実行するときだけです。