CBL_SUBSYSTEM

サブシステムを宣言または割当てを解除する。

構文:
call "CBL_SUBSYSTEM" using     function-code
                               parameter
                     returning status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
function-code cblt-x1-compx. pic x comp-x.
Contains one of the following subfunction numbers:
0 Declare subsystem
1 Cancel subsystem
2 Remove from subsystem
With function-code = 0:
parameter Group predefined as cblt-susys-params containing: 以下を含む集団項目:
  cblte-ssp-handle   cblt-x2-compx   pic x(2) comp-x.
  cblte-ssp-name-len   cblt-x2-compx   pic x(2) comp-x.
  ss-name   cblt-x1 occurs depending on cblte-ssp-name-len   pic x(n).
With function-code = 1:
parameter cblt-x2-compx pic x(2) comp-x.
With function-code = 2:
parameter cblt-x2-compx value 0. pic x(2) comp-x value 0.
status-code 説明の読み方 参照
入力パラメタ:
function-code

副関数番号。

function-codeが0の場合:
cblte-ssp-name-len サブシステムプログラム名項目の長さ

cblte-ssp-name サブシステムプログラム名(スペース終了)。

function-codeが1の場合:
cblte-ssp-handle 関数0呼出しにより戻されたサブシステムハンドル

function-codeが2の場合:
dummy-param 値0
出力パラメタ:
function-codeが0の場合:
cblte-ssp-handle サブシステムハンドル

説明:

サブシステムはアプリケーション内の指定プログラム、および他のサブシステムにまだ属していないサブシステム内に既にあるプログラムによりその後呼び出される任意の副プログラムに定義される。

function-codeが0の場合:

この関数はサブシステムを宣言する。本ルーチンはサブシステムハンドルを戻す。プログラムがまだロードされていないと、本関数がロードする。プログラムを見つけるときやロードするときエラーが発生すると、サブシステムハンドルゼロが戻される。

サブシステムに属するプログラムは、CANCEL動詞により取り消されるか、プログラムがfunction-code=1を用いてサブシステム全体を取り消すか、あるいはアプリケーションがSTOP RUNまたはCHAIN文を実行するとき、割当てを解除されるだけである(つまり、メモリから削除される)。サブシステムの主プログラムは、そのサブシステム内の他のプログラムが全て取り消されてしまっていない限り、CANCEL文で取り消さないこと。

プログラムが.dllファイルの場合、サブシステムの宣言に使用する前に呼び出しておくこと。

function-codeが1の場合:

本関数は指定されたサブシステム内の全てのプログラムを取り消す。サブシステム内の任意のプログラムがまだアクティブであると、そのプログラムはサブシステムから解放され、取り消されない。

function-codeが2の場合:

本関数は、プログラムが入っている任意の副プログラムからその関数を呼び出したプログラムを削除する。プログラムがどのサブシステムにも確実に含まれないようにするには、プログラムの各要素の開始時に本関数を呼び出すようにする。

他参照:

関連項目