COBOL2002 言語 拡張仕様編


13.4.5 COLUMN NUMBER句(WINDOW SECTION)

形式

書き方3

[図データ]

書き方4

[図データ]

機能

COLUMN NUMBER(カラム番号)句は,画面の行の上でのカラム番号を指定する。

一般規則

  1. 書き方3のCOLUMN NUMBER句は,基本項目,77レベル記述項およびPICTURE句のない基本項目に指定する。

  2. 書き方4のCOLUMN NUMBER句は,77レベル記述項およびPICTURE句のない基本項目に指定する。

  3. 各整数は符号のない1〜3けたの数字でなければならない。整数は画面の行の上でのカラム番号を指定する。1行の最初のカラム番号は1であり,最後のカラム番号は,Windows COBOL2002では160,UNIX COBOL2002では80である。

  4. 書き方3の整数5は相対カラム番号を示す。なお,次の規則を適用する。

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

    • 整数5を指定すると,そのカラム番号は直前のカラム番号に整数5の値を加えた位置になる。

    カラム番号は,Windows COBOL2002では160けた,UNIX COBOL2002では80けたを超えてはならない。

  5. 書き方3のデータ名は,カラム番号を可変に定義することを示す。なお,次の規則を適用する。

    • データ名は修飾してもよいが,添字付けしてはならない。

    • データ名は整数項目でなければならない。

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

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

書き方3

  1. 整数4は,フィールドの左端のカラム番号を示す。

    整数4の値は,Windows COBOL2002では0または1〜160であること。0を指定した場合,そのフィールドは画面入出力文の対象外となる。UNIX COBOL2002では0または1〜80であること。0を指定した場合,そのフィールドは画面入出力文の対象外となる。

    (例)0を指定した場合

           01 MAP0.
             02 MAP1 LINE 10.
               03 F1 COLUMN 10〜.…(1)
               03 F2 COLUMN 15〜.
             02 MAP2 LINE 10.
               03 F3 COLUMN 40〜.
               03 F4 COLUMN 50〜.

    (1)を03 F1 COLUMN 0 にすると,

           PROCEDURE DIVISION.
                :
               MOVE SPACE TO F1.         …(2)
                :
               DISPLAY MAP0 UPON WINDOW. …(3)
                :
               ACCEPT MAP1 FROM WINDOW.  …(4)

    (2) F1にSPACEが設定される。

    (3) F1は対象外のため表示されない。

    [図データ]

    (4) F1は対象外のためF2に対してデータを入力する。

    (例)書き方3のデータ名の指定

           WORKING-STORAGE SECTION.
           77 I PIC 9(3).
                    :
           WINDOW SECTION.
           01 GAMEN LINE 5.
             02 A OUTPUT COLUMN I 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.

    [図データ]

  2. 一つのレベルの集団で,最初のCOLUMN NUMBER句には,絶対カラム番号を指定しなければならない。

  3. 1行中のフィールドは,任意の順序で書いてもよいが,その行の左のものから右のものへ順に指定するのが一般的な書き方である。なお,各フィールドは,重ならないように指定すること。

    カラム番号の指定方法を次に示す。

    図13‒1 書き方3のCOLUMN句のカラム番号

    [図データ]

    (例)書き方3のCOLUMN NUMBER句の指定

    [図データ]

           01 GAMEN LINE 5.
             02 A OUTPUT COLUMN 10 PIC N(3) VALUE NC '商品名'.
             02 B INPUT  COLUMN 20 PIC X(15).
                     :
               REPLY GAMEN UPON WINDOW.

    カラム番号は,フィールドの左端の文字位置を指定する。

書き方4

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

  2. 各整数の値は,Windows COBOL2002では1〜160でなければならない。ただし,整数6は0でもよい。UNIX COBOL2002では1〜80でなければならない。ただし,整数6は0でもよい。0を指定した場合,そのフィールドは画面入出力文の対象外となる。また,次の大小関係を満足しなければならない。

    整数6<整数7≦整数8<整数9・・・

  3. けい線の引き方を次に示す。なお,整数6,7に関する規則は,整数8,9およびこれらの繰り返しにも適用する。なお,けい線指定の詳細については,「13.4.20 RULE LINE句(WINDOW SECTION)」を参照のこと。

    (a)整数6と整数7を指定した場合

    • 横けい線(上または下)は,整数6のカラム番号の左端から整数7のカラム番号の左端まで引く。

    (例)横けい線の指定

    [図データ]

    • 縦けい線は,整数6のカラム番号と整数7のカラム番号に引く。ただし,THROUGH指定をして縦けい線を引くのは一般的な用い方ではない。

    (b)整数6だけを指定した場合

    • 横けい線(上または下)は,整数6のカラム番号に引く。ただし,THROUGH指定を省略して縦けい線を引くのは一般的な用い方ではない。

    • 縦けい線は,整数6のカラム番号に引く。縦けい線の行番号はLINE NUMBER句で指定する。

    (例)縦けい線の指定

    [図データ]

    (例)PICTURE句のない基本項目による横けい線の指定

    [図データ]

           01 GAMEN LINE 5.
             02 A OUTPUT COLUMN 10 PIC N(3) VALUE NC '商品名'.
             02 KEISEN-A COLUMN 10 THRU 16 RULE UNDER.
               :
               DISPLAY GAMEN UPON WINDOW.
     
               表示結果
                          商品名