COBOL2002 言語 拡張仕様編
画面フィールドは,画面節で指定したデータ項目のPICTURE句に従って次の3種類に分類される。
これらのフィールドは,各データ項目と1対1に対応する。つまり,画面節でデータ項目を指定すると,それが画面フィールドとなる。また,不当なデータは入力できない。
また,各フィールドはその使い方によって次のように分類できる(FIELD TYPE句で指定する)。
これらのフィールドのサイズは,データ項目のサイズに等しい場合と異なる場合がある。サイズの決め方を次に示す。ただし,拡大文字の指定がある場合は,「表13-3 フィールドのサイズの決め方」に示すフィールドのサイズの2倍となる。USING句と拡大文字の指定が同時にある場合は,USING句で求まるフィールドのサイズの2倍となる。
PICTURE文字列の「S」と「V」を含めてフィールドのサイズに数える。ただし,「V」が文字列の右端にあるときはフィールドのサイズに数えない。
(例)数字フィールドのサイズ
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 |
フィールドのサイズはデータ項目のサイズに等しい。
(例)英数字フィールドのサイズ
PICTURE文字列 | データ項目のサイズ (バイト) |
フィールドのサイズ (バイト) |
---|---|---|
X(20) | 20 | 20 |
X(4)BX(5) | 10 | 10 |
フィールドのサイズは,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)のまとめを次に示す。
表13-3 フィールドのサイズの決め方
フィールドの種類 | フィールドのサイズ | |
---|---|---|
数字 | 数字項目 | PICTURE文字列の文字「9」および「S」と「V」の個数。ただし,右側の「V」はフィールドのサイズに数えない。 |
数字編集項目 | PICTURE文字列の各文字の個数。つまり,データ項目のサイズに等しい。 | |
英数字 | PICTURE文字列の各文字の個数。つまり,データ項目のサイズに等しい。 | |
日本語 | PICTURE文字列の文字「N」と「B」の個数×2。つまり,データ項目のサイズに等しい。 |
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.