FixedWidth
データ・ハンドラーを構成するには、以下のステップを実行します。
- FixedWidth 子メタオブジェクトの属性に適切な値を入力します。
- データ・ハンドラーをサポートするように、ビジネス・オブジェクト定義を作成または変更します。
上記の各ステップについて、以下のセクションで詳しく説明します。
FixedWidth データ・ハンドラーを構成するには、構成情報を FixedWidth
子メタオブジェクトに供給する必要があります。FixedWidth
データ・ハンドラーについて、IBM では
MO_DataHandler_DefaultFixedWidthConfig
子メタオブジェクトを提供しています。
このメタオブジェクトの各属性は、FixedWidth
データ・ハンドラーの構成プロパティーを定義しています。表 37
で、この子メタオブジェクトの属性について説明します。
表 37. FixedWidth データ・ハンドラーの子メタオブジェクト属性
メタオブジェクト属性名
| 意味
| 納入時のデフォルト値
|
ClassName
| ロードするデータ・ハンドラー・クラスの名前。トップレベル・データ・ハンドラー・メタオブジェクトの属性名と一致する
MIME タイプで使用します。この属性のタイプは、FixedWidth
子メタオブジェクトです。
| com.crossworlds. DataHandlers.
text.fixedwidth
|
Alignment
| PadCharacter 属性を追加または除去します。
イベント処理では、埋め込み文字がトリムされます。要求処理では、埋め込み文字が追加されます。設定可能な値は、BOTH、LEFT、および
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
データ・ハンドラーを用いて変換を行う場合は、ビジネス・オブジェクトを作成するときに以下の規則に従ってください。
- ビジネス・オブジェクト定義のすべての属性に、適切な MaxLength
プロパティー値を設定する。これにより FixedWidth
データ・ハンドラーは、ビジネス・オブジェクトから FixedWidth
フォーマットへ、または FixedWidth
フォーマットからビジネス・オブジェクトへのデータ変換を正しく処理することができます。
- ビジネス・オブジェクト階層のすべてのレベルのすべてのビジネス・オブジェクトに、ObjectEventId
属性が含まれていることを確認します。
Business Object Designer Express
は、ビジネス・オブジェクト定義を保管するときに自動的にこの作業を行いますが、要件が満たされていることを確認する必要があります。
ビジネス・オブジェクト構造体については、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
データ・ハンドラーで利用できるようにするためには、以下の操作を実行します。
- ターゲット・アプリケーションの機能分析を実行し、結果を既存のビジネス・オブジェクトと比較して、必要となるビジネス・オブジェクト定義のフィールドを決定します。
- Business Object Designer Express
を使用して、必要に応じてビジネス・オブジェクト定義へ属性を追加、またはビジネス・オブジェクト定義から属性を削除します。
