アプリケーションの終了時に自動的に呼び出される終了プロシージャを登録または解除します。
 
	 構文:
 
		 
		call "CBL_EXIT_PROC" using     install-flag
                               install-params
                     returning status-code
 
	  
 
	 パラメーター
 
		 
		 
		   
			 - install-flag
 
 
			 - 呼び出しプロトタイプ (「説明の読み方」を参照):cblt-x1-compx
 
 
			 - PIC:pic x comp-x
 
 
		   
		   
			 - install-params
 
 
			 - cblt-exit-params として定義されている集団 (以下を含む)
                     				
01 cblt-exit-params            typedef.
  03 cblte-ep-install-addr     cblt-ppointer.	*> usage procedure-pointer.
  03 cblte-ep-install-priority cblt-x1-compx.	*> pic x comp-x
			  
 
		   
		   
			 - status-code
 
 
			 - 「説明の読み方」を参照。
 
 
		   
		
 
	  
 
	 入力パラメーター:
 
		 
		 
		   
			 - install-flag
 
 
			 - 実行する処理
 
					  
					  
					  
						 
						  | 0 | 
 
						  終了プロシージャをデフォルトの優先度 (64) で登録します | 
 
						
 
						 
						  | 1 | 
 
						  終了プロシージャを登録解除します | 
 
						
 
						 
						  | 2 | 
 
						  登録済みの終了プロシージャの優先度を問い合わせます | 
 
						
 
						 
						  | 3 | 
 
						  終了プロシージャを指定された優先度で登録します | 
 
						
 
					 
 
				  
 
			  
 
		   
		   
			 - cblte-ep-install-addrs
 
 
			 - 登録、登録解除、または問い合わせる終了プロシージャのアドレス
 
 
		   
		   
			 - cblte-ep-install-priority
 
 
			 - install-flag に 3 を指定した場合に、登録する終了プロシージャの優先度を設定します。優先度の範囲は 0 から 127 です。それ以外の場合は、無視されます。
 
 
		   
		
 
	  
 
	 出力パラメーター:
 
		 
		 
		   
			 - cblte-ep-install-priority
 
 
			 - install-flag が 2 に設定されている場合に、選択されたプロシージャの優先度を返します。
 
 
		   
		
 
	  
 
	 
 
   
 
説明:
登録した終了プロシージャは、アプリケーションが STOP RUN で正常終了した場合のみでなく、キーボード割り込みや RTS エラーなどで異常終了した場合にも実行されます。このルーチンを繰り返し呼び出すことで、1 つのアプリケーションに複数の終了プロシージャを登録できます。
終了プロシージャは任意の言語で記述できます。COBOL の場合は、cblte-ep-install-addrs にエントリ ポイントのアドレスを指定する必要があります。エントリ ポイントのアドレスは、次の文で取得できます。
COBOL の終了プロシージャには、CALL 文を含む有効な COBOL コードを必要に応じて使用できます。終了プロシージャは、その中のメイン プログラムで EXIT PROGRAM または GOBACK が実行されるか、STOP RUN 文が実行されると終了します。
終了プロシージャには、呼び出し時に渡すべきパラメーターはありません。
登録したすべての終了プロシージャは優先度を持っており、その値によって実行される順序が決まります。優先度の値が小さいプロシージャが先に実行されます。複数のプロシージャの優先度の値が同じである場合には、実行順序は登録とは逆になります。つまり、最後に登録したプロシージャが最初に実行されることになります。
登録時に優先度を指定しない (install-flag = 0) 場合には、デフォルトの優先度である 64 が割り当てられます。任意の優先度を割り当てるには、install-flag に 3 を指定し、0 から 127 の範囲内で優先度を設定します。128 から 256 の範囲の優先度は COBOL システム用に予約されており、使用することはできません。ただし、独自に作成したファイル ハンドラーには優先度として 200 を割り当てる必要があります。
登録済みの終了プロシージャは、再登録を試みても無視されます。ただし、異なる優先度で再登録を試みた場合は、該当する登録済みプロシージャの優先度が変更されます。RETURN-CODE はゼロに設定されます。
登録済みプロシージャの優先度を照会するには、install-flag を 2 に設定します。この呼び出しで対象のプロシージャが見つかると、その優先度が cblte-ep-install-priority で返されます。プロシージャは cblte-ep-install-addrs で識別されます。プロシージャが見つからない場合には、RETURN-CODE がゼロ以外の値に設定されます。