uCosminexus Interschema ユーザーズガイド
(1) データの入力処理の規則
CII3フォーマットでのデータの入力処理の規則を次に示します。
- データ中にマルチ明細構造がある場合,マルチ明細の中のTFDで最初に出現したデータのタグ番号と一致する番号のTFD型コンポーネントを子に持つマルチ明細コンポーネントが対応付けられます。
- MDLで最小出現回数が1と定義されたTFD及びマルチ明細の子に対応するデータが入力されなかった場合,トランスレータはコンポーネントの値をスペース(K属性及びX属性),0(9属性,N属性,及びY属性),0x00(B属性)だと仮定して処理します。
- 入力データのエラーの原因が構造コンポーネントにある場合,ログファイルのオフセットには次に示す上位構造の先頭位置が出力されます。
- メッセージグループ・ヘッダ
- メッセージ
- バイナリ
- メッセージグループ・トレーラ
- 同報ヘッダ
- 標準以外の文字コードのCIIデータを変換する場合,使用する文字コードをフォーマットの文字コードとして定義しておく必要があります。
(2) データの出力処理の規則
CII3フォーマットでのデータの出力処理の規則を次に示します。
- 省略できるTFDは出力されません。
- TFDを省略したことによってマルチ明細を省略する場合,縮小モードのときはマルチ明細のヘッダとトレーラだけが出力されます。拡張モードのときは,何も出力されません。
- CIIのバージョンは,メッセージグループ・ヘッダの子で決定します。メッセージグループ・ヘッダの子でシンタックスのバージョンを表す型コンポーネントにマッピングした値が「CII151」の場合はCII1.51形式,「CII210」の場合はCII2.10形式,「CII300」の場合はCII3.00形式になります。
- TFDに対する出力データの文字コードは,フォーマットの文字コードに従います。初期値の文字コード(JIS8,JISK)を設定することをお勧めします。ただし,K属性をUnicodeで出力した場合は,メッセージグループ・ヘッダの子コンポーネントで2バイト文字コードを表す型コンポーネントに,「U」をマッピングする必要があります。
- 縮小/拡張モードは,メッセージグループ・ヘッダの子コンポーネントで拡張モードを表す型コンポーネントにマッピングした値に従って決定されます。ただし,CII3.00形式の場合は,常に拡張モードになります。
拡張モードを表す型コンポーネントにマッピングした値が,「S」又はスペースの場合は縮小モード,「E」の場合は拡張モードになります。
- 分割(分割固定長)/通常(分割可変長)モードは,メッセージグループ・ヘッダの子コンポーネントで分割モードを表す型コンポーネントにマッピングした値に従って決定されます。
分割モードを表す型コンポーネントにマッピングした値が,「S」の場合は通常(分割可変長)モード,「M」又はスペースの場合は分割(分割固定長)モードになります。
- CII1.51形式でハッシュトータル値を設定したい場合は,メッセージグループ・ヘッダの子コンポーネントでトータル項目番号を表す型コンポーネントに,該当するタグ番号をマッピングします。また,EIAJのハッシュ計算方法で値を出力した場合は,実行時オプション「-EIAJHASH」を指定して,変換します。
- 標準以外の文字コードのCIIデータを変換する場合,使用する文字コードをフォーマットの文字コードとして定義しておく必要があります。出力フォーマット上のメッセージグループヘッダ下の対応コンポーネントは,マッピングしなくてもかまいません。
All Rights Reserved, Copyright (C) 2000, Information-technology Promotion Agency, Japan.
All Rights Reserved. Copyright (C) 2005, 2008, Hitachi, Ltd.
All Rights Reserved, Copyright (C) 1985-1998, Microsoft Corporation.