区切りデータのビジネス・オブジェクトへの変換

このセクションでは、Delimited データ・ハンドラーが区切りデータをビジネス・オブジェクトへ変換する方法に関する以下の情報を提供します。

区切りストリングの要件

ストリングまたはストリームを変換するときには、Delimited データ・ハンドラーは以下のことを前提とします。

データ内に複数のオブジェクトがある場合は、オブジェクト間に新しい文字 (例えば、スペース、タブ、改行、または復帰など) を挿入しないでください。

Delimited データ・ハンドラーは、Delimited 形式のファイルを読み取る際、以下のような特別な処理ステップを使用して、ビジネス・オブジェクト属性に CxIgnore または CxBlank 属性値を割り当てます。

注:
エスケープ・ストリングと区切り文字は、必ず異なる値にしてください。これらは、Delimiter データ・ハンドラーの子メタオブジェクト内の Escape および Delimiter メタオブジェクト属性で構成されます。

次の行には、区切り形式のストリングの例を示してあります。構文は次のとおりです。

Bus_Obj_Name<delimiter >Verb<delimiter >Attr1<delimiter >Attr2<delimiter >
 Number_of_child_object_instances<delimiter >Child_Object_Name<delimiter >
 Verb<delimiter >Attr1<delimiter >Attr2<EndBO:Bus_Obj_Name>
 

次のサンプルでは、波形記号 (~) の区切り文字を使用しています。

Customer~Create~p1~p2~p3~1~CustomerAddress~Create~q1~q2~q3~q4~q5~q6~q7~q8~q9~q10~3~
 PhoneInfo~Create~r1~r2~r3~r4~r5~r6~r7~PhoneInfo~Create~r1~r2~r3~r4~r5~r6~r7~
 PhoneInfo~Create~r1~r2~r3~r4~r5~r6~r7
 

直列化データの処理

Delimited データ・ハンドラーは、次のように区切りデータを処理して、ビジネス・オブジェクトに変換します。

  1. データ・ハンドラーは、データの最初のトークンからビジネス・オブジェクト名を取得し、データを格納するビジネス・オブジェクトを作成する。
  2. データ・ハンドラーは、ビジネス・オブジェクトに動詞を設定します。データ・ハンドラーは、トップレベル・ビジネス・オブジェクトの動詞が、区切りデータの 2 番目のトークンに含まれていると想定します。子ビジネス・オブジェクトには動詞が設定されていない可能性があることに注意してください。
  3. データ・ハンドラーは、子メタオブジェクト (ビジネス・オブジェクトのアプリケーション固有情報の cw_mo_ タグに名前がリストされているもの) があるかどうかを判別します。データ・ハンドラーは、ビジネス・オブジェクトのこれらの属性を設定する処理を実行しませんcw_mo_ タグの詳細については、ビジネス・オブジェクトからの変換のインプリメントを参照してください。
  4. データ・ハンドラーは、OmitObjectEventId という名前のメタオブジェクト属性を調べる。この属性が true に設定されている場合、データ・ハンドラーは ObjectEventId 属性にデータを取り込む処理を実行しません。
  5. データ・ハンドラーは、データを解析し、データからのトークン値を使用して、ビジネス・オブジェクトに残りの単純属性の値を取り込む。データ・ハンドラーは、次のようにコンテナー属性を処理します。

Copyright IBM Corp. 2004