!--a11y-->
この機能は4つの機能をインストールしてトランザクション型
RFC の動きを制御します。トランザクション型 RFC 対してのみ使用することかできます。構文は以下のものです。void SAP_API RfcInstallTransactionControl
(RFC_ON_CHECK_TID onCheckTid,
RFC_ON_COMMIT onCommit,
RFC_ON_ROLLBACK onRollback,
RFC_ON_CONFIRM_TID onConfirmTid)
この機能は、
ABAP の tRFC 経由で呼び出される、トランザクションの1回限りの動作を、 RFC サーバプログラムが保証できるようにするためにインストールされています。したがって、 RFC サーバプログラムがトランザクション型 RFC コールを受信してその RFC コールを1回限り実行する場合は、 RfcDispatch ループに入る前に RFC サーバプログラムが RfcInstallTransactionControl を呼び出す必要があります。これらの機能をインストールしない場合は、‘
Call Function ... In Background Task ’が発行する RFC コールが、この RFC サーバプログラムで最低1度実行されることしか保証されません。この場合、‘ Call Function ... In Background Task ’ 経由で呼び出されるサーバプログラムが提供するすべての汎用モジュールは、コールを1回以上受けることに対処する必要があります。インストールする場合、トランザクション型
RFC を呼び出すと、最初の機能 onCheckTid が呼び出されます。実際のトランザクション ID が渡されます( RFC_ON_CHECK_TID)。機能はこのトランザクション ID を常設記憶領域に格納して0を返す必要があります。後から同じトランザクション ID を使用して再び同一機能を呼び出す場合は、確実に、0ではない値を返す必要があります。そのトランザクションがすでに動作していて、まだ終了していない場合、この機能はトランザクションの終了を待機する必要があります。2番目の機能が呼び出されるのは、すべての
RFC 汎用モジュールコールが終了し、ローカルトランザクションが終了できる場合です。必要な場合 ( RFC_ON_COMMIT)、トランザクションをローカルでコミットするために使用します。この機能は‘ void ’です。3番目の機能は、ローカルトランザクションの処理中、
RFC ライブラリからみて、エラーが発生した場合に、2番目の機能の代わりに呼び出されます。この機能を使用してローカルトランザクションをロールバックすることができます( RFC_ON_ROLLBACK)。この機能は‘ void ’です。4番目の機能が呼び出されるのは、コール元のシステムから見てもトランザクションが終了して、このトランザクション
ID に関するすべての情報を放棄できる場合です。この機能は‘ void ’です。 RFC_ON_CONFIRM_TIDこの機能は
SAPRFC.H 内に定義されます。機能パラメータ
:
