COBOL2002 言語 拡張仕様編

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

13.5.2 ACCEPT文(WINDOW SECTION)

形式
書き方5(画面節(WINDOW SECTION))
[図データ]

機能
ACCEPT(小入力)文は画面からデータを入力してデータ項目へ格納する。

一般規則
  1. 呼び名2は環境部の特殊名段落でWINDOWに関係づけた名前でなければならない。
  2. 一意名7は,画面節で定義した01〜49レベルのデータ項目の名前でなければならない。77レベル記述項およびPICTURE句のない基本項目の名前であってはならない。また,PICTURE句のある基本項目を一つも含まない集団項目であってはならない。
  3. 一意名7が集団項目のときは,その集団に属するすべての入力フィールドと入出力フィールドに対してデータを入力する。ただし,その集団に入力フィールドまたは入出力フィールドが一つもない場合には,終了キーの打けんだけを待つ。SET文でPROTECT(保護)としている場合は,出力フィールドとみなされる。
    (例)集団項目を指定したACCEPT文
 
       02 A.
         03 B INPUT  〜:入力フィールド
         03 C I-O    〜:入出力フィールド
         03 D OUTPUT 〜:出力フィールド
            :
           ACCEPT A FROM WINDOW.
 
ACCEPT文を実行すると,BとCのフィールドに対してデータを入力する。Dのフィールドに対しては何もしない。
  1. 一意名7が基本項目のときは,そのフィールドに対してだけデータを入力する。ただし,そのフィールドが出力フィールドの場合には,終了キーの打けんだけを待つ。
  2. USING ONLY DATA指定は,データを入力するときに,フィールド属性を新たに設定しないことを示す。このフィールドには,ACCEPT文を実行する前にSET文またはDISPLAY文を実行してフィールド属性を設定しておく。
    (例)USING ONLY DATA指定の使用
 
         03 A INPUT 〜
            :
           ACCEPT A FROM WINDOW.
                 |
           入力データのエラーを検出
                 |
           SET FIELD A TO REVERSE.              …(1)
           ACCEPT A FROM WINDOW USING ONLY DATA.…(2)
(1)エラーを検出したのでフィールドを反転する。
(2)フィールドを反転したままデータを再入力する。
  1. AUTO-ADVANCE指定は項目の長さ分のデータ入力があると,終了キーの打けんを待たないで入力を終了する。ただし,長さ分を入力する前に終了キーを打けんすると,そこで入力は終了する。特にこのフィールドを自動入力フィールドという。
    ・AUTO-ADVANCE指定を書いた場合,項目の長さ分のデータを入力して操作を終了したときは,WINDOW-KEY(終了キー)の値として「00」が設定される。
    ・ACCEPT文で複数のフィールドを指定した場合,自動入力フィールドとなるのは,画面上で最右下に位置するフィールドである。
    (例)AUTO-ADVANCE指定の画面表示フィールド

    [図データ]

  2. BUZZER指定は,データ入力の応答待ちになるとき,短発音のブザーを鳴動する。
  3. FIRST FIELD指定は,データの入力待ちになるときに一意名8で指定したフィールドにカーソルを位置づける。この指定を書いたとき一意名8は一意名7に含まれる入力,または入出力フィールドとして定義された基本項目の名前でなければならない。
    FIRST FIELD指定がない場合,画面の左上にある入力フィールドにカーソルを位置づける。入力フィールドがない場合,カーソル位置は変更されないで終了キー入力待ちとなる。
  4. BY END KEY指定,IN NUMERIC MODE指定,AUTO-SHIFT指定,WITH NO WAIT指定は覚え書きとみなす。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 10.8.1 ACCEPT文