ビジネス・オブジェクトのフラット構造への変換

コネクターは、ビジネス・オブジェクト処理の最初のステップとして、ビジネス・オブジェクトを、SAP アプリケーションで処理できるフラット (階層なし) 構造に変換します。フラットな構造の形式は、ビジネス・オブジェクトのすべてのタイプ (例えば呼び出しトランザクション・ベースまたは IDoc ベースのビジネス・オブジェクト) で共通です。フラット構造は、アプリケーション固有ビジネス・オブジェクトから再フォーマットされたデータです。2 つの形式のデータの相違は、フラット構造が、ビジネス・オブジェクトの親子関係を保持していないことのみです。そのため、コネクターでは一連のルールに従ってフラットな構造を作成します。

コネクターは、ビジネス・オブジェクトをフラット構造に変換するとき、構造をメモリー内に作成し、ビジネス・オブジェクトからのデータをこの構造に組み入れます。それにより、コネクターはビジネス・オブジェクトから、以下に示すデータを SAP アプリケーションに渡します。

表 42 に、ビジネス・オブジェクトの汎用フラット構造を示します。コネクターは、WebSphere ビジネス・オブジェクトからビジネス・オブジェクト・データを追加する際に、このフラットな構造を使用します。

表 42. SAP 用 WebSphere ビジネス・オブジェクトの汎用フラット構造表現
フィールド名 データ型 長さ 説明
ATTR_NAME CHAR 32 属性名 (例えば CustomerId)
BLANK1 CHAR 1 区切り文字
ATTR_VALUE CHAR 200 属性値 (例えば 00000103)
BLANK2 CHAR 1 区切り文字
ISKEY CHAR 1 1= true、0 = false、属性のみ
BLANK3 CHAR 1 区切り文字
ISNEW CHAR 1 1 = BO、0 = 動詞または属性
BLANK4 CHAR 1 区切り文字
PEERS CHAR 6 ビジネス・オブジェクト配列のピア数を示します。
BLANK5 CHAR 1 区切り文字
OBJ_NUMBER CHAR 6 未使用
BLANK6 CHAR 1 区切り文字
APPTEXT CHAR 120 オブジェクト、動詞、または属性のアプリケーション固有情報
BLANK7 CHAR 1 区切り文字

注:
BLANKn フィールド名は、常に単一の文字 (CHAR) スペースを含みます。また、値を取り込むことはできません。

データ変換が正しく実行されるためには、フラットな構造のビジネス・オブジェクト・データは一連のルールに厳格に従う必要があります。これらのルールは、この初期データ変換ステップで定義されます。

コネクターは、フラットな構造にビジネス・オブジェクト・データを取り込む際に、トップレベルのビジネス・オブジェクトを開始位置として、各ビジネス・オブジェクトを 2 回通してループします。

  1. 最初のパスでは、コネクターはすべての単純な属性を設定します。各属性は、フラットな構造の 1 行に相当します。
  2. 2 回目のパスでは、それぞれの子ビジネス・オブジェクトについて、ステップ 1 と同じ処理を再帰的に実行します。

子ビジネス・オブジェクトを表す属性は親に含まれません。その代わりに、データを格納している各子ビジネス・オブジェクトは、完全なビジネス・オブジェクトとして作成されています。この結果、最初に縦方向、次に横方向の順に並べられた、属性の単一のリストができあがります。

図 72 に、SAP 用 WebSphere ビジネ ス・オ ブジェクトからフラット・データ構造へのデータ変換を示します。データの変換は、最初に縦方向、次に横方向というルールに常に従って行われます。この例では、トップレベルの親ビジネス・オブジェクト SAP_Order には、SAP_LineItem (1) および SAP_LineItem (2) という 2 つの子があり、これらはピアと見なされます。SAP_LineItem (1) には、SAP_ScheduleLines という 1 つの子ビジネス・オブジェクトがあります。

図 72. ビジネス・オブジェクトからフラットな構造への変換

ビジネス・オブジェクト定義を設計するときには、ビジネス・オブジェクトの順序および属性を把握することが重要です。次の表に、WebSphere ビジネス・オブジェクトからフラット構造への変換の結果を示します。 表 43 に、フラット・ビジネス・オブジェクト SAP_Material (キー値は ItemID) に対応するフラット構造を示します。この例では、ビジネス・オブジェクトや属性に、アプリケーション固有情報はありません。 表 44 に、IDoc Sales Order に基づく階層型ビジネス・オブジェクトのフラッ ト構造を示します。

表 43. フラットなビジネス・オブジェクト SAP_Material
ATTR_NAME ATTR_VALUE ISKEY ISNEW PEERS OBJ_ NUMBER APPTEXT
BoName SAP_Material 0 1 1 (ブランク) (ブランク)
BoVerb Retrieve 0 0 1 (ブランク) :/CWLD /DYNAMIC_RETRIEVE
ItemID 000000000000001179 1 0 1 (ブランク) (ブランク)
ShortDesc CxIgnore 0 0 1 (ブランク) (ブランク)
ObjectEventID SAP_124 0 0 1 (ブランク) (ブランク)

この例では、ビジネス・オブジェクトや属性に、アプリケーション固有情報はありません。

表 44. IDoc Sales Order に基づく階層型ビジネス・オブジェクト
ATTR_NAME ATTR_VALUE ISKEY ISNEW PEERS OBJ_ NUMBER APPTEXT
BoName SAP_Order 0 1 1 (ブランク) YXRV4B01
BoVerb Create 0 0 1 (ブランク) [archive:methods]
Currency USD 0 0 1 (ブランク) E1EDK01:CURCY
OrderId CxIgnore 1 0 1 (ブランク) E1EDK01:BELNR
ObjectEventId SAP_124 0 0 1 (ブランク) E1EDK01: ObjectEventId
BoName SAP_LineItem 0 1 2 (ブランク) Z1XRV40
BoVerb Create 0 0 2 (ブランク) (ブランク)
Createdby User1 1 2 (ブランク) Z1XRV40:ERNAM
ObjectEventId SAP_125 0 0 2 (ブランク) Z1XRV40: ObjectEventId
BoName SAP_ScheduleLines 0 1 1 (ブランク) E1EDK14
BoVerb Create 0 0 1 (ブランク) (ブランク)
Qualifier 001 1 0 1 (ブランク) Z1XRV40:QUALF
OrganizationId 1000 0 0 1 (ブランク) E1EDK14:ORGID
ObjectEventId SAP_126 0 0 1 (ブランク) E1EDK14: ObjectEventId
BoName SAP_LineItem 0 1 2 (ブランク) Z1XRV40
BoVerb Create 0 0 2 (ブランク) (ブランク)
Createdby User1 1 0 2 (ブランク) Z1XRV40:ERNAM
ObjectEventId SAP_127 0 0 2 (ブランク) Z1XRV40: ObjectEventId

最初の 2 つの行 BoName および BoVerb が各ビジネス・オブジェクトについてコネクターにより追加されています。BoNameBoVerb は、ビジネス・オブジェクト属性として使用できないキーワードです。

Copyright IBM Corp. 2004, 2005