FixedWidth データ・ハンドラーの構成

FixedWidth データ・ハンドラーを構成するには、以下のステップを実行します。

上記の各ステップについて、以下のセクションで詳しく説明します。

FixedWidth 子メタオブジェクトの構成

FixedWidth データ・ハンドラーを構成するには、構成情報を FixedWidth 子メタオブジェクトに供給する必要があります。FixedWidth データ・ハンドラーについて、IBM では MO_DataHandler_DefaultFixedWidthConfig 子メタオブジェクトを提供しています。 このメタオブジェクトの各属性は、FixedWidth データ・ハンドラーの構成プロパティーを定義しています。表 37 で、この子メタオブジェクトの属性について説明します。

表 37. FixedWidth データ・ハンドラーの子メタオブジェクト属性
メタオブジェクト属性名 意味 納入時のデフォルト値
ClassName ロードするデータ・ハンドラー・クラスの名前。トップレベル・データ・ハンドラー・メタオブジェクトの属性名と一致する MIME タイプで使用します。この属性のタイプは、FixedWidth 子メタオブジェクトです。 com.crossworlds. DataHandlers. text.fixedwidth
Alignment PadCharacter 属性を追加または除去します。

イベント処理では、埋め込み文字がトリムされます。要求処理では、埋め込み文字が追加されます。設定可能な値は、BOTHLEFT、および RIGHT です。例えば「LEFT」桁そろえを指定すると、ビジネス・オブジェクト属性の値が属性値のスペースの一番左に移動します。イベント通知の「BOTH」桁そろえを指定すると、埋め込み文字が左右両側でトリムされます。要求処理の「RIGHT」桁そろえを指定すると、右側に埋め込み文字がパッドされます。

BOTH
BOCountSize 処理するビジネス・オブジェクトの総数に割り当てられるスペースを指定します。 3
BONameSize ビジネス・オブジェクトの名前に割り当てられるスペースを指定します。 50
BOVerbSize 動詞に割り当てられるスペースを指定します。 20
CxBlank ビジネス・オブジェクトからの変換を行う場合、FixedWidth データ・ハンドラーでは、属性の値が CxBlank であるビジネス・オブジェクト属性を検出する と、CxBlank メタオブジェクト属性の Default Value プロパティーのために構成された値を固定幅文書に書き込みます。 また、ビジネス・オブジェクトへの変換を行う場合は、FixedWidth データ・ハンドラー では、固定幅文書内でこの CxBlank メタオブジェクト属性の値を検出する と、CxBlank メタオブジェクト属性の Default Value プロパティーのために構成された値をビジネス・オブジェクト属性の値に割り当てます。ビジネス・オブジェクトは、値 CxBlank含まない 基本キーを、実行時に少なくとも 1 つは持っていなければなりません。 CxBlank
CxIgnore ビジネス・オブジェクトからの変換を行う場合、FixedWidth データ・ハンドラーでは、値が CxIgnore であるビジネス・オブジェクト属性を検出する と、CxIgnore メタオブジェクト属性の Default Value プロパティーのために構成された値を固定幅文書に書き込みます。 また、ビジネス・オブジェクトへの変換を行う場合は、FixedWidth データ・ハンドラーでは、固定幅文書内で この CxIgnore メタオブジェクト属性の値を検出する と、CxIgnore メタオブジェクト属性の Default Value プロパティーのために構成された値をビジネス・オブジェクト属性の値に割り当てます。ビジネス・オブジェクトは、値 CxIgnore含まない 基本キーを、実行時に少なくとも 1 つは持っていなければなりません。 CxIgnore
DummyKey ビジネス・インテグレーション・システムで必要とされるキー属性。 1
OmitObjectEventId ビジネス・オブジェクトからストリングへの変換時、およびストリングからビジネス・オブジェクトへの変換時に ObjectEventId データが含まれているかどうかを判別するためのブール値。 false
PadCharacter 桁そろえのために追加または除去するスペースを指示します。どのような文字でも埋め込み文字として指定することができます。 #
Truncation 文字の除去の有無を設定します。true の場合、MaxLength よりも大きいビジネス・オブジェクトの属性値は、要求処理時に MaxLength に合わせて切り捨てられます。false の場合は、エラーがログに記録され、フォーマットは停止します。 false
ObjectEventId プレースホルダー。データ・ハンドラーは使用しませんが、ビジネス・インテグレーション・システムで必要です。 なし

表 37 の「納入時のデフォルト値」列には、納入時のビジネス・オブジェクトの対応する属性の Default Value プロパティーの値がリストされています。ご使用の環境を調べて、システムおよび FixedWidth 文書に適した値をそれらの属性の Default Value プロパティーに設定してください。少なくとも ClassName 属性には、デフォルト値を設定しておく必要があります。

注:
ビジネス・オブジェクト定義を変更するには、Business Object Designer Express を使用します。

ビジネス・オブジェクトの要件

FixedWidth データ・ハンドラーは、いくつかの前提条件の下にビジネス・オブジェクト構造体を取り扱います。そのため、FixedWidth データ・ハンドラーを用いて変換を行う場合は、ビジネス・オブジェクトを作成するときに以下の規則に従ってください。

ビジネス・オブジェクトの構造

ビジネス・オブジェクト構造体については、FixedWidth データ・ハンドラー向けの要件はありません。データ・ハンドラーは、MaxLength 属性プロパティーに値が設定されていればどのようなビジネス・オブジェクトも処理できます。

データ・ハンドラーが処理するビジネス・オブジェクトの名前は、ビジネス・インテグレーション・システムで認められていればどのような名前でもかまいません。

ビジネス・オブジェクトの属性プロパティー

ビジネス・オブジェクトのアーキテクチャーには、属性に適用されるさまざまなプロパティーが含まれています。表 38 では、FixedWidth データ・ハンドラーがこれらのプロパティーをどのように解釈するかを説明し、また、ビジネス・オブジェクトを修正する場合のプロパティーの設定方法を説明しています。

表 38. FixedWidth データ・ハンドラーを使用して変換されるビジネス・オブジェクトの属性プロパティー
プロパティー名 説明
Name 各ビジネス・オブジェクト属性には、固有の名前を付ける必要があります。
Type 各ビジネス・オブジェクト属性には、整数、ストリング、または下位の子ビジネス・オブジェクトのタイプなどのタイプを設定する必要があります。
Key FixedWidth データ・ハンドラーは使用しません。
MaxLength 属性値が含まれるフィールドの幅を決定します。
Foreign Key FixedWidth データ・ハンドラーは使用しません。
Required FixedWidth データ・ハンドラーは使用しません。
Default Value FixedWidth データ・ハンドラーは使用しません。
Cardinality カーディナリティー 1 およびカーディナリティー n のオブジェクトをサポートします。

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

FixedWidth データ・ハンドラーでは、ビジネス・オブジェクトまたはその属性にアプリケーション固有情報を設定する必要はありません。ただし、データ・ハンドラーは cw_mo_ タグがあるかどうかについては検査します。このタグは、コネクターが用いる子メタオブジェクトを指示するためにビジネス・オブジェクトが使用する場合があります。データ・ハンドラーは、ビジネス・オブジェクトのアプリケーション固有情報に含まれている cw_mo_ タグで識別された属性をすべて無視します。cw_mo_ タグの詳細については、ビジネス・オブジェクトからの変換のインプリメントを参照してください。

既存のビジネス・オブジェクト定義の使用

FixedWidth データ・ハンドラーは、ビジネス・オブジェクトがデータ・ハンドラーの要件を満たす形式でデータを提供していれば、どのようなビジネス・オブジェクトでも FixedWidth ストリングに変換できます。FixedWidth データ・ハンドラーの唯一の要件は、各ビジネス・オブジェクト属性に MaxLength 値が指定されていることです。既存のビジネス・オブジェクトを使用するのであれば、MaxLength に適切な値を指定する変更が必要となる場合があります。

この要件を満たしていれば、既存のビジネス・オブジェクトも FixedWidth データ・ハンドラーによって変換できますが、処理するデータのタイプごとに独自のビジネス・オブジェクトを作成することをお勧めします。サンプルのビジネス・オブジェクト、または別のインプリメンテーションで同じアプリケーションをサポートするために開発されたビジネス・オブジェクトを使用する場合は、自身が開発を行うインプリメンテーションに必要な属性のみが含まれるように、必要に応じて定義を修正してください。

したがって、既存のビジネス・オブジェクトを、ご使用のデータと密接に対応した形式に変換するには、アプリケーションが必要とするデータおよびデータ・ハンドラーが必要とする情報のみを提供するように、ビジネス・オブジェクトを変更してください。既存のビジネス・オブジェクトを FixedWidth データ・ハンドラーで利用できるようにするためには、以下の操作を実行します。

  1. ターゲット・アプリケーションの機能分析を実行し、結果を既存のビジネス・オブジェクトと比較して、必要となるビジネス・オブジェクト定義のフィールドを決定します。
  2. Business Object Designer Express を使用して、必要に応じてビジネス・オブジェクト定義へ属性を追加、またはビジネス・オブジェクト定義から属性を削除します。

Copyright IBM Corp. 2004