ここでは、ユーザ固有フォーマットの属性について説明します。
属性の種類
ユーザ固有フォーマットには、以下の属性を定義することができます。
属性 | 内容 | 例(1234を表す) |
---|---|---|
X属性 | 英数字文字列、およびマルチバイト文字 | 1234 |
K属性 | 2バイト文字(漢字など) | 1234 |
B属性 | ビット列(2進数) | (0000010011010010) |
H属性 | 16進数 | 0x04D2 |
N属性 | 数値文字列(先頭空白詰め、または先頭0詰め) | □□1234 |
9属性 | ゾーン10進数 | 001234 |
C属性 | 数値文字列カンマ付き(先頭空白詰め、または先頭0詰め) | □1,234 |
P属性 | パック10進数 | 0x012343 |
上記の例(1234を表す)は、以下のように表記しています。
□は空白を示します。
( )でくくられているものはビット列(2進数)で表現しています。
0xが先頭に書かれているものはバイナリ(16進数)で表現しています。
その他はテキスト(10進数)で表現しています。
半角全角(1バイト、2バイト)が混在する項目にはX属性を指定します。
半角カナ文字を使用する項目にはX属性を指定します。
符号の表現
B属性、N属性、9属性、C属性、P属性は符号を表現することができます。以下に示す属性を指定することで、符号付きであることを表現します。
属性 | データ例(-1234を表す) | 備考 |
---|---|---|
B属性 | (11111111111111111111101100101110) | 1の補数で表現 |
N属性(符号有) | □□-1234(空白詰めの場合) |
|
9属性(符号有) | 000123T(0x30303031323354) | マイナスコード“5”のとき |
C属性(符号有) | □-1,234(空白詰めの場合) |
|
P属性(符号有) | 0x0012345 | マイナスコード“5”のとき |
上記のデータ例(-1234を表す)は、以下のように表記しています。
□は空白を示します。
( )でくくられているものはビット列(2進数)で表現しています。
0xが先頭に書かれているものはバイナリ(16進数)で表現しています。
その他はテキスト(10進数)で表現しています。
9属性、P属性で符号有の属性を指定したとき、プラスコード、マイナスコードは、JIS8/シフトJIS、およびJIS7/EUCの場合に変更することができます(上記の例では、マイナスコードは“5”を使用)。EBCDICの場合はプラスコードが“C”、マイナスコードが“D”で固定です。
9属性、P属性で符号無の属性を指定したとき、JIS8/シフトJIS、およびJIS7/EUCでは“3”、EBCDICでは“F”で固定です。また、P属性(符号無)についてはFEDITシステムパラメタ定義ファイルでプラスコード、およびマイナスコードを変更することができます。FEDITシステムパラメタ定義ファイルについては、“ISI 導入ガイド”の‘FEDITシステムパラメタ定義ファイルの変更’を参照してください。
なお、以下については区別する/しないを選択することができます。区別する場合は、ワーニングを出力します。
9属性(符号有)の項目に、符号なしのデータが入力された場合
9属性(符号無)の項目に、符号が正のデータが入力された場合
P属性(符号有)の項目に、符号なしのデータが入力された場合
P属性(符号無)の項目に、符号が正のデータが入力された場合
N属性(符号有)、C属性(符号有)を指定したときの符号文字の出力位置は、“空白詰め”の場合は数値の直前で、“0詰め”の場合は項目の先頭です。
変換結果が出力先桁数よりも大きくなるなど桁あふれが生じる場合、数値やカンマ文字よりも符号文字を優先して出力します。そのため、出力先項目の桁数は、長さやカンマ文字の位置などを考慮して定義してください。
正の整数を入力にする場合は、以下の形式で値が入っているようにしてください。正の整数を出力する場合は、以下の形式で値が出力されます。
属性名 | 桁数 | 値(例:“1234”の扱い) | 説明 |
---|---|---|---|
X属性 | 8 | 1234□□□□ | 値は左詰め。右側空白詰め。 |
K属性 | 8 | 1234 | 値は2バイトにして左詰め。右側空白詰め。 |
B属性 | 4 | 0x000004D2 | 値は右詰め。左側0x00詰め。 |
H属性 | 8 | 0x00000000000004D2 | 値は右詰め。左側0x00詰め。 |
N属性(符号無)、空白詰め | 8 | □□□□1234 | 値は右詰め。左側空白詰め。 |
N属性(符号無)、0詰め | 8 | 00001234 | 値は右詰め。左側0詰め。 |
N属性(符号有)、空白詰め、+符号なし | 8 | □□□□1234 | 値は右詰め。左側空白詰め。 |
N属性(符号有)、0詰め、+符号なし | 8 | 00001234 | 値は右詰め。左側0詰め。 |
N属性(符号有)、空白詰め、+符号あり | 8 | □□□+1234 | 値は右詰め。数値の前に符号。左側空白詰め。 |
N属性(符号有)、0詰め、+符号あり | 8 | +0001234 | 値は右詰め。左側先頭に符号。残り0詰め。 |
N属性(符号有)、空白詰め、+符号あり、小数部1桁 | 8 | □+1234.0 | 値は右詰め。数値の前に符号。左側空白詰め。 |
N属性(符号有)、0詰め、+符号あり、小数部1桁 | 8 | +01234.0 | 値は右詰め。左側先頭に符号。残り0詰め。 |
9属性(符号無) | 8 | 00001234 | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。 |
9属性(符号有) | 8 | 00001234 | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。 |
9属性(符号無)、小数部1桁 | 8 | 00012340 | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。 |
9属性(符号有) 、小数部1桁 | 8 | 00012340 | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。 |
C属性(符号無)、空白詰め | 8 | □□□1,234 | 値は右詰め。左側空白詰め。3桁ごとにカンマ。 |
C属性(符号無)、0詰め | 8 | ,001,234 | 値は右詰め。左側0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、空白詰め、+符号なし | 8 | □□□1,234 | 値は右詰め。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号なし | 8 | ,001,234 | 値は右詰め。左側0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、空白詰め、+符号あり | 8 | □□+1,234 | 値は右詰め。数値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号あり | 8 | +001,234 | 値は右詰め。左側先頭に符号。残り0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、空白詰め、+符号あり、小数部1桁 | 8 | +1,234.0 | 値は右詰め。数値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号あり、小数部1桁 | 8 | +1,234.0 | 値は右詰め。左側先頭に符号。残り0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
P属性(符号無) | 8 | 0x0000000000012343 | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。 |
P属性(符号有) | 8 | 0x0000000000012343 | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。 |
P属性(符号無)、小数部1桁 | 8 | 0x0000000000123403 | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。 |
P属性(符号有) 、小数部1桁 | 8 | 0x0000000000123403 | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。 |
上記の値(例:“1234”の扱い)では、以下のように表記しています。
□は1バイトの空白
( )でくくられているものはビット列(2進数)で表現
0xが先頭に書かれているものはバイナリ(16進数)で表現
その他はテキスト(10進数)で表現
負の整数を入力にする場合は、以下の形式で値が入っているようにしてください。負の整数を出力する場合は、以下の形式で値が出力されます。
属性名 | 桁数 | 値(例:“-1234”の扱い) | 説明 |
---|---|---|---|
X属性 | 8 | -1234□□□ | 値は左詰め。右側空白詰め。左側先頭に符号。 |
K属性 | 16 | -1234□□□ | 値は2バイトにして左詰め。右側空白詰め。左側先頭に符号。 |
B属性 | 4 | 0xFFFFFB2E | 1の補数。値は右詰め。左側0x00詰め。 |
H属性 | 8 | 不可 | H属性では設定不可。出力すると、“0x00000000000004D2”となる。 |
N属性(符号無)、空白詰め | 8 | 不可 | (符号無)では設定不可。出力すると“□□□□1234”となる。 |
N属性(符号無)、0詰め | 8 | 不可 | (符号無)では設定不可。出力すると“00001234”となる。 |
N属性(符号有)、空白詰め、+符号なし | 8 | □□□-1234 | 値は右詰め。数値の前に符号。左側空白詰め。 |
N属性(符号有)、0詰め、+符号なし | 8 | -0001234 | 値は右詰め。左側先頭に符号。残り0詰め。 |
N属性(符号有)、空白詰め、+符号あり | 8 | □□□-1234 | 値は右詰め。数値の前に符号。左側空白詰め。 |
N属性(符号有)、0詰め、+符号あり | 8 | -0001234 | 値は右詰め。左側先頭に符号。残り0詰め。 |
N属性(符号有)、空白詰め、+符号あり、小数部1桁 | 8 | □-1234.0 | 値は右詰め。数値の前に符号。左側空白詰め。 |
N属性(符号有)、0詰め、+符号あり、小数部1桁 | 8 | -01234.0 | 値は右詰め。左側先頭に符号。残り0詰め。 |
9属性(符号無) | 8 | 不可 | (符号無)では設定不可。出力すると“00001234”となる。 |
9属性(符号有) | 8 | 0000123T(0x3030303031323354) | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“5”。左側0詰め。 |
9属性(符号無)、小数部1桁 | 8 | 不可 | (符号無)では設定不可。出力すると“0000123T”となる。 |
9属性(符号有) 、小数部1桁 | 8 | 0001234P(0x3030303132333450) | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“5”。左側0詰め。 |
C属性(符号無)、空白詰め | 8 | 不可 | (符号無)では設定不可。出力すると“□□□1,234”となる。 |
C属性(符号無)、0詰め | 8 | 不可 | (符号無)では設定不可。出力すると“□□□1,234”となる。 |
C属性(符号有)、空白詰め、+符号なし | 8 | □□-1,234 | 値は右詰め。数値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号なし | 8 | -001,234 | 値は右詰め。数値の前に符号。左側0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、空白詰め、+符号あり | 8 | □□-1,234 | 値は右詰め。数値の前に符号。数値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号あり | 8 | -001,234 | 値は右詰め。数値の前に符号。左側先頭に符号。残り0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、空白詰め、+符号あり、小数部1桁 | 8 | -1,234.0 | 値は右詰め。数値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号あり、小数部1桁 | 8 | -1,234.0 | 値は右詰め。左側先頭に符号。残り0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
P属性(符号無) | 8 | 不可 | (符号無)では設定不可。出力すると“0x0000000000012343”となる。 |
P属性(符号有) | 8 | 0x0000000000012345 | 値は右詰め。最終4ビットは符号。このケースでは“5”。左側0x00詰め。 |
P属性(符号無)、小数部1桁 | 8 | 不可 | (符号無)では設定不可。出力すると“0x0000000000123403”となる。 |
P属性(符号有) 、小数部1桁 | 8 | 0x0000000000123405 | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。 |
上記の値(例:“-1234”の扱い)では、以下のように表記しています。
□は1バイトの空白
( )でくくられているものはビット列(2進数)で表現
0xが先頭に書かれているものはバイナリ(16進数)で表現
その他はテキスト(10進数)で表現
小数の表現
N属性、9属性、C属性、P属性は小数を表現することができます。
“小数部桁数”を指定することで、小数を表現します。
属性 | 小数部桁数 | データ例(123.4を表す) | 備考 |
---|---|---|---|
N属性 | 1桁 | □123.4 | 明示的に小数点を表現 |
9属性 | 1桁 | 001234 | 暗示的に小数点を表現 |
C属性 | 1桁 | □123.4 | 明示的に小数点を表現 |
P属性 | 1桁 | 0x012343 | 暗示的に小数点を表現 |
上記の例(123.4を表す)は、以下のように表記しています。
□は空白を示します。
0xが先頭に書かれているものはバイナリ(16進数)で表現しています。
その他はテキスト(10進数)で表現しています。
小数を入力にする場合は、以下の形式で値が入っているようにしてください。小数を出力する場合は、以下の形式で値が出力されます。
属性名 | 桁数 | 値(例:“12.34”の扱い) | 説明 |
---|---|---|---|
X属性 | 8 | 12.34□□□ | 値は左詰め。右側空白詰め。小数点表示。 |
K属性 | 16 | 12.34□□□ | 値は2バイトにして左詰め。右側空白詰め。小数点表示。 |
B属性 | 4 | 不可 | B属性では設定不可。出力すると、“0x0000000C”となる。 |
H属性 | 8 | 不可 | H属性では設定不可。出力すると、“0x000000000000000C”となる。 |
N属性(符号無)、空白詰め | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□□12”となる。 |
N属性(符号無)、0詰め | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“00000012”となる。 |
N属性(符号有)、空白詰め、+符号なし | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□□12”となる。 |
N属性(符号有)、0詰め、+符号なし | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“00000012”となる。 |
N属性(符号有)、空白詰め、+符号あり | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□+12”となる。 |
N属性(符号有)、0詰め、+符号あり | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“+0000012”となる。 |
N属性(符号有)、空白詰め、+符号あり、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“□□□+12.3”となる) | 値は右詰め。数値の前に符号。左側空白詰め。小数点表示。 |
N属性(符号有)、0詰め、+符号あり、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“+00012.3”となる) | 値は右詰め。左側先頭に符号。残り0詰め。小数点表示。 |
9属性(符号無) | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□□12”となる。 |
9属性(符号有) | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□□12”となる。 |
9属性(符号無)、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“00000123”となる) | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。小数点非表示。 |
9属性(符号有) 、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“00000123”となる) | 値は右詰め。最終1バイトの上位4ビットが符号。このケースでは“3”。左側0詰め。小数点非表示。 |
C属性(符号無)、空白詰め | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□□12”となる。 |
C属性(符号無)、0詰め | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“,000,012”となる。 |
C属性(符号有)、空白詰め、+符号なし | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□□12”となる。 |
C属性(符号有)、0詰め、+符号なし | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“,000,012”となる。 |
C属性(符号有)、空白詰め、+符号あり | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“□□□□□+12”となる。 |
C属性(符号有)、0詰め、+符号あり | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“+000,012”となる。 |
C属性(符号有)、空白詰め、+符号あり、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“□□□+12.3”となる) | 値は右詰め。数値の前に符号。左側空白詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
C属性(符号有)、0詰め、+符号あり、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“+00012.3”となる) | 値は右詰め。左側先頭に符号。残り0詰め。3桁ごとにカンマ。先頭がカンマになっても補正はなし。 |
P属性(符号無) | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“0x0000000000000123”となる。 |
P属性(符号有) | 8 | 不可 | 小数部桁数の指定なしでは設定不可。出力すると、“0x0000000000000123”となる。 |
P属性(符号無)、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“0x0000000000001233”となる) | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。小数点は非表示。 |
P属性(符号有) 、小数部1桁~3桁 | 8 | 小数部1桁: 不可(出力すると“0x0000000000001233”となる) | 値は右詰め。最終4ビットは符号。このケースでは“3”。左側0x00詰め。小数点は非表示。 |
上記の値(例:“1234”の扱い)では、以下のように表記しています。
□は1バイトの空白
( )でくくられているものはビット列(2進数)で表現
0xが先頭に書かれているものはバイナリ(16進数)で表現
その他はテキスト(10進数)で表現