ACCEPT ステートメント - 形式 1 - データ 転送 >>-ACCEPT--ID-1--+-----------------------+----------------------> '-FROM--+-簡略名------+-' | (1) | '-環境名------' >--+-----------------+----------------------------------------->< | (1) | '-END-ACCEPT------'
注:
形式 1 は、入力装置から ID-1 へデータを転送するために使用します。 受け入れデータは、文字位置を左端そろえにした文字ストリングとして転送されます。 データ変換は行われません。 ID-1 のサイズが入力装置のレコード長よりも大きい場合には、1 レコードの転送が完了した後で追加データが要求されます。 追加データは、以前に装置から転送された最後の文字のすぐ右側の位置から ID-1 に転送されます。 この処理は、ID-1 が満杯になるまで継続されます。 転送中に、装置レコードが ID-1 を埋めるのに必要な文字数以上を保持すると、あふれたデータは切り捨てられます。
すべてのデータは文字ストリングとして転送されるため、ID-1 は通常、USAGE に DISPLAY を指定して明示的または暗黙的に定義されます。 ただし、ACCEPT ステートメントは、入力装置上で ID-1 の内部表現に対応する形式でデータを入力できる場合に、他の形式でデータを処理します。
プログラム内にオペレーターの介入 (所定のメッセージ、コード、または例外標識の提示) を必要とする例外状況が発生した場合には、形式 1 を使用すると便利です。 もちろん、この場合は、応答用の適切なメッセージがオペレーターに与えられていなければなりません。
+----------------------------------IBM 拡張----------------------------------+
ID-1 の説明に TYPE 文節が含まれる場合は、その文節で参照されるタイプ名は基本項目でなければなりません。
ID-1 は USAGE で DISPLAY-1 を定義する必要があります。 すなわち、DBCS または DBCS 編集の項目でもかまいません。 この場合さらに、入力装置上のデータはシフトアウトおよびシフトイン文字で区切る必要があります。 これらの文字はデータが転送されるときに除去されます。
ID-1 は NATIONAL 項目としても定義できます。 受け入れられたデータは、ジョブの現行 CCSID によって指定されるコード・セットから変換されます。
ID-1 は、日付、時刻、タイム・スタンプの項目にはできません。
+------------------------------End of IBM 拡張-------------------------------+
+----------------------------------IBM 拡張----------------------------------+
+------------------------------End of IBM 拡張-------------------------------+
関連情報
入力データ・ソースは、次のようにプログラム開始の方式によって異なります。
プログラム開始の方法 | データ・ソース (入力装置) | ||
---|---|---|---|
環境名に関連付けられた場合 | FROM 句を 省略した場合 | ||
CONSOLE または SYSTEM-CONSOLE | SYSIN または REQUESTOR | ||
BATCH | システム・オペレーターのメッセージ・キュー | ジョブ入力ストリーム | ジョブ入力ストリーム |
INTERACTIVE | システム・オペレーターのメッセージ・キュー | ワークステーション | ワークステーション |
ジョブ入力ストリームは CL コマンドに付随するデータから構成されます。 入力ストリームの中にデータがない場合、または ID-1 に入れるにはデータが不十分である場合には、例外条件が発生します。
入力がジョブ入力ストリームからのものである場合には、次の規則が適用されます。
装置がワークステーションの場合には、入力レコードの大きさは 100 です。 また装置がシステム・オペレーターのメッセージ・キューの場合には、入力レコードの大きさは 58 です。 次のステップが発生します。
着信応答が ID-1 よりも長い場合には、ID-1 の長さを超えた文字位置で切り捨てられます。
次に示すのは、ジョブ入力ストリームを含んでいるバッチ・ジョブ・ファイル・メンバーの例です。
//BCHJOB JOB(ADD021) JOBD(QUSER/ACCTEST) CALL PGM(QSYS/ACCPT1X) 123456789012345 //ENDBCHJOB
次に示すのは、ジョブ入力ストリームを読み取るために形式 1 の ACCEPT ステートメントを使用する COBOL プログラムの例です。
IDENTIFICATION DIVISION. PROGRAM-ID. ACCPT1X. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-ISERIES. OBJECT-COMPUTER. IBM-ISERIES. DATA DIVISION. WORKING-STORAGE SECTION. 77 TRANS-DATA PIC X(15). PROCEDURE DIVISION. BEGIN. ACCEPT TRANS-DATA. DISPLAY TRANS-DATA. STOP RUN.
バッチ・ジョブ・ファイル・メンバーを使って ACCPT1X を呼び出す場合、ACCEPT ステートメントは、CALL コマンドのすぐ後にある行からバッチ・ジョブ・ファイル・メンバーを読み取ります。 それによって "123456789012345" が TRANS-DATA の中に受け入れられることになります。