ビジネス・オブジェクトのアプリケーション固有情報

ビジネス・オブジェクト定義のアプリケーション固有情報 (ASI) は、ビジネス・オブジェクトの処理方法に関する、アプリケーションに依存した指示を BAPI Module に提供します。この指示は、以下のレベルで指定されます。

ビジネス・オブジェクト・レベルの ASI

ビジネス・オブジェクト・レベルの ASI は、表 14 に示すように、オブジェクトのタイプごとに設定する必要があります。

表 14. ビジネス・オブジェクト・レベルの ASI
オブジェクト・タイプ アプリケーション固有の情報
単一 BAPI 呼び出しを表すオブジェクト type=bapi
BAPI トランザクションを表すオブジェクト type=bapi_txn
BAPI ResultSet を表すオブジェクト type=bapi_resultset

動詞レベルの ASI

動詞レベルの ASI は、表 15 に示すように、オブジェクトのタイプごとに設定する必要があります。

表 15. 動詞レベルの ASI
オブジェクト・タイプ 動詞 ASI
単一 BAPI 呼び出しを表すオブジェクト verb ASI=NameOfBAPI
BAPI トランザクションを表すオブジェクト verb ASI=NameOfBAPI1;NameOfBAPI2;NameOfBAPI3
カスタム・ビジネス・オブジェクト・ハンドラーを表すオブジェクト CBOH=bapi.client.customBOHandlerName

単一の BAPI 呼び出しを表すオブジェクトの後方互換性

コネクターは以前のリリースのビジネス・オブジェクトの動詞 ASI の形式をサポートします。ここでは、AppSpecific プロパティーの値により、BAPI 固有のビジネス・オブジェクト・ハンドラーのクラス名 (verb ASI= bapi.client.BOHandlerNamebapi.client は WebSphere Business Integration の BAPI 固有のビジネス・オブジェクト・ハンドラー名の修飾子で、 BOHandlerName クラスの名前) を取り込みます。ビジネス・オブジェクト・ハンドラーがクライアントとして動作することを示すために、ビジネス・オブジェクト・ハンドラー名の前に値 client を組み込む必要があります。コネクターはこのような以前の形式をサポートしますが、SAPODA は以前の形式を自動的に生成しないため、これを動詞 ASI の中で名前で明示的に指定する必要があります。

例えば、以前のリリースの SALES_ORDER_CREATEFROMDAT2 BAPI をサポートしている場合、アプリケーション固有の情報は次のようになります。

AppSpecificInfo = bapi.client.sales_order_createfrom dat2

カスタム・ビジネス・オブジェクト・ハンドラーを表すオブジェクトの動詞 ASI

カスタム・ビジネス・オブジェクト・ハンドラーでは、動詞 ASI を明示的に設定 (SAPODA では生成されないため) し、パッケージ名で完全に修飾する必要があります (bapi.client がパッケージ名を表します)。

属性レベルの ASI

コネクターは、属性のアプリケーション固有情報の値を使用して、どのインポート・パラメーター、エクスポート・パラメーター、および表パラメーターを使用するかを決定します。このプロパティーの値には、プレフィックス I (インポート・パラメーターの場合) または E (エクスポート・パラメーターの場合) が含まれています。このプレフィックスは、属性値がデータを SAP アプリケーションに渡すために使われるのか、SAP アプリケーションからデータを渡すために使われるのかを示します。

構造体パラメーターはインポートとエクスポートの場合があるため、パラメーター値の前に I または E が使用されます。表パラメーターは、BAPI にデータを渡したり、BAPI からデータを戻したりすることができるため、IE の両方のパラメーター値を持つことができます。

重要:
I および E を使用してパラメーター値を指定するときには、区切り文字としてコロン (:) を必ず使用します。インポート値のみを指定する場合は、値の後にコロンを付ける必要があります。エクスポート値のみを指定する場合は、値の前にコロンを付ける必要があります。両方の値を指定する場合には、インポート値を先に、エクスポート値を後に指定し、両者をコロンで区切ります。

図 49 に、ビジネス・オ ブジェクトと BAPI_EXAMPLE という名前のサンプル BAPI の間の対応を示します。この例では、単純属性 (Attribute_1、 Attribute_2、 および Attribute_3) は、インポート・パラメーターまたはエクスポート・パラメーターのみを指定しています。子ビジネス・オブジェクトを表す属性 (Child_1) は、エクスポート構造体パラメーターに対応します。子ビジネス・オブジェクトの配列を表す属性 (Child_2) は、表パラメーターに対応します。

各子ビジネス・オブジェクトには、対応する構造体またはテーブルのフィールドに対応する単純属性 (それぞれ Attribute_11 と Attribute_14) があります。これらのフィールドは、BAPI の詳細を参照することで確認できます。

図 49. ビジネス・オブジェクトとサンプル BAPI との対応

表 16 に、特定の種類の属性に対するアプリケーション固有情報の書式を示します。

表 16. 特定の種類の属性に対する AppSpecificInfo の書式
AppSpecificInfo の書式 属性のタイプ
IParameterName:EParameterName 単純
ITableName:ETableName 表パラメーターにマップされる、子ビジネス・オブジェクトを表します。
IStructureName:EStructureName 構造体パラメーターにマップされる、子ビジネス・オブジェクトを表します。
IFieldName:EFieldName 表パラメーターまたは構造体パラメーターのフィールドにマップされる、子ビジネス・オブジェクトの属性を表します。

SAPODA は、ビジネス・オブジェクト定義に対する適切なアプリケーション固有情報を自動的に生成します。生成されたアプリケーション固有情報のパラメーター名は、変更しないようにお勧めします。

Copyright IBM Corp. 2004, 2005