13.2.3 画面フィールドの種類とそのサイズ(WINDOW SECTION)
画面フィールドは,画面節で指定したデータ項目のPICTURE句に従って次の3種類に分類される。
-
数字フィールド:数字(外部10進)および数字編集項目
-
英数字フィールド:英字,英数字,英数字編集項目
-
日本語フィールド:日本語,日本語編集項目
これらのフィールドは,各データ項目と1対1に対応する。つまり,画面節でデータ項目を指定すると,それが画面フィールドとなる。また,不当なデータは入力できない。
- (例)データ項目とフィールドの関係
-
また,各フィールドはその使い方によって次のように分類できる(FIELD TYPE句で指定する)。
-
入力フィールド:データを入力する。
-
出力フィールド:データを表示する。
-
入出力フィールド:データを表示した後,入力する。
- (例)フィールドの使い方による分類
-
これらのフィールドのサイズは,データ項目のサイズに等しい場合と異なる場合がある。サイズの決め方を次に示す。ただし,拡大文字の指定がある場合は,「表13‒3 フィールドのサイズの決め方」に示すフィールドのサイズの2倍となる。USING句と拡大文字の指定が同時にある場合は,USING句で求まるフィールドのサイズの2倍となる。
(1) 数字フィールドのサイズ
PICTURE文字列の「S」と「V」を含めてフィールドのサイズに数える。ただし,「V」が文字列の右端にあるときはフィールドのサイズに数えない。
- (注意1)
-
この規則は符号と小数点をデータとして入力するときに有効である。
- (注意2)
-
PICTURE文字列には文字「P」を書いてはならない。
(例)数字フィールドのサイズ
PICTURE文字列 |
SIGN SEPARATE |
データ項目のサイズ (バイト) |
フィールドのサイズ (バイト) |
---|---|---|---|
9(6) |
なし |
6 |
6 |
S9(6) |
なし |
6 |
7 |
S9(6)V |
なし |
6 |
7 |
S9(5)V9 |
なし |
6 |
8 |
S9(5) |
あり |
6 |
6 |
S9(5)V9 |
あり |
7 |
8 |
\\,\\9.9 |
− |
8 |
8 |
(2) 英数字フィールドのサイズ
フィールドのサイズはデータ項目のサイズに等しい。
(例)英数字フィールドのサイズ
PICTURE文字列 |
データ項目のサイズ (バイト) |
フィールドのサイズ (バイト) |
---|---|---|
X(20) |
20 |
20 |
X(4)BX(5) |
10 |
10 |
(3) 日本語フィールドのサイズ
フィールドのサイズは,PICTURE文字列の「N」と「B」はそれぞれ2バイト(日本語1文字)として計算した値に等しい。つまり,LETTER IS FREE句の有無に関係なくフィールドのサイズは同じである。
(例)日本語フィールドのサイズ
PICTURE文字列 |
LETTER IS FREE |
データ項目のサイズ (バイト) |
フィールドのサイズ (バイト) |
---|---|---|---|
N(10) |
なし |
20 |
20 |
N(11) |
なし |
22 |
22 |
N(3)BN(4) |
なし |
16 |
16 |
N(10) |
あり |
20 |
20 |
N(11) |
あり |
22 |
22 |
LETTER IS FREE句の有無によってデータ項目のサイズおよびフィールドのサイズは変わらない。
規則(1)〜(3)のまとめを次に示す。
フィールドの種類 |
フィールドのサイズ |
|
---|---|---|
数字 |
数字項目 |
PICTURE文字列の文字「9」および「S」と「V」の個数。ただし,右側の「V」はフィールドのサイズに数えない。 |
数字編集項目 |
PICTURE文字列の各文字の個数。つまり,データ項目のサイズに等しい。 |
|
英数字 |
PICTURE文字列の各文字の個数。つまり,データ項目のサイズに等しい。 |
|
日本語 |
PICTURE文字列の文字「N」と「B」の個数×2。つまり,データ項目のサイズに等しい。 |