ACCEPT(受取り)文は、操作卓からキー入力されるデータ、またはオペレーティング システムから提供されるデータを、指定されたデータ項目に入れてプログラムで利用できるようにする。
一意名は、内部浮動小数点数データ項目でもよい。
データ移送のサイズは装置とランタイム環境とによって決まる(使用可能な機能名のリストについては、環境部の章の特殊名段落特殊名段落節を、装置およびデータ移送サイズの制限の詳細についてはCOBOLシステムのマニュアルを、それぞれ参照)。
装置が受取り側データ項目と同じサイズのデータを移送できる場合には、移送されたデータが受取り側データ項目に収められる。そうでない場合は、下記のように扱われる。
FROMオプションを指定しなかった場合は、FROM CONSOLEと指定したのに等しい。
現在の引数の数が0に設定されていると、これは、実行単位の主プログラムのプログラム名が返されることを意味する。しかし、プログラムの呼び出しにいろいろな変形があるため、主プログラム名の代わりにユーティリティプログラムまたは呼ぶプログラムの名前が返されることがある。
ACCEPT文の実行時に現在の引数の数が
99より大きいか、0より小さいか、
コマンド ライン上の実際の引数の数よりも大きい場合、無条件文-1が指定されていると、これが実行される。
DAY-OF-WEEK、
およびTIMEは概念的なデータであり、COBOLプログラム中には記述されていない。
文字位置 | 内容 |
---|---|
1-2 | グレゴリオ歴(西暦)の年号の下2桁の数字 |
3-4 | 1年の範囲内で、月を表す01から12までの2桁の数字。 |
5-6 | 1ヶ月の範囲内で、日を表す01から31までの2桁の数字。 |
文字位置 | 内容 |
---|---|
1-4 | グレゴリオ歴の年号の4桁の数字 |
5-6 | 1年の範囲内で、月を表す01から12までの2桁の数字。 |
7-8 | 1ヶ月の範囲内で、日を表す01から31までの2桁の数字。 |
文字位置 | 内容 |
---|---|
1-2 | グレゴリオ歴の年号の下2桁の数字 |
3-5 | 1年の範囲内で、日を表す01から366までの3桁の数字。 |
文字位置 | 内容 |
---|---|
1-4 | グレゴリオ歴の年号の4桁の数字 |
5-7 | 1年の範囲内で、日を表す01から366までの3桁の数字。 |
EXCEPTION STATUSを調べる場合は、CALL文の直後で行うのがよい。 CALLとACCEPT FROM EXCEPTION STATUSとの間には、何もあってはならない。たとえば、その間にファイル入出力をはさむと、EXCEPTION STATUSが変えられてしまうので、その内容を調べる意味がなくなってしまう。 .
CURSOR IS句(環境部の章の特殊名段落特殊名段落節のCURSOR IS句の規則を参照)内で別途指定しないかぎり、カーソルは最初の項目の始点に位置付けられる。各項目へのACCEPT処理が終わるにつれて、カーソルは次の項目の始点に移動される。
画面記述句に指定できるオプションの他に、WITH指定にはいくつかのオプションが加えられている。SPACE-FILL, ZERO-FILL, LEFT-JUSTIFY, RIGHT-JUSTIFY, TRAILING-SIGN, UPDATEである。ZERO-FILLはこのリストにも画面記述句にも現れている。これは、ZERO-FILLには2つの用法があるからである。2番目の用法については、この章で後述する。
自由方式で、数字および数字編集の画面項目にデータを入力できるようにする構成オプションがある。COBOLでは、非編集数字データ項目は、内部形式でデータを保持することを目的としたものである。しかし、この形式を用いると、そのようなデータ項目を画面上に表示できる(詳細は、ユーザーインターフェイスに関するCOBOLシステムのマニュアルを参照のこと)。自由方式がとられているときは、データは自動的に下記のように編集されて表示される。
SPACE-FILL、ZERO-FILL、LEFT-JUSTIFY、RIGHT-JUSTIFY、およびTRAILING-SIGNオプションを使用すると、上記の形式を補正できる。
ACCEPT INPUT-FIELD TIME-OUT AFTER +10
すると、ACCEPTの開始から10秒経過後に、時間切れ条件が発生する。この場合、ACCEPTの開始5秒後に何か文字を打ったとしても、時間切れ条件の発生を防ぐことにはならない。
また、時間切れ測定用の時計を再設定するようにADISが設定されているとする。すると、上記の同じ文を実行した場合、何か文字を打つたびにTIMEOUT"時計"はゼロに設定し直される。