COBOL2002 言語 拡張仕様編
- 形式
- 書き方5(画面節(WINDOW SECTION))
- 機能
- ACCEPT(小入力)文は画面からデータを入力してデータ項目へ格納する。
- 一般規則
- 呼び名2は環境部の特殊名段落でWINDOWに関係づけた名前でなければならない。
- 一意名7は,画面節で定義した01〜49レベルのデータ項目の名前でなければならない。77レベル記述項およびPICTURE句のない基本項目の名前であってはならない。また,PICTURE句のある基本項目を一つも含まない集団項目であってはならない。
- 一意名7が集団項目のときは,その集団に属するすべての入力フィールドと入出力フィールドに対してデータを入力する。ただし,その集団に入力フィールドまたは入出力フィールドが一つもない場合には,終了キーの打けんだけを待つ。SET文でPROTECT(保護)としている場合は,出力フィールドとみなされる。
(例)集団項目を指定したACCEPT文
02 A.
03 B INPUT 〜:入力フィールド
03 C I-O 〜:入出力フィールド
03 D OUTPUT 〜:出力フィールド
:
ACCEPT A FROM WINDOW.
- ACCEPT文を実行すると,BとCのフィールドに対してデータを入力する。Dのフィールドに対しては何もしない。
- 一意名7が基本項目のときは,そのフィールドに対してだけデータを入力する。ただし,そのフィールドが出力フィールドの場合には,終了キーの打けんだけを待つ。
- 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)フィールドを反転したままデータを再入力する。
- AUTO-ADVANCE指定は項目の長さ分のデータ入力があると,終了キーの打けんを待たないで入力を終了する。ただし,長さ分を入力する前に終了キーを打けんすると,そこで入力は終了する。特にこのフィールドを自動入力フィールドという。
・AUTO-ADVANCE指定を書いた場合,項目の長さ分のデータを入力して操作を終了したときは,WINDOW-KEY(終了キー)の値として「00」が設定される。
・ACCEPT文で複数のフィールドを指定した場合,自動入力フィールドとなるのは,画面上で最右下に位置するフィールドである。
(例)AUTO-ADVANCE指定の画面表示フィールド
- BUZZER指定は,データ入力の応答待ちになるとき,短発音のブザーを鳴動する。
- FIRST FIELD指定は,データの入力待ちになるときに一意名8で指定したフィールドにカーソルを位置づける。この指定を書いたとき一意名8は一意名7に含まれる入力,または入出力フィールドとして定義された基本項目の名前でなければならない。
FIRST FIELD指定がない場合,画面の左上にある入力フィールドにカーソルを位置づける。入力フィールドがない場合,カーソル位置は変更されないで終了キー入力待ちとなる。
- BY END KEY指定,IN NUMERIC MODE指定,AUTO-SHIFT指定,WITH NO WAIT指定は覚え書きとみなす。
- 【標準仕様との関連】
- COBOL2002 言語 標準仕様編 10.8.1 ACCEPT文
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.