CANCEL ステートメント

CANCEL ステートメントを使用すると、参照されるサブプログラムが次に呼び出されたときに、必ず初期状態から入ります。

構文図を読む構文図をスキップする
CANCEL ステートメント - 形式

           .----------------------------------------------.   
           V                                              |   
>>-CANCEL----+-ID-1-------------------+--| IN LIBRARY 句 |-+----><
             '-+------------+--リテラル-1-'                       
               '-| リンケージ句 |-'                                 

リンケージ句

|--+----------------------------------------------+-------------|
   |         (1)                                  |   
   +-LINKAGE------+------+--+----+--+-環境名-1-----+-+   
   |              '-TYPE-'  '-IS-'  +-PROGRAM---+ |   
   |                                '-PROCEDURE-' |   
   |         (1)                                  |   
   +-PROGRAM--------------------------------------+   
   |           (1)                                |   
   '-PROCEDURE------------------------------------'   

IN LIBRARY 句

|--+---------------------------------+--------------------------|
   |                 (1)             |   
   '-+----+--LIBRARY------+-ID-2---+-'   
     '-IN-'               '-リテラル-2-'     

注:
  1. IBM 拡張
リテラル-1
取り消されるサブプログラムの名前を指定します。 リテラル-1 には拡張名を含めることができます。 CANCEL リンケージは取り消されるプログラムのタイプを判別し、それによりリテラル-1 の内容とサイズを制限することもできます。 作成されるリンケージは、プログラム・オブジェクトまたは ILE プロシージャーのいずれかに対するものです。 リンケージがプログラム・オブジェクトに対するものであれば、リテラル-1 は非数字で英大文字 (拡張システム名を除く) であり、プログラム名の形成の規則に従っている必要があります。 呼び出し側プログラムと呼び出し先サブプログラムとの間に対応づけるために、リテラルの先頭 10 文字が使用されます。

リンケージが ILE プロシージャーに対するものであれば、リテラル-1 は非数字で長さが最大 250 文字でなければなりません。 コンパイラー・オプション *MONOPRC によって、リテラル-1 が英大文字で指定されており、プログラム名の形成規則に従っている必要があります。 このリテラルは、呼び出し先サブプログラムのプログラム名を指定していなければなりません。

ID-1
以下の規則が適用される場合には、英数字データでなければなりません。
  • リンケージがプログラム・オブジェクトに対するものであれば、ID-1 の内容はプログラム名の形成規則に従っている必要があります。 呼び出し側プログラムと呼び出し先プログラムとの間を対応づけるために、ID-1 の先頭 10 文字が使用されます。
  • リンケージがプロシージャーに対するものであれば、ID-1 の最初の 250 文字が使用されます。
  • コンパイラー・オプション *MONOPRC が指定されている場合、ID-1 の内容は英大文字にしてプログラム名の形成規則に従うようにする必要があります。

CANCEL ステートメントで指定する各リテラルまたは ID の内容は、 関連する CALL ステートメントに指定されているリテラルまたは ID の内容と同じでなければなりません。