uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

2.1.3 フォーマットの定義手順

FDLエディタでのフォーマット定義の手順を次に示します。

図2-1 フォーマット定義の手順

[図データ]

例を使用して,フォーマットの定義について説明します。なお,以下のフォーマット定義例は,フォーマット定義の流れを理解しやすくすることを意図したものなので,フォーマット定義の詳細説明は省略しています。フォーマット定義の詳細については,「3. FDLエディタの操作」を参照してください。

この例では,ユーザ独自のフォーマット帳票「IN」のデータを,ユーザ独自のフォーマット帳票「OUT」のデータに変換します。入力データが帳票「IN」のデータ,出力データが帳票「OUT」のデータとなるので,まず,帳票「IN」と帳票「OUT」のデータのフォーマットを定義します。

<この項の構成>
(1) 帳票「IN」のフォーマット
(2) 帳票「OUT」のフォーマット

(1) 帳票「IN」のフォーマット

帳票「IN」を次に示します。

図2-2 帳票「IN」

[図データ]

帳票「IN」のレコードは,「製品コード」「単価」「個数」の三つの要素で構成されています。三つの要素はすべて固定長です。レコードの個数は不定です。

帳票「IN」のフォーマットを定義します。

(a) フォーマット名の定義

フォーマットを新規作成します。フォーマット挿入コマンドを実行して,[フォーマットのプロパティ]ダイアログでフォーマット名と,フォーマット全体に対するプロパティを設定します。

[図データ]

フォーマットが作成されます。

[図データ]

次に,フォーマットに要素の型を定義します。

(b) 型の定義

帳票「IN」には,「製品コード」「単価」「個数」という三つの要素があります。型挿入コマンドで,フォーマットに型を挿入して,型を定義します。

「製品コード」の型を定義します。[型のプロパティ]ダイアログで要素の名前,属性や種別を定義します。

[図データ]

[型のプロパティ]ダイアログで[詳細]ボタンをクリックします。表示された[型の詳細]ダイアログで要素の使用する文字コードやサイズなどを定義します。

[図データ]

型の詳細定義が済んだら,ダイアログを閉じます。

定義した要素「製品コード」の型が作成されます。

[図データ]

ほかの要素「単価」「個数」も同様に定義します。

[図データ]

(c) セパレータの定義

帳票「IN」ではセパレータを使用しないので,ここでは定義しません。

(d) 変数の定義

帳票「IN」では変数を使用しないので,ここでは定義しません。

次に,構造を定義します。

(e) 構造の定義

帳票「IN」のデータには,三つの要素で構成されるレコードが複数個あります。データの構造をツリーで表すと次のようになります。

[図データ]

レコードを表す構造「RECORD」の下に,型を定義した三つの要素を型コンポーネントとして配置します。「RECORD」はルート構造「ROOT」の子コンポーネントとします。

まず,ルート構造「ROOT」を定義します。構造の挿入コマンドを実行して,フォーマットに構造を挿入します。

[図データ]

プロパティを定義したらダイアログを閉じます。

構造「ROOT」が作成されます。

[図データ]

同様に構造「RECORD」を作成します。

[図データ]

構造「RECORD」の下に型を定義した三つの要素を配置します。要素の型を構造「RECORD」にドラッグ&ドロップします。

[図データ]

[コンポーネントのプロパティ]ダイアログが表示されます。コンポーネントの出現回数などのプロパティを定義します。

[図データ]

プロパティを定義したらダイアログを閉じます。

「製品コード」が構造「RECORD」のコンポーネントとして配置されます。

[図データ]

「単価」「個数」も同様に構造「RECORD」にドラッグ&ドロップします。

最後に,構造「RECORD」は構造「ROOT」の子コンポーネントとします。構造「RECORD」を構造「ROOT」にドラッグ&ドロップし,[操作選択]ダイアログで構造「ROOT」の子コンポーネントとして定義します。

[図データ]

また,レコードの個数は不定なので,[コンポーネントのプロパティ]ダイアログで,コンポーネント最大出現数を省略して定義します。

以上で帳票「IN」のフォーマットは完成です。

[図データ]

(f) フォーマットの検証

チェックコマンドを実行して,フォーマットの定義内容にエラーがないことを確認します。

(g) FDLファイルの保存

FDLに名前を付けて保存します。ここでは,ファイル名は「IN」とします。

次に,帳票「OUT」を定義します。

(2) 帳票「OUT」のフォーマット

帳票「OUT」を次に示します。

図2-3 帳票「OUT」

[図データ]

帳票「OUT」のレコードは,「製品コード」「希望価格」「数量」「小計金額」の四つの要素で構成されています。四つの要素はすべて可変長です。レコード内の四つの要素間は「,」で区切り,レコードの終わりには改行コードを入れます。レコードの個数は不定です。

図2-3の帳票「OUT」のフォーマットを定義します。

(a) フォーマット名の定義

帳票「IN」のフォーマット定義と同様に,フォーマットを新規作成して定義します。

[図データ]

(b) 型の定義

帳票「OUT」には,「製品コード」「希望価格」「数量」「小計金額」という四つの要素があります。帳票「IN」の型の定義と同様に,型を定義します。[型のプロパティ]ダイアログで型名や属性を,[型の詳細]ダイアログで使用する文字コードやサイズを定義します。

[図データ]

(c) セパレータの定義

帳票「OUT」には,レコード内の要素を区切るセパレータと,レコードの終わりを表すセパレータの2種類のセパレータを使用しています。

セパレータ挿入コマンドを実行して,フォーマットにセパレータを挿入します。

[セパレータのプロパティ]ダイアログに,セパレータの名前や値を入力します。

[図データ]

セパレータの定義が済んだら,ダイアログを閉じます。

セパレータが作成されます。

[図データ]

(d) 変数の定義

帳票「OUT」では変数を使用しないので,ここでは定義しません。

次に,構造を定義します。

(e) 構造の定義

帳票「OUT」のデータの構造をツリーで表すと次のようになります。

[図データ]

構造は帳票「IN」と同様に作成します。次に,コンポーネントで使用するセパレータの設定について説明します。

帳票「OUT」で使用する2種類のセパレータは,どちらも構造「RECORD」に対して設定します。構造「RECORD」のプロパティで,[セパレータ指定]ダイアログを表示します。

[図データ]

ここでは,セパレータの名前や値を定義したので,セパレータ名を指定します。中間区切り文字として「,」のセパレータ,終了文字として改行コードのセパレータを指定します。

以上で帳票「OUT」のフォーマットは完成です。

[図データ]

チェックコマンドを実行して,フォーマットの定義内容にエラーがないことを確認し,FDLに名前を付けて保存します。ここでは,ファイル名は「OUT」とします。

以上で帳票「IN」と帳票「OUT」のデータのフォーマットを定義したFDLファイルが完成しました。