CBL_SUBSYSTEM

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

制約事項: このルーチンはネイティブ COBOL でのみサポートされます。

構文:

call "CBL_SUBSYSTEM" using     function-code
                               parameter
                     returning status-code

パラメーター

function-code
呼び出しプロトタイプ:cblt-x1-compx
PIC:pic x comp-x
次のいずれかの値を指定します。

0:サブシステムを宣言する

1:サブシステムをキャンセルする

2:サブシステムから削除する

parameter
cblt-subsys-params として定義されている集団 (以下を含む)
01 cblt-subsys-params typedef.03 cblte-ssp-handle cblt-x2-compx.*> pic x(2) comp-x.03 cblte-ssp-name-len cblt-x2-compx.*> pic x(2) comp-x.03 cblte-ssp-name cblt-x1.*> Occurs depending on *> cblte-ssp-name-len. pic x(n).
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
サブシステム ハンドル

説明:

サブシステムが、アプリケーション内の指定した COBOL プログラムとして定義されます。この定義以降、サブシステム内のプログラムから呼び出される各サブプログラムも、当該サブシステムのメンバーになります (ただし、すでに他のサブシステムに属しているサブプログラムは除きます)。

function-code = 0 の場合:
サブシステムを宣言し、そのハンドルを返します。サブシステムとして宣言したプログラムがロードされていない場合は、この呼び出しでロードされます。指定されたプログラムが見つからないか、またはロードできない場合は、サブシステム ハンドルとして 0 が返されます。
サブシステムに属するプログラムの割り当てが解除される (メモリから削除される) のは、それが CANCEL 動詞でキャンセルされたか、function-code を 1 に設定した本ルーチンでサブシステム全体がキャンセルされたか、アプリケーションで STOP RUN 文 (または CHAIN 文) が実行された場合のみです。ただし、サブシステムのメイン プログラムは、同じサブシステム内の他の全プログラムをキャンセルしない限り、CANCEL 文でキャンセルすべきではありません。インポートされたすべての .dll ファイルは、それらのファイルをインポートすることになった .dll ファイルをキャンセルすると、自動的にメモリから削除されます。
プログラムが .dll ファイルの場合、そのプログラムを使用してサブシステムを宣言するには、そのプログラムを呼び出し済みである必要があります。
function-code = 1 の場合:
指定したサブシステム内の全プログラムをキャンセルします。UNIXWindows では、デフォルトのキャンセル モードは物理キャンセルです。これは、subsystem_cancel_mode ランタイム チューナーで変更できます。
対象のサブシステム内に使用中のプログラムが含まれている場合は、そのプログラムがサブシステムから分離されます。分離されたプログラムはキャンセルされません。インポートされたすべての .dll ファイルは、それらのファイルをインポートすることになった .dll ファイルをキャンセルすると、自動的にメモリから削除されます。
function-code = 2 の場合:
呼び出し元のプログラムを、あらゆるサブシステムから削除します。この呼び出しを特定のプログラムが開始するたびに実行すれば、そのプログラムを常にサブシステムに属さない状態で維持できます。