ILE COBOL 解説書

形式 1 - データの転送

ACCEPT ステートメント - 形式 1 - データ 転送
 
>>-ACCEPT--ID-1--+-----------------------+---------------------->
                 '-FROM--+-簡略名------+-'
                         |        (1)  |
                         '-環境名------'
 
>--+-----------------+-----------------------------------------><
   |            (1)  |
   '-END-ACCEPT------'
 
 

注:

  1. IBM 拡張

形式 1 は、入力装置から ID-1 へデータを転送するために使用します。 受け入れデータは、文字位置を左端そろえにした文字ストリングとして転送されます。 データ変換は行われません。 ID-1 のサイズが入力装置のレコード長よりも大きい場合には、1 レコードの転送が完了した後で追加データが要求されます。 追加データは、以前に装置から転送された最後の文字のすぐ右側の位置から ID-1 に転送されます。 この処理は、ID-1 が満杯になるまで継続されます。 転送中に、装置レコードが ID-1 を埋めるのに必要な文字数以上を保持すると、あふれたデータは切り捨てられます。

すべてのデータは文字ストリングとして転送されるため、ID-1 は通常、USAGE に DISPLAY を指定して明示的または暗黙的に定義されます。 ただし、ACCEPT ステートメントは、入力装置上で ID-1 の内部表現に対応する形式でデータを入力できる場合に、他の形式でデータを処理します。

プログラム内にオペレーターの介入 (所定のメッセージ、コード、または例外標識の提示) を必要とする例外状況が発生した場合には、形式 1 を使用すると便利です。 もちろん、この場合は、応答用の適切なメッセージがオペレーターに与えられていなければなりません。

ID-1
受け入れデータ項目。

+----------------------------------IBM 拡張----------------------------------+

ID-1 の説明に TYPE 文節が含まれる場合は、その文節で参照されるタイプ名は基本項目でなければなりません。

ID-1 は USAGE で DISPLAY-1 を定義する必要があります。 すなわち、DBCS または DBCS 編集の項目でもかまいません。 この場合さらに、入力装置上のデータはシフトアウトおよびシフトイン文字で区切る必要があります。 これらの文字はデータが転送されるときに除去されます。

ID-1 は NATIONAL 項目としても定義できます。 受け入れられたデータは、ジョブの現行 CCSID によって指定されるコード・セットから変換されます。

ID-1 は、日付、時刻、タイム・スタンプの項目にはできません。

+------------------------------End of IBM 拡張-------------------------------+

簡略名
SPECIAL-NAMES 段落に指定する必要があります。 この段落は、入力装置を参照する環境名と関連付けられています。 入力装置は、対話式ジョブで使用されるワークステーション、バッチ・ジョブのジョブ入力ストリーム、またはシステム・オペレーターのコンソールにできます。

+----------------------------------IBM 拡張----------------------------------+

環境名
簡略名の代わりに環境名 CONSOLE または SYSIN を指定できます。

+------------------------------End of IBM 拡張-------------------------------+

関連情報

入力データ・ソース

入力データ・ソースは、次のようにプログラム開始の方式によって異なります。

プログラム開始の方法 データ・ソース (入力装置)
環境名に関連付けられた場合 FROM 句を 省略した場合
CONSOLE または SYSTEM-CONSOLE SYSIN または REQUESTOR
BATCH システム・オペレーターのメッセージ・キュー ジョブ入力ストリーム ジョブ入力ストリーム
INTERACTIVE システム・オペレーターのメッセージ・キュー ワークステーション ワークステーション

ジョブ入力ストリームは CL コマンドに付随するデータから構成されます。 入力ストリームの中にデータがない場合、または ID-1 に入れるにはデータが不十分である場合には、例外条件が発生します。

入力がジョブ入力ストリームからのものである場合には、次の規則が適用されます。

装置がワークステーションの場合には、入力レコードの大きさは 100 です。 また装置がシステム・オペレーターのメッセージ・キューの場合には、入力レコードの大きさは 58 です。 次のステップが発生します。

  1. プログラム名、テキスト "AWAITING REPLY POSITION(S)"、および開始位置と終了位置が含まれているシステム作成照会メッセージが、 システム・オペレーターのメッセージ・キュー、またはワークステーションのオペレーターにあてて自動的に送られます。 ACCEPT 画面上に前の表示内容が現れることがあります。
  2. 実行が延期されます。
  3. 応答が ID-1 の中へ転送され、オペレーターがステップ 1 の照会に対する応答を行った後で処理が再開されます。 応答の値が大文字または小文字で入力されたとおりにプログラムで使用可能となります。
  4. ID-1 が入力レコード・サイズよりも長い場合には、ID-1 の長さに達するまで引き続いて入力レコードが読み取られます (ステップ 1 〜 3)。

着信応答が ID-1 よりも長い場合には、ID-1 の長さを超えた文字位置で切り捨てられます。

注:
READ ステートメントに使用した装置と同じ装置を使用した場合には、実行結果は予測できません。

コーディング例

次に示すのは、ジョブ入力ストリームを含んでいるバッチ・ジョブ・ファイル・メンバーの例です。

      //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 の中に受け入れられることになります。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]