フォーマット 1: データ転送 >>-ACCEPT--ID-1--+-----------------+--------------------------->< '-FROM--+-簡略名-1-+-' '-環境名---'
フォーマット 1 では、データは入力ソースから ID-1 が参照するデータ項目 (受け取り領域) へ転送されます。FROM 句を省略する場合は、システム入力装置が前提とされます。
プログラム中にオペレーターの介入が (特定のメッセージ、コード、 または例外標識を提供するために) 必要である例外状況では、フォーマット 1 が役立ちます。 オペレーターは、該当のメッセージが与えられ、それに応答する必要があります。
国別グループ項目は、国別カテゴリーの基本データ項目として処理されます。
データ転送の長さは入力装置上のレコードの長さと同じであり、その最大値は 32,760 バイトです。
システム入力装置は、受け取り領域が満たされるか、または EOF になるまで読み取られます。受け取り領域の長さがシステム入力装置のレコード長の偶数倍ではない場合は、必要に応じて最終レコードが切り捨てられます。データが移動された後および受け取り領域が満たされる前に EOF に達すると、受け取り領域はその領域に適切な表現のスペースで埋められます。 データが受け取り領域へ移動される前に EOF に達した場合は、埋め込みは行われず、受け取り領域の内容は変更されません。各入力レコードは、直前の入力レコードと連結されます。
入力レコードが、固定長フォーマットである場合は、入力レコード全体が使用されます。 末尾のブランクと先行ブランクを取り除く編集は行われません。
入力レコードが可変長フォーマットの場合は、実際のレコード長を使用して、受信するデータの量が決められます。可変長フォーマットのレコードを使用している場合は、レコード定義語 (RDW) が、入力レコードの先頭から除去されます。実際の入力データだけが ID-1 に転送されます。
ID-1 が参照するデータ項目が USAGE NATIONAL である場合には、変換も妥当性の検査も行わずにデータが転送されます。入力データは、UTF-16 フォーマットであると想定されます。
入力メッセージの最大長は、114 文字です。
ID-1 が USAGE NATIONAL のデータ項目を参照する場合は、メッセージが ネイティブ・コード・ページ表現から国別文字表現に変換されます。 ネイティブ・コード・ページとは、ソース・コードのコンパイル時に CODEPAGE コンパイラー・オプションで指定されたコード・ページです。
ACCEPT ステートメントは、次のいずれかが起こると終了します。
114 バイトのデータを入力しても、また受け取り領域がデータでいっぱいにならない場合は、データ要求がさらにコンソールに出されます。
114 文字を超えるデータが入力された場合、最初の 114 文字だけがシステムによって認識されます。
受け取り領域が入力メッセージより長い場合、右端の文字位置は受け取り領域に適切な表現のスペースで埋められます。
入力メッセージが受け取り領域より長い場合、受け取り領域の長さを超える部分の文字は切り捨てられます。
HFS ファイルまたは stdin から ACCEPT 入力データを入手する方法については、 「Enterprise COBOL プログラミング・ガイド」を参照してください。
装置が、LINE SEQUENTIAL ファイルの READ ステートメントで使われる装置と同じである場合、 結果は予想できません。
指定された概念上のデータ項目の DATE、DATE YYYYMMDD、DAY、DAY YYYYDDD、DAY-OF-WEEK、または TIME に含まれている システム情報は、ID-2 によって参照されるデータ項目へ転送することができます。この転送は、 CORRESPONDING 句を伴わない MOVE ステートメントの規則に従わなければなりません。MOVE ステートメントを参照してください。
フォーマット 2: システム情報転送 >>-ACCEPT--ID-2--FROM--+-DATE--+----------+-+------------------>< | '-YYYYMMDD-' | +-DAY--+---------+---+ | '-YYYYDDD-' | +-DAY-OF-WEEK--------+ '-TIME---------------'
国別グループ項目は、国別カテゴリーの基本データ項目として処理されます。
フォーマット 2 では 2 つのフォーマットの現在日付、すなわち、 システムによって随時更新される曜日または時刻を使用します。これは、 あるオブジェクト・プログラムがいつ実行されたのかを識別するのに役立ちます。また、フォーマット 2 は、ヘッダーやフッターに日付を付けるために使用することもできます。
現在の日付や時刻は、 日時の組み込み関数 CURRENT-DATE を使用してもアクセスできます。 CURRENT-DATE は 4 桁の年の値をもサポートしており、 追加情報を提供します (CURRENT-DATEを参照)。
概念上のデータ項目 DATE、DATE YYYYMMDD、DAY、DAY YYYYDDD、 DAY-OF-WEEK、および TIME には、 USAGE DISPLAY が暗黙的に指定されます。これらは概念上のデータ項目であるため、COBOL プログラムで記述すること はできません。
概念上のデータ項目の内容は、MOVE ステートメントの規則を使用して 受け取り領域へ移動されます。受け取り領域が USAGE 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 となります。