使用する
BAPIパラメータは、BORおよび汎用モジュールのビジネスオブジェクトタイプのメソッドで定義する必要があります。どちらの場合も、ビジネスオブジェクトタイプのキー項目を除いて、定義は同一である必要があります。ビジネスオブジェクトタイプのキーフィールドは、セマンティックおよび技術レベルでビジネスオブジェクトタイプを識別するために使用されます。キーの一部ではなく、キー全体が常に使用されます(完全に定義されたキー)。これには、意味的な理由(インスタンスはキーによって識別される)と技術的な理由(キーはBORで生成され、既存のキーフィールドに対してさまざまなチェックが行われます)があります。
BAPIがビジネスオブジェクトタイプの特定のインスタンスを他のパラメータとともに参照する場合、ビジネスオブジェクトタイプのキーフィールドがBORのメソッドに転送され、インスタンスが識別されます。この場合、キーフィールドはBORのメソッドパラメータの下に再度リストされません。この区別は汎用モジュールでは行うことができないため、キー項目をパラメータとしてここにリストする必要があります。
以下の規則は、汎用モジュールインタフェースのキー項目に適用されます。
-
インスタンスメソッドでは、すべてのBORキー項目が汎用モジュールの必須インポートパラメータです。BORキー項目は、汎用モジュールでエクスポートパラメータとして定義してはなりません。
-
クラスメソッドでは、BORキー項目を汎用モジュールのエクスポートパラメータとして定義してはなりません(例外:メソッドの作成)。BORキー項目を汎用モジュールのインポートパラメータとして定義することもできません。
-
createメソッドを使用すると、メソッドのすべてのBORキー項目が汎用モジュールのエクスポートパラメータとして定義されます。BORキー項目は、汎用モジュールのインポートパラメータとして定義してはなりません(これはすべてのクラスメソッドに適用されます)。Createメソッドは、BORでインスタンスに依存しないものとして分類されます。
上記のガイドラインに従って、キー項目が汎用モジュールのパラメータとして定義されている場合、以下の規則が適用されます。
-
部分的なキーではなく、完全に定義されたキーが使用されます。
-
汎用モジュールには、ビジネスオブジェクトタイプの各キー項目のパラメータがあります。
-
汎用モジュールのパラメータとBORキー項目は同じ名前です。
汎用モジュールインタフェースは、以下の規則も満たす必要があります。
-
パラメータExtensionInおよびExtensionOutには、構造BAPIPAREXを使用する必要があります。
-
戻りパラメーターは、構造BAPIRET2に基づいています。
-
汎用モジュールはRFC対応である必要があります。
-
BORのパラメータ名にアンダースコア( “_”)を使用することはできません。BORのパラメーター名の個々のコンポーネントは、大文字と小文字を使用して識別されます。