使用する
Cancel() BAPIは、ビジネスオブジェクトの1つのインスタンスをキャンセルします。
データベースからオブジェクトインスタンスを削除するBAPIDelete ()とは異なり、 BAPI Cancel()を使用します。
-
キャンセルされたビジネスオブジェクトのインスタンスは削除されません
-
追加のインスタンスが作成され、ビジネスオブジェクトのインスタンスが削除されます。
Cancel() BAPIは、在庫移動や請求書受領などのビジネスプロセスをキャンセルするために使用されます。
Cancel() BAPIはインスタンスメソッドです。
特徴
BAPIインターフェース
パラメータのインポート
インポートパラメータを定義するときは、次の点に注意する必要があります。
-
Cancel() BAPIの汎用モジュールのインポートパラメータには、対応するビジネスオブジェクトタイプのキー項目が含まれている必要があります。パラメータの名前は、BORのオブジェクトキーの名前と同じである必要があり、同じデータ要素を持っている必要があります。
-
作成されるインスタンスのデータは、取り消されるビジネスオブジェクトインスタンスのデータから取得されます。そのため、明示的に転送することもできなくなります。
-
さらにパラメータを作成して、実際のキャンセルプロセスに関連する情報(キャンセルを実行するユーザーの名前など)を指定することもできます。
-
BAPIには、テスト実行を実行できるようにするTestRunパラメーターも必要です。このパラメーターに値「X」が含まれている場合、BAPIは正常に実行されますが、結果は更新タスクに書き込まれません。このようにして、BAPI BapiService.TransactionCommitの実行後、すべての結果(たとえば、アプリケーションログなど)を評価できますが、BAPIはデータベースを変更していません。
-
変更を必要とせずに顧客がBAPIのインポートパラメータを拡張できるようにする場合は、パラメータExtensionInを作成する必要があります。カスタマエンハンスメントの概念をCancel() BAPIに実装する方法に関する拡張パラメータおよび推奨事項については、 BAPIに対するカスタマエンハンスメントを参照してください。
パラメータのエクスポート
エクスポートパラメータを定義するときは、次の点に注意する必要があります。
-
得意先が変更を必要とせずにBAPIのエクスポートパラメータを拡張できるようにする場合は、パラメータExtensionOutを作成する必要があります。カスタマエンハンスメントの概念をCancel() BAPIに実装する方法に関する拡張パラメータおよび推奨事項については、 BAPIに対するカスタマエンハンスメントを参照してください。
-
作成されたキャンセルインスタンスのキーは、以降のエクスポートパラメータで返す必要があります。
-
メソッドコールバックからのメッセージを呼び出し元のプログラムに報告するには、パラメータReturnを作成する必要があります。同期的または非同期的に呼び出されるCancel() BAPIの結果が広範囲に監視されるようにするには、 Returnパラメーターを入力するための以下の規則に従う必要があります。
-
Cancel() BAPIが正常に実行された場合、つまりキャンセルインスタンスが作成された場合は、次の標準化されたT100メッセージをReturnパラメータで渡す必要があります。
次の点に注意する必要があります。
-
フィールドMESSAGE_V1には、SalesOrderなどのビジネスオブジェクトタイプの外部名が含まれています。
-
キャンセルされたオブジェクトがアクセスされたキーは、フィールドMESSAGE_V2に返されます。これは、外部番号割当を使用する場合は外部キー、内部番号割当を使用する場合は内部キーです。オブジェクトに複数のキーフィールドがある場合、これらのキーフィールドの値をMESSAGE_V2で連結する必要があります。連結では、BORでキーフィールドが定義されている順序を順守する必要があります。さらに、各キーフィールドには最大長を使用する必要があります。これには、パディングの使用が必要になる場合があります。
-
キャンセルインスタンス用に作成されたキーは、MESSAGE_V4で返されます。これは、外部番号割当を使用する場合は外部キー、内部番号割当を使用する場合は内部キーです。キーも複数のフィールドで構成されている場合は、これらも同様に連結する必要があります。
-
-
Cancel() BAPIの実行中にエラーが発生した場合、アプリケーション固有のエラーメッセージに加えて、次の標準化されたT100メッセージをReturnパラメータで渡す必要があります。
フィールドMESSAGE_V4が入力されていないことを除けば、他のフィールドの意味は正常に実行された場合と同じです。
-
標準化されたメッセージに加えて、Returnパラメーターにさらにメッセージを書き込むことができます。エラーが発生した場合、エラーを詳細に説明するメッセージが返されることが特に重要です。したがって、構造BAPIRET2のすべての項目を使用する必要があります。特に、 Parameter、 Row、およびFieldの各フィールドに入力する必要があります。
-