COBOL2002 言語 拡張仕様編

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

13.4.14 LINE NUMBER句(WINDOW SECTION)

形式
書き方3
[図データ]
書き方4
[図データ]

機能
LINE NUMBER(行番号)句は,画面上での行番号を指定する。

一般規則
  1. 書き方3のLINE NUMBER句は,01〜49のどんなレベルに書いてもよい。集団項目に書くと,その集団に従属するすべての基本項目にそのLINE NUMBER句を適用する。
  2. 書き方4のLINE NUMBER句は,77レベル記述項およびPICTURE句のない基本項目に指定する。
  3. 各整数は符号のない1〜3けたの数字でなければならない。整数は画面の行番号を指定する。画面の最初の行番号は1であり,最後の行番号はPC COBOL2002では120,UNIX COBOL2002では24である。
書き方3
  1. 整数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句には,絶対行番号を指定すること。
  1. 整数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以下の値で指定する。
  1. データ名は行番号を可変に定義することを示す。
    次の規則を適用する。
    ・データ名は修飾してもよいが,添字付けおよび部分参照をしてはならない。
    ・データ名は整数項目であること。
    ・データ名の値はPC COBOL2002では1〜120,UNIX COBOL2002では1〜24でなければならない。それ以外の値のときは,実行時に行カラム番号不正で実行時エラーとなる。
    ・データ名を指定した項目の上位に,REPEAT LINE句およびREPEAT COLUMN句があってはならない。
    ・データ名を指定した項目の下位に,REPEAT COLUMN句があってはならない。
  2. 上位と下位のレベルに同時にLINE NUMBER句またはREPEAT LINE句を書いてはならない。
  3. すべての基本項目はLINE NUMBER句を含むか,またはこの句(もしくはREPEAT LINE句)を含む集団項目に従属していなければならない。
書き方4
  1. 書き方4のLINE NUMBER句は,画面に引くけい線の行番号を指定する。この句とRULE LINE句およびCOLUMN NUMBER句を組み合わせて自由なけい線を引ける。さらに,特定のフィールドに関係しないフィールド属性を定義するときも,その行番号を指定する。
  2. 各整数の値はPC COBOL2002では1〜120でなければならない。ただし,整数6は0でもよい。UNIX COBOL2002では1〜24でなければならない。ただし,整数6は0でもよい。0を指定した場合,そのフィールドは画面入出力文の対象外となる。また,次に示す大小関係を満足しなければならない。
    整数6<整数7<整数8<整数9・・・
  3. けい線の引き方を次に示す。なお,整数6,整数7に関する規則は,整数8,整数9およびこれらの繰り返しにも適用する。
    ●整数6と整数7を指定した場合
    ・横けい線(上または下)は,整数6の行番号から整数7の行番号までのすべての行に引く。
    (注意)
    THROUGH指定をして横けい線を引くのは一般的な使い方ではない。
    ・縦けい線は,整数6の行番号から整数7の行番号まで引く。
    (例)縦けい線の指定

    [図データ]

    ●整数6だけを指定した場合
    ・横けい線(上または下)は,整数6の行番号に引く。横けい線のカラム番号はCOLUMN NUMBER句で指定する。
    (例)横けい線の指定例

    [図データ]

    ・縦けい線は整数6の行番号に引く。
    (注意)
    THROUGH指定を省略して縦けい線を引くのは一般的な使い方ではない。
  4. PICTURE句のない基本項目はLINE NUMBER句を含むか,またはこの句を含む集団項目に従属していなければならない。