COBOL2002 言語 拡張仕様編
- 形式
- 書き方3
- 書き方4
- 機能
- LINE NUMBER(行番号)句は,画面上での行番号を指定する。
- 一般規則
- 書き方3のLINE NUMBER句は,01〜49のどんなレベルに書いてもよい。集団項目に書くと,その集団に従属するすべての基本項目にそのLINE NUMBER句を適用する。
- 書き方4のLINE NUMBER句は,77レベル記述項およびPICTURE句のない基本項目に指定する。
- 各整数は符号のない1〜3けたの数字でなければならない。整数は画面の行番号を指定する。画面の最初の行番号は1であり,最後の行番号はPC COBOL2002では120,UNIX COBOL2002では24である。
- 書き方3
- 整数4は絶対行番号を示す。次の規則を適用する。
・整数4の値はPC COBOL2002では0または1〜120,UNIX COBOL2002では0または1〜24であること。0を指定した場合,そのフィールドは画面入出力命令の対象外となる。
(例)0を指定した場合
01 MAP0.
02 MAP1 LINE 10〜.…(1)
03 F1 COLUMN 10〜.
03 F2 COLUMN 15〜.
02 MAP2 LINE 10 COLUMN 40〜.…(5)
02 MAP3 LINE PLUS 5 COLUMN 50〜.…(6)
(1)を”02 MAP1 LINE 0”にすると次のようになる。
PROCEDURE DIVISION.
:
MOVE SPACE TO MAP1. …(2)
:
DISPLAY MAP0 UPON WINDOW.…(3)
:
ACCEPT MAP1 FROM WINDOW.…(4)
(2) MAP1にSPACEが設定される。
(3) MAP1は対象外のため表示されない。
(4)は対象となるフィールドがないため何も実行しない。
ただし,次のようになる。
・WINDOW-STATUS:00
・WINDOW-KEY :00
・フィールドステータス:OFF
(6)のようにPLUS指定がある場合,(5)を”02 MAP2 LINE 0 COLUMN 40.”
とし,MAP2のフィールドを対象外とすると,(6)のMAP3のフィールドも
対象外となる。
- (例)書き方3のデータ名の指定例
WORKING-STORAGE SECTION.
77 I PIC 9(3).
:
WINDOW SECTION.
01 GAMEN LINE I.
02 A OUTPUT COLUMN 10 PIC X(3).
:
MOVE 5 TO I.
MOVE 'ABC' TO A.
DISPLAY GAMEN UPON WINDOW.
MOVE 10 TO I.
MOVE 'XYZ' TO A.
DISPLAY GAMEN UPON WINDOW.
- ・一つの01レベルの集団で,絶対行番号の値は任意の順序で書いてもよいし,同じ値のものを書いてもよい。ただし,上の行から下の行へ順に指定するのが一般的な書き方である。
- ・一つの01レベルの集団で最初のLINE NUMBER句には,絶対行番号を指定すること。
- 整数5は相対行番号を示す。次の規則を適用する。
・整数5の値はPC COBOL2002では1〜119,UNIX COBOL2002では1〜23でなければならない。
・整数5を指定したときの行番号は,直前の行番号に整数5の値を加えた位置となる。
行番号はPC COBOL2002では120,UNIX COBOL2002では24を超えてはならない。
(例)絶対行番号と相対行番号の指定
01 A. (行番号)
02 B LINE 10〜. 10行
02 C LINE PLUS 2〜. 12行
02 D LINE PLUS 5 〜. 17行
02 E LINE 20〜. 20行
- 行番号は,PC COBOL2002では119以下,UNIX COBOL 2002では23以下の値で指定する。
- データ名は行番号を可変に定義することを示す。
次の規則を適用する。
・データ名は修飾してもよいが,添字付けおよび部分参照をしてはならない。
・データ名は整数項目であること。
・データ名の値はPC COBOL2002では1〜120,UNIX COBOL2002では1〜24でなければならない。それ以外の値のときは,実行時に行カラム番号不正で実行時エラーとなる。
・データ名を指定した項目の上位に,REPEAT LINE句およびREPEAT COLUMN句があってはならない。
・データ名を指定した項目の下位に,REPEAT COLUMN句があってはならない。
- 上位と下位のレベルに同時にLINE NUMBER句またはREPEAT LINE句を書いてはならない。
- すべての基本項目はLINE NUMBER句を含むか,またはこの句(もしくはREPEAT LINE句)を含む集団項目に従属していなければならない。
- 書き方4
- 書き方4のLINE NUMBER句は,画面に引くけい線の行番号を指定する。この句とRULE LINE句およびCOLUMN NUMBER句を組み合わせて自由なけい線を引ける。さらに,特定のフィールドに関係しないフィールド属性を定義するときも,その行番号を指定する。
- 各整数の値はPC COBOL2002では1〜120でなければならない。ただし,整数6は0でもよい。UNIX COBOL2002では1〜24でなければならない。ただし,整数6は0でもよい。0を指定した場合,そのフィールドは画面入出力文の対象外となる。また,次に示す大小関係を満足しなければならない。
整数6<整数7<整数8<整数9・・・
- けい線の引き方を次に示す。なお,整数6,整数7に関する規則は,整数8,整数9およびこれらの繰り返しにも適用する。
●整数6と整数7を指定した場合
・横けい線(上または下)は,整数6の行番号から整数7の行番号までのすべての行に引く。
(注意)
THROUGH指定をして横けい線を引くのは一般的な使い方ではない。
・縦けい線は,整数6の行番号から整数7の行番号まで引く。
(例)縦けい線の指定
●整数6だけを指定した場合
・横けい線(上または下)は,整数6の行番号に引く。横けい線のカラム番号はCOLUMN NUMBER句で指定する。
(例)横けい線の指定例
・縦けい線は整数6の行番号に引く。
(注意)
THROUGH指定を省略して縦けい線を引くのは一般的な使い方ではない。
- PICTURE句のない基本項目はLINE NUMBER句を含むか,またはこの句を含む集団項目に従属していなければならない。
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.