COBOL2002 言語 拡張仕様編

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

13.2.3 画面フィールドの種類とそのサイズ(WINDOW SECTION)

画面フィールドは,画面節で指定したデータ項目のPICTURE句に従って次の3種類に分類される。

これらのフィールドは,各データ項目と1対1に対応する。つまり,画面節でデータ項目を指定すると,それが画面フィールドとなる。また,不当なデータは入力できない。

(例)データ項目とフィールドの関係
[図データ]

また,各フィールドはその使い方によって次のように分類できる(FIELD TYPE句で指定する)。

(例)フィールドの使い方による分類
[図データ]

これらのフィールドのサイズは,データ項目のサイズに等しい場合と異なる場合がある。サイズの決め方を次に示す。ただし,拡大文字の指定がある場合は,「表13-3 フィールドのサイズの決め方」に示すフィールドのサイズの2倍となる。USING句と拡大文字の指定が同時にある場合は,USING句で求まるフィールドのサイズの2倍となる。

<この項の構成>
(1) 数字フィールドのサイズ
(2) 英数字フィールドのサイズ
(3) 日本語フィールドのサイズ

(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)のまとめを次に示す。

表13-3 フィールドのサイズの決め方

フィールドの種類 フィールドのサイズ
数字 数字項目 PICTURE文字列の文字「9」および「S」と「V」の個数。ただし,右側の「V」はフィールドのサイズに数えない。
数字編集項目 PICTURE文字列の各文字の個数。つまり,データ項目のサイズに等しい。
英数字 PICTURE文字列の各文字の個数。つまり,データ項目のサイズに等しい。
日本語 PICTURE文字列の文字「N」と「B」の個数×2。つまり,データ項目のサイズに等しい。