ビジネス・オブジェクト定義のアプリケーション固有情報は、ビジネス・オブジェクトの処理方法に関する、アプリケーションに依存した指示を BAPI Module に提供します。これらの指示は、ビジネス・オブジェクト・レベルや属性レベル (単純属性と、子ビジネス・オブジェクトまたは子ビジネス・オブジェクトの配列を表す属性の両方) で指定されたり、動詞に対して指定されます。
コネクターは、適切な BAPI 固有ビジネス・オブジェクト・ハンドラーを呼び出すために、トップレベル・ビジネス・オブジェクトの動詞のアプリケーション固有情報の値を使用します。AppSpecificInfo プロパティーの値は、BAPI 固有ビジネス・オブジェクト・ハンドラーのパッケージおよびクラス名を指定します。書式は次のとおりです。
AppSpecificInfo = bapi.client.BOHandler
ここで、BOHandler はクラスの名前です。デフォルトでは、SAPODA はクラスの名前として BAPI の名前を使用します。SAPODA は、アプリケーション固有情報をトップレベル・ビジネス・オブジェクトに自動的に追加します。
例えば、SALES_ORDER_CREATEFROMDAT2 BAPI をサポートする場合、アプリケーション固有情報は次のようになります。
AppSpecificInfo = bapi.client.sales_order_createfrom dat2
コネクターは、属性のアプリケーション固有情報の値を使用して、どのインポート・パラメーター、エクスポート・パラメーター、および表パラメーターを使用するかを決定します。このプロパティーの値には、プレフィックス I (インポート・パラメーターの場合) または E (エクスポート・パラメーターの場合) が含まれています。このプレフィックスは、属性値がデータを SAP アプリケーションに渡すために使われるのか、SAP アプリケーションからデータを渡すために使われるのかを示します。
構造体パラメーターはインポートとエクスポートの場合があるため、パラメーター値の前に I または E が使用されます。表パラメーターは、BAPI にデータを渡したり、BAPI からデータを戻したりすることができるため、I と E の両方のパラメーター値を持つことができます。
表 33 に、ビジネス・オブジェクトと BAPI_EXAMPLE という名前のサンプル BAPI の間の対応を示します。この例では、単純属性 (Attribute_1、Attribute_2、および Attribute_3) は、インポート・パラメーターまたはエクスポート・パラメーターのみを指定しています。子ビジネス・オブジェクトを表す属性 (Child_1) は、エクスポート構造体パラメーターに対応します。子ビジネス・オブジェクトの配列を表す属性 (Child_2) は、表パラメーターに対応します。
各子ビジネス・オブジェクトには、対応する構造体またはテーブルのフィールドに対応する単純属性 (それぞれ Attribute_11 と Attribute_14) があります。これらのフィールドは、BAPI の詳細を参照することで確認できます。
図 24. ビジネス・オブジェクトとサンプル BAPI との対応
表 37 に、特定の種類の属性に対するアプリケーション固有情報の書式を示します。
表 37. 特定の種類の属性に対する AppSpecificInfo の書式
AppSpecificInfo の書式 | 属性のタイプ |
---|---|
IParameterName:EParameterName | 単純 |
ITableName:ETableName | 表パラメーターにマップされる、子ビジネス・オブジェクトを表します。 |
IStructureName:EStructureName | 構造体パラメーターにマップされる、子ビジネス・オブジェクトを表します。 |
IFieldName:EFieldName | 表パラメーターまたは構造体パラメーターのフィールドにマップされる、子ビジネス・オブジェクトの属性を表します。 |
SAPODA は、ビジネス・オブジェクト定義に対する適切なアプリケーション固有情報を自動的に生成します。生成されたアプリケーション固有情報のパラメーター名は、変更しないようにお勧めします。