サブプログラムに対して CANCEL ステートメントを発行すると、そのサブプログラムが占有していたストレージが解放されます。 そのサブプログラムの後続の呼び出しは、最初の呼び出しと同じように機能します。当初の呼び出し元以外のプログラムから、サブプログラムの取り消しを行うことができます。
呼び出されるサブプログラムに複数の入り口点がある場合は、その間で CANCEL ステートメントが実行されない限り、別個の入り口点をそのサブプログラムへの動的 CALL ステートメントに指定することはできません。
含まれているプログラムが動的に呼び出され、それに対して CANCEL ステートメントが処理されると、そのプログラムは最初に使われた状態になります。しかし、そのプログラムは初期呼び出しでロードされず、プログラムが取り消されてもストレージは解放されません。