SAP - リモート関数モジュールを呼び出すアクション
このアクションを使用して、SAPシステムでRemote Function Call(RFC)を通じてRemote Function Module(RFM)を検出して実行します。
必要に応じて、このアクションをトランザクションを開始およびトランザクションを終了アクションと組み合わせて、複数のRFMを1つの論理作業単位で実行します。 これにより、トランザクションの最後にシーケンス全体をコミット(またはロールバック)できます。
BAPIを使用していますか
代わりにCall BAPIアクションを使用してください。
入力
| フィールド名 | 説明 |
|---|---|
| RFMの説明 | 任意。 このステップに、レシピステップに表示される人が読める説明を付けます。 この入力はRFCの実行に影響しません。 |
| RFM名 | 実行するRFMを選択します。 このピックリストには、SAPシステム内のすべてのRFMが含まれています。 SAPシステムに多数のRFMがある場合、このピックリストの読み込みと検索に最大15秒かかることがあります。 名前を入力する代わりに、RFM名をこのフィールドにコピーして貼り付けると、検索が速くなる場合があります。 RFMを選択すると、そのすべてのデータフィールドをオプション項目の追加/削除セクションで確認できます。 |
| トランザクションID | 任意。 このRFCをトランザクション内で実行するには、トランザクションを開始アクションのトランザクションIDデータピルをマッピングします。 |
| 自動コミット | トランザクションIDがマッピングされている場合は任意で無効です。 一部のRFMは、デフォルトでは変更をコミットしません。 - RFC BAPI_TRANSACTION_COMMITを使用してRFMにコミットを強制する場合は、はいを選択します。 RFMが失敗した場合、RFC BAPI_TRANSACTION_ROLLBACKが呼び出されます。 - RFM自身にコミットさせる場合は、いいえを選択します。 RFMコード内で BAPI_TRANSACTION_COMMITが呼び出されない場合、データはデータベースにコミットされません。 |
出力
| フィールド名 | 説明 |
|---|---|
| RFM名 | 選択したRFMの名前。 |
| Status | SAPでRFMが実行された後のステータス。 成功または失敗のステータスになります。 |
| エラーメッセージ | エラーが発生した場合のエラーメッセージ。 |
| レスポンスデータ | RFMが実行された後のSAPからのレスポンスデータフィールドが含まれます。 |
トランザクション内でのリモート関数モジュールの呼び出し
RFMを順番に呼び出すことで、SAPシステムへの一連の更新を同時に安全にコミットできます。 これにより、データの整合性を確保できるだけでなく、問題が発生した場合にロールバックを簡単に実行できます。

トランザクション内でRFMを実行する方法
RFMのシーケンスを開始する位置にトランザクションを開始アクションを追加します。
リモート関数モジュールを呼び出すアクションを使用して、任意の数のRFMを追加します。 トランザクションを開始アクションの出力データピルトランザクションIDを、各リモート関数モジュールを呼び出すアクションのトランザクションID入力フィールドにマッピングします。 必要に応じて他のフィールドを設定します。
目的のRFM呼び出しシーケンスの最後に、トランザクションを終了アクションを追加します。 トランザクションを開始アクションの出力データピルトランザクションIDをトランザクションID入力フィールドにマッピングし、ジョブ実行がこのステップに到達したときにこのシーケンス全体をSAPアプリケーションに保存するため、作業をコミットを選択します。
リモート関数モジュールを呼び出すアクションをエラーを監視ブロックでラップします。 これにより、変更をロールバックを選択したトランザクションを終了アクションを追加できます。 これにより、レシピを実行するときにいずれかのステップでエラーが発生した場合、トランザクションをロールバックできます。
Last updated: