SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

Programming Methods for Sub-Objects

使用する

ビジネスオブジェクトタイプがサブオブジェクトで構成されている場合は、以下の標準化されたBAPIを実装して、サブオブジェクトを追加または削除できます。

  • <サブオブジェクトの名前>()を追加します

    このメソッドは、サブオブジェクトをオブジェクトタイプに追加します。

  • <サブオブジェクトの名前>()を削除します

    このメソッドは、オブジェクトからサブオブジェクトを削除します。

    たとえば、サブオブジェクトの発注書アイテムをビジネスオブジェクトタイプの発注書に追加または削除するには、オブジェクトタイプの発注書に対してBAPIのPARAGRAPH()およびRemoveItem()を実装できます

BAPIのAdd<サブオブジェクトの名前>()およびRemove <サブオブジェクトの名前>()はインスタンスメソッドです。

特徴

BAPIインターフェース

パラメータのインポート

インポートパラメータを定義するときは、次の点に注意する必要があります。

  • インポートパラメータを定義するときは、次の点に注意する必要があります。パラメータの名前は、BORのオブジェクトキーの名前と同じであり、同じデータ要素を持っている必要があります。

  • 両方のBAPIの汎用モジュールのインポートパラメータには、対応するビジネスオブジェクトタイプのキー項目が含まれている必要があります。

  • BAPIには、テスト実行を実行できるようにするTestRunパラメーターも必要です。このパラメーターに値「X」が含まれている場合、BAPIは正常に実行されますが、結果は更新タスクに書き込まれません。このようにして、BAPI BapiService.TransactionCommitの実行後、すべての結果(たとえば、アプリケーションログなど)を評価できますが、BAPIはデータベースを変更していません。

  • 変更を必要とせずに顧客がBAPIのインポートパラメータを拡張できるようにする場合は、パラメータExtensionInを作成する必要があります。拡張パラメータと、 Add <サブオブジェクトの名前>()またはRemove <サブオブジェクトの名前>()BAPIでカスタマーエンハンスメントの概念を実装する方法に関する推奨事項については、 BAPIのカスタマーエンハンスメントを参照してください。

  • 変更パラメーターを作成して、インスタンスを作成するための値を識別し、BAPIが呼び出されたときにこれらの値を初期値と区別することができます。変更に関連するフィールドにフラグを付けて識別することをお勧めします。

パラメータのエクスポート

Remove <サブオブジェクトの名前>()BAPIのエクスポートパラメータを定義するときは、次の点に注意する必要があります。

  • メソッドコールバックからのメッセージを呼び出し元のプログラムに報告するには、エクスポートパラメータReturnのみを作成する必要があります。同期または非同期のいずれかで呼び出されるRemove <サブオブジェクトの名前>()BAPIの結果を確実に監視するには、 Returnパラメーターを入力するための次の規則に従う必要があります。

    • BAPIが正常に実行された場合、つまり目的のサブオブジェクトが削除された場合は、次の標準化されたT100メッセージをReturnパラメーターで渡す必要があります。

      戻る

      メッセージ

      タイプ

      S

      ID

      BAPI

      番号

      014

      MESSAGE_V1

      <オブジェクト名>

      MESSAGE_V2

      < reference_id >

      MESSAGE_V3

      < reference_id >

      システム

      <システム>

      次の点に注意する必要があります。

      • フィールドMESSAGE_V1には、 SalesOrderなどのビジネスオブジェクトの外部名が含まれています

      • サブオブジェクトが削除されたオブジェクトにアクセスするためのキーは、MESSAGE_V2で返されます。これは、外部番号割当を使用する場合は外部キー、内部番号割当を使用する場合は内部キーです。オブジェクトに複数のキーフィールドがある場合、これらのキーフィールドの値をMESSAGE_V2で連結する必要があります。連結では、BORでキーフィールドが定義されている順序を順守する必要があります。さらに、各キーフィールドには最大長を使用する必要があります。これには、パディングの使用が必要になる場合があります。

      • Remove <サブオブジェクトの名前>()BAPIの実行中にエラーが発生した場合、アプリケーション固有のエラーメッセージに加えて、次の標準化されたメッセージをReturnパラメータで転送する必要があります。

        戻る

        メッセージ

        タイプ

        E

        ID

        BAPI

        番号

        015

        MESSAGE_V1

        <オブジェクト名>

        MESSAGE_V2

        < reference_id >

        MESSAGE_V3

        < reference_id >

        システム

        <システム>

        さまざまなフィールドの意味は、正常に実行された場合と同じです。

      • 標準化されたメッセージに加えて、 Returnパラメーターにさらにメッセージを書き込むことができます。エラーが発生した場合、エラーを詳細に説明するメッセージが返されることが特に重要です。したがって、構造BAPIRET2のすべての項目を使用する必要があります。特に、 Parameter、Row、およびFieldの各フィールドに入力する必要があります。

Add <サブオブジェクトの名前>()BAPIのエクスポートパラメータを定義するときは、次の点に注意する必要があります。

  • 得意先が変更を必要とせずにBAPIのエクスポートパラメータを拡張できるようにする場合は、パラメータExtensionOutを作成する必要があります。拡張パラメータと、サブオブジェクト() BAPIのAdd <名にカスタマエンハンスメントの概念を実装する方法に関する推奨事項については、 BAPIへのカスタマーエンハンスメントを参照してください。

  • メソッドコールバックからのメッセージを呼び出し元のプログラムに報告するには、パラメータReturnを作成する必要があります。同期的または非同期的に呼び出されるAdd <サブオブジェクトの名前>()BAPIの結果が広範囲に監視されるようにするには、 Returnパラメーターを入力するための次の規則に従う必要があります。

    • BAPIが正常に実行された場合、つまり目的のサブオブジェクトが作成された場合は、次の標準化されたT100メッセージをReturnパラメータで渡す必要があります。

      戻る

      メッセージ

      タイプ

      S

      ID

      BAPI

      番号

      012

      MESSAGE_V1

      <オブジェクト名>

      MESSAGE_V2

      < reference_id >

      MESSAGE_V3

      < reference_id >

      システム

      <システム>

      さまざまなフィールドの意味は、 Remove <サブオブジェクトの名前>() BAPIのプログラミングモデルで説明されているものと同じです。

    • Add <サブオブジェクトの名前>()BAPIの実行中にエラーが発生した場合、アプリケーション固有のエラーメッセージに加えて、次の標準化されたメッセージをReturnパラメータで転送する必要があります。

      戻る

      メッセージ

      タイプ

      E

      ID

      BAPI

      番号

      013

      MESSAGE_V1

      <オブジェクト名>

      MESSAGE_V2

      < reference_id >

      MESSAGE_V3

      < reference_id >

      システム

      <システム>

      さまざまなフィールドの意味は、正常に実行された場合と同じです。

    • 標準化されたメッセージに加えて、 Returnパラメーターにさらにメッセージを書き込むことができます。エラーが発生した場合、エラーを詳細に説明するメッセージが返されることが特に重要です。したがって、構造BAPIRET2のすべての項目を使用する必要があります。特に、 Parameter、Row、およびFieldの各フィールドに入力する必要があります。

タイトルとURLをコピーしました