使用する
実装フェーズの最初のステップは、ABAPディクショナリですべてのデータ構造(ドメインとデータ要素を含む)を定義することです。これらのデータ構造は、BAPIのパラメーターを実装するために必要です。BAPIエクスプローラのプロジェクトフォームからABAPディクショナリにアクセスすることができます。
以下の規則は重要です。
BAPIデータ構造の規則
-
各パラメータは、ABAPディクショナリのデータ構造を参照する必要があります。構造化パラメータの場合、これは常にBAPIデータ構造全体に対して行われます。ただし、パラメータが1つのフィールドのみで構成されている場合は、BAPI構造のフィールドを参照する必要があります。
-
SAPアプリケーションで一般的に使用されるデータ構造から独立したBAPI用に個別のデータ構造を登録する必要があります。
理由:BAPIがリリースされると、BAPIの基礎となる構造が凍結され、後で構造を変更する場合は制限が適用されます。リリースされたBAPIに対するSAP拡張機能(CA-BFA)も参照してください。
-
すべてのデータ構造名は、 <namespace>BAPIで始まる必要があります。
-
BAPI構造名は、可能な限り意味のあるものにする必要があります。
-
BAPIデータ構造でAPPENDおよびINCLUDEを使用しないでください。
理由: BAPIデータ構造が変更された場合、 APPENDとINCLUDEは非互換性を引き起こす可能性があります。
-
フィールドには常に既存の中央データ要素とドメインを使用するようにしてください。
フィールド名の規則
-
構造体のフィールドには、最大30文字の意味のある英語名が必要です。
-
SAP内部:レポートBAPIFELDを使用して、ABAPディクショナリ構造の英語の項目名提案の一覧を登録します。
バリューヘルプの規則
-
F4ヘルプを使用できるように、ドメインの単一の値または値テーブルを定義する必要がある場合があります。
すべての有用な入力ヘルプ(サービスBAPI Helpvalues.GetListで使用できます)は、データ構造/データ要素に対して定義する必要があります。これを行うには、BAPI構造のフィールドで外部キーを指定する必要があります。検索ヘルプがフィールドドメインで定義されている場合は、外部キーも定義する必要があります。
技術的慣習
-
内部データ形式は、すべてのパラメータフィールドに使用されます。
-
データベースで外部キーと内部キーが定義されている場合は、BAPIインターフェイスで常に外部キーを使用する必要があります。
-
ISOに関連するフィールド(国、言語、測定単位、通貨)については、ISOコードの追加フィールドが提供されています。
フィールドには、常に以下にリストされている標準ドメインを使用するようにしてください。フィールドには独自のデータ要素を使用することをお奨めします。独自のデータ要素を使用しても意味がない場合は、以下にリストされている標準のデータ要素を使用してください。
-
すべての通貨フィールドはドメインBAPICURRを使用します。特別な場合には、ドメインBAPICUREXTを使用することもできます。
-
小数点には常にピリオドを使用する必要があります。
-
すべての通貨の金額と測定単位は、正しい場所に小数点が必要です。
理由:BAPIは、常にコンマを含む標準の金額形式を使用します。したがって、通貨金額を換算するときは、汎用モジュールBAPI_CURRENCY_CONV_TO_EXTERNALおよびBAPI_CURRENCY_CONV_TO_INTERNALを使用します。
-
数量項目では、参照項目/参照テーブルを数量単位項目に正しく設定する必要があります。
-
日付フィールドのすべての日付要素は、YYYYMMDDの形式である必要があります。
-
BAPI/ALE統合の規則
非同期通信のIDocをBAPIから生成できるようにするには、以下の条件を満たす必要があります。
-
BAPI構造名は27文字を超えてはなりません。長くしないと、関連付けられたセグメントの自動生成された名前が長すぎて、後で手動で変更する必要があります。
理由:セグメントは、<BAPI構造名>+<3桁の数字>の規則に従って生成されます。
-
データ構造内の単一フィールドは、最大250バイトまでです。
顧客開発のための規則
-
IBU、パートナー、および顧客がデータ構造(ドメインまたはデータ要素)を作成している場合、SAPが提供するネームスペースに準拠する必要があります。