DELAY

タスクの処理を延期させます。

構文

構文図を読む構文図をスキップする
DELAY

>>-DELAY--+------------------------------------+---------------->
          +-INTERVAL(hhmmss)-------------------+   
          +-TIME(hhmmss)-----------------------+   
          |      .-------------------------.   |   
          |      V                         |   |   
          +-FOR----+-HOURS(data-value)---+-+---+   
          |        +-MINUTES(data-value)-+     |   
          |        '-SECONDS(data-value)-'     |   
          |        .-------------------------. |   
          |        V                         | |   
          '-UNTIL----+-HOURS(data-value)---+-+-'   
                     +-MINUTES(data-value)-+       
                     '-SECONDS(data-value)-'       

>--+-------------+---------------------------------------------><
   '-REQID(name)-'   

条件: EXPIRED、INVREQ

注: INTERVAL と TIME は、C または C++ プログラムではサポートされません。

 

説明

DELAY は、これを出したタスクの処理を指定された間隔、または 指定された時刻まで中断させます。

次の例は、INTERVAL オプションを使用してタスクの処理を 5 分間中断させる 方法を示したものです。
EXEC CICS DELAY
          INTERVAL(500)
          REQID('GXLBZQMR')
次の例は、TIME オプションを使用してタスクの処理を午後 12 時 45 分まで中断 させる方法を示したものです。
EXEC CICS DELAY
          TIME(124500)
          REQID('UNIQCODE')

INTERVAL オプションおよび TIME オプションは、 C または C++ プログラムではサポートされないため、 代わりに相当する FOR オプションおよび UNTIL オプションを使用してください。

FOR オプションと UNTIL オプションを 使用して、以下の 2 とおりの方法で、間隔値または時刻値を入力することができます。
  • HOURS(0 から 99)、MINUTES(0 から 59)、および SECONDS(0 から 59) の中から少なくとも 2 つを組み合わせて指定する。 例えば、HOURS(1) SECONDS(3) は 1 時間 3 秒を意味します (分はデフォルトでゼロになります)。
  • HOURS(0 から 99)、MINUTES(0 から 5999)、または、SECONDS(0 から 359999) の中からどれか 1 つを使用する。 例えば、HOURS(1) は 1 時間、MINUTES(62) は 1 時間 2 分、 SECONDS(3723) は 1 時間 2 分 3 秒を意味します。
INTERVAL の例に相当する C または C++ プログラムは次のとおりです。
EXEC CICS DELAY
          FOR MINUTES(5)
          REQID('GXLBZQMR')
TIME の例に相当する C または C++ プログラムは次のとおりです。
EXEC CICS DELAY
          UNTIL HOURS(12) MINUTES(45)
          REQID('UNIQCODE')

C または C++ プログラムにおける時刻フィールドの使用法の詳細については、を参照してください。 COBOL プログラムにおける時刻フィールドの使用法の詳細については、COBOL でプログラミングする場合の引数の置き換えを参照してください。

オプション

FOR
HOURS、MINUTES、および SECONDS オプションのうち 1 つまたは複数とともに、 タスク処理を中断させる間隔を指定します。

C または C++ プログラムでは、INTERVAL の代わりにこのオプションを使用する必要があります。 デフォルトは FOR HOURS(0) です。

HOURS(data-value)
FOR または UNTIL と共に使用する時間数を 32 ビットの 2 進値で指定します。 値は、0 から 99 までの範囲内の値でなければなりません。
INTERVAL(hhmmss)
(この オプションは COBOL の場合のみです。) このオプションは、DELAY コマンドが出された時点から処理が再開されるまでに 経過する間隔を指定します。 CICS® は、 指定された間隔を現在時刻に加算して、処理を再開する時刻を計算 します。

デフォルトは INTERVAL(0) です。 INTERVAL の最大許容値は 995959 です。

C または C++ プログラムでは、 INTERVAL オプションはサポートされないため、代わりに相当する FOR オプションを使用してください。

MINUTES(data-value)
FOR または UNTIL と共に使用する時間数 (分) を 32 ビットの 2 進値で指定します。 値は、HOURS または SECONDS も指定する場合には、0 から 59 までの範囲内の値、 指定しない場合には、 0 から 5999 までの範囲内の値でなければなりません。
REQID(name)
DELAY コマンドを固有に識別する名前を指定します。

このオプションは、他のタスクが満了前の DELAY コマンドを取り消せるよう にする時に使用することができます。 COBOL でアプリケーションを作成する場合、名前の長さは最大 8 文字まで可能です。それぞれの名前は任意のビット・パターンを含むことができ、TXSeries システム内で固有でなければなりません。 名前の先頭文字に X'FA' から X'FF' までを使用しないでください。 これらの文字は TXSeries 用に予約されています。

注: C、C++、および PL/I では、これらの規則を順守する必要があります。長さが 8 文字になる名前を必ず指定してください。
SECONDS(data-value)
FOR または UNTIL と共に使用する時間数 (秒) を 32 ビットの 2 進値で指定します。 値は、HOURS または MINUTES も指定する場合には、0 から 59 までの範囲内の値、 指定しない場合には 0 から 359999 までの範囲内の値でなければなりません。
TIME(hhmmss)
(この オプションは COBOL の場合のみです。) このオプションは、タスクが処理を再開する時刻を指定します。 このオプションの使用について詳しくは、C および C++ コンパイラーを使用する場合の考慮事項を参照してください。

C または C++ プログラムでは、 TIME オプションはサポートされないため、代わりに相当する UNTIL オプションを使用してください。

UNTIL
HOURS、MINUTES、および SECONDS オプションのうち 1 つまたは複数とともに、 タスクが処理を再開する時刻を指定します。

C または C++ プログラムでは、TIME の代わりにこのオプションを使用する必要があります。

条件

EXPIRED
このコマンドが出された時に指定された時間がすでに過ぎていた場合に起こります。

デフォルトのアクション: この条件を無視します。

INVREQ
下記の条件で、DELAY コマンドに指定されたオプションに応じて発生します。
  • HOURS が範囲外である。
  • MINUTES が範囲外である。
  • SECONDS が範囲外である。
  • DELAY コマンドが、すでに存在している REQID 名を指定している。

デフォルトのアクション: タスクを異常終了させます。