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であり,最後の行番号はWindows COBOL2002では120,UNIX COBOL2002では24である。

書き方3

  1. 整数4は絶対行番号を示す。次の規則を適用する。

    • 整数4の値はWindows 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句には,絶対行番号を指定すること。

  2. 整数5は相対行番号を示す。次の規則を適用する。

    • 整数5の値はWindows COBOL2002では1〜119,UNIX COBOL2002では1〜23でなければならない。

    • 整数5を指定したときの行番号は,直前の行番号に整数5の値を加えた位置となる。

      行番号はWindows 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行

    行番号は,Windows COBOL2002では119以下,UNIX COBOL 2002では23以下の値で指定する。

  3. データ名は行番号を可変に定義することを示す。

    次の規則を適用する。

    • データ名は修飾してもよいが,添字付けおよび部分参照をしてはならない。

    • データ名は整数項目であること。

    • データ名の値はWindows COBOL2002では1〜120,UNIX COBOL2002では1〜24でなければならない。それ以外の値のときは,実行時に行カラム番号不正で実行時エラーとなる。

    • データ名を指定した項目の上位に,REPEAT LINE句およびREPEAT COLUMN句があってはならない。

    • データ名を指定した項目の下位に,REPEAT COLUMN句があってはならない。

  4. 上位と下位のレベルに同時にLINE NUMBER句またはREPEAT LINE句を書いてはならない。

  5. すべての基本項目はLINE NUMBER句を含むか,またはこの句(もしくはREPEAT LINE句)を含む集団項目に従属していなければならない。

書き方4

  1. 書き方4のLINE NUMBER句は,画面に引くけい線の行番号を指定する。この句とRULE LINE句およびCOLUMN NUMBER句を組み合わせて自由なけい線を引ける。さらに,特定のフィールドに関係しないフィールド属性を定義するときも,その行番号を指定する。

  2. 各整数の値はWindows 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句を含むか,またはこの句を含む集団項目に従属していなければならない。