ACCEPT ステートメントは、指定された ID によって参照されるデータ域へデータまたはシステムの関連情報を転送します。 転送されてくるデータの編集やエラー・チェックは行われません。
| フォーマット 1: データ転送 |
|---|
|
フォーマット 1 では、データは入力ソースから ID-1 が 参照するデータ項目 (受け取り領域) へ転送されます。 FROM 句を省略する場合は、システム入力装置が前提とされます。
プログラム中にオペレーターの介入が (特定のメッセージ、コード、または例外標識を提供するために) 必要である例外状況では、フォーマット 1 が役立ちます。オペレーターは、該当のメッセージが与えられ、それに応答する必要があります。
入力ファイルは、バイト・ストリーム・ファイル (例えば、レコード終了符号で区切られたレコードを持つテキスト・データから構成されるファイル) でなければなりません。COBOL プログラムで、行順次ファイルの入出力、または DISPLAY ステートメントを使用して、バイト・ストリーム・ファイルを作成できます。(また、大半のテキスト・エディターでは、バイト・ストリーム・ファイルを作成できます。)
入力ファイルには、Btrieve ファイルまたは STL ファイル (順次ファイル、相対ファイル、索引ファイルなど) は指定できません。
ACCEPT ステートメントの入力元がファイルで、受け取り領域を占めているのがレコード終了符号で区切られた完全なレコードではない場合、その入力レコードの残りは、ファイルに対する次の ACCEPT ステートメントで使用されます。レコード区切り文字は、入力レコードが受け取り領域に移される前に、入力データから除去されます。
ACCEPT ステートメントの入力元がキーボードの場合、Enter キーが押されるまでのキーボードから入力されたデータが入力データとして扱われます。 入力データが受け取り領域より短い場合、この領域は、 受け取り領域に適切な表現のスペースで埋められます。
国別グループ項目は、国別カテゴリーの基本データ項目として処理されます。
ID-1 の使用法が NATIONAL で、入力データの入力元が キーボードである場合は、入力がネイティブ・コード・ページ (ランタイムのロケールで 指定されたコード・ページ) から国別文字表現に変換されます。
環境名を指定した ACCEPT では、稼働環境での環境変数の割り当てによって環境名に関連付けられた入力元を使用します。COBOL 環境名に 対応する環境変数が設定されていない場合、SYSIN または SYSIPT からの ACCEPT は、 システム論理入力装置からとなります。CONSOLE からの ACCEPT は、ユーザーの キーボードからとなります。環境変数の詳細については、「COBOL for Windows プログラミング・ガイド」を参照してください。
装置が、LINE SEQUENTIAL ファイルの READ ステートメントで使われる装置と同じである場合、結果は予想できません。
指定された概念上のデータ項目の DATE、DATE YYYYMMDD、DAY、DAY YYYYDDD、DAY-OF-WEEK、または TIME に含まれているシステム情報は、ID-2 によって参照されるデータ項目へ転送することができます。 この転送は、 CORRESPONDING 句を伴わない MOVE ステートメントの規則に従わなければなりません。MOVE ステートメントを参照してください。
| フォーマット 2: システム情報転送 |
|---|
|
国別グループ項目は、国別カテゴリーの基本データ項目として処理されます。
フォーマット 2 では 2 つのフォーマットの現在日付、すなわち、 システムによって随時更新される曜日または時刻を使用します。これは、 あるオブジェクト・プログラムがいつ実行されたのかを識別するのに役立ちます。また、フォーマット 2 は、ヘッダーやフッターに日付を付けるために使用することもできます。
現在の日付や時刻は、 日時の組み込み関数 CURRENT-DATE を使用してもアクセスできます。 CURRENT-DATE は 4 桁の年の値をもサポートしており、 追加情報を提供します (組み込み関数を参照してください)。
概念上のデータ項目 DATE、DATE YYYYMMDD、DAY、DAY YYYYDDD、 DAY-OF-WEEK、および TIME には、 USAGE DISPLAY が暗黙的に指定されます。これらは概念上のデータ項目であるため、COBOL プログラムで記述することはできません。
概念上のデータ項目の内容は、MOVE ステートメントの規則を使用して受け取り領域へ移動されます。受け取り領域が使用法 NATIONAL の場合は、データは国別文字表現に変換されます。
データ・エレメントのシーケンスは (左から右へ) 次のような内容になっています。
Two digits for the year Two digits for the month Two digits for the day
したがって、2003 年 4 月 27 日は 030427 となります。
データ・エレメントのシーケンスは (左から右へ) 次のような内容になっています。
Four digits for the year Two digits for the month Two digits for the day
したがって、2003 年 4 月 27 日は 20030427 となります。
データ・エレメントのシーケンスは (左から右へ) 次のような内容になっています。
Two digits for the year Three digits for the day
したがって、2003 年 4 月 27 日は 03117 となります。
データ・エレメントのシーケンスは (左から右へ) 次のような内容になっています。
Four digits for the year Three digits for the day
したがって、2003 年 4 月 27 日は 2003117 となります。
単一のデータ・エレメントは、次のような値で曜日を表します。
1 represents Monday 5 represents Friday 2 represents Tuesday 6 represents Saturday 3 represents Wednesday 7 represents Sunday 4 represents Thursday
したがって、水曜日は 3 となります。
データ・エレメントのシーケンスは (左から右へ) 次のような内容になっています。
Two digits for hour of day Two digits for minute of hour Two digits for second of minute Two digits for hundredths of second
したがって、2:41 PM は 14410000 となります。