使用する
qRFC(キューに入れられたリモート関数呼び出し)は、tRFCの拡張です。これにより、キューを使用してtRFC呼び出しをシリアル化できます。
tRFC呼び出しの前に、シリアル化を開始する汎用モジュールTRFC_SET_QUEUE_NAMEがあります。その後、呼び出しは実際にtRFC呼び出しによってディスパッチされます。
qRFCは、アウトバウンドキュー(呼び出し元アプリケーションでのシリアル化)とインバウンドキュー(呼び出されたアプリケーションでのシリアル化)を使用して作成できます。
これにより、トランザクションデータ転送のシナリオは次のようになります。
シナリオ1:tRFC
このシナリオは、送信されるデータが互いに独立している場合に適しています。システム1の呼び出し側アプリケーション(クライアント)は、システム2の呼び出されたアプリケーション(rサーバー)へのtRFC接続を使用します。このシナリオでは、データはtRFCによって転送されます。つまり、ターゲットシステムに送信される各汎用モジュールは実行されることが保証されます。一回だけ。汎用モジュールが実行される順序や実行時刻を定義することはできません。転送中にエラーが発生した場合は、バッチジョブがスケジュールされ、15分後に汎用モジュールが再送信されます。
シナリオ2:アウトバウンドキューを使用したqRFC
このシナリオでは、送信システムはアウトバウンドキューを使用して、送信されるデータをシリアル化します。これは、相互に依存する汎用モジュールが送信システムの送信キューに配置されることを意味します。データが送信されると、正確な順序が保持され、呼び出しはターゲットシステムに1回だけ順番に送信されます。正確に1回の順序で)。
シナリオ3:インバウンドキュー(およびアウトバウンドキュー)を使用したqRFC
このシナリオでは、送信側システム(クライアント)のアウトバウンドキューと同様に、ターゲットシステム(サーバー)のインバウンドキューもあります。インバウンドキューを持つqRFCが存在する場合、これは常にアウトバウンドキューが送信側システムに存在することを意味します。
インバウンドキューは、その時点で対象システム(サーバ)のシステムリソースが許可する数の汎用モジュールのみを処理します。これにより、サーバーがクライアントによってブロックされるのを防ぎます。順序を設定し、個々のアプリケーションがクライアントシステムのすべてのワークプロセスをブロックしないようにするために、クライアントシステムでアウトバウンドキューが必要になるため、サーバーシステムにインバウンドキューが1つしかないシナリオは不可能です。
詳しくは
qRFCの詳細については、次のURLを参照してください。