ユーザー出口 (MFJYssss という名前を付ける必要があり、ssss は subsystem-name) はオプションであり、次のように呼び出されます。
CALL 'MFJYssss' USING SXIT
ここで、SXIT はユーザー出口インターフェイス ブロック (mfjdsxit.cpy) です。SXIT には、次のものが含まれます。
- イベントのイベント コードと要求可能なアクションを表すアクション コードなどが含まれているヘッダー部分
- イベントを表すデータが含まれているデータ部分
mfjdsxit.cpy では、すべてのイベント コード、アクション コード、および各イベントに関連付けられたデータが詳細に記述されます。mfjdsxit.cpy を調べる場合は、次のことに注意してください。
- -I- が含まれているフィールド名 (SXIT-I-size など) は、サブシステム出口への入力です。これらのフィールドは変更しないでください。
- -U- が含まれているフィールド名 (SXIT-U-PGM-alias など) は、入力と出力に使用されます。サブシステム出口へのエントリでは、これらのフィールドは適宜に設定され、場合によっては、復帰時にサブシステム出口によって許容可能な値に変更されることがあります。
- 文字データは、すべて ASCII (ANSI) 形式です。NULL 値は、データ型に適した値になります。つまり、文字データの場合は空白、数値データやバイナリ データの場合はゼロです。
サブシステム出口は、イベントが発生すると呼び出されます。
何らかの理由でユーザー出口が失敗した場合は、失敗したプロセスの後続のすべてのイベントでそのユーザー出口が無効になります。
注:
- ユーザー出口には、mfjyssss.cbl という名前を付ける必要があります。出口のサンプル ソースは、それぞれ %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\exits (Windows) または $COBDIR/src/enterpriseserver/exit (UNIX) にあります。これをベースとして使用して、各自のニーズに合った出口をビルドすることをお奨めします。サンプル出口のソースでは、SXIT (サブシステム出口インターフェイス ブロック) のコピーブックを使用しています。このコピーブックのソース mfjdsxit.cpy は、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib (Windows) または $COBDIR/include (UNIX) にあります。mfjdsxit.cpy のリストは、「サブシステム出口インターフェイス ブロック (mfjdsxit.cpy)」 に記載されています。
- サブシステム出口は、ASCII (ANSI) 文字セットを使用する必要があります。サブシステム出口では非メインフレーム COBOL 方言を使用することをお奨めします (PC 専用のプログラムであるため)。
- 出口はオプションです。サブシステム出口の .dll (Windows) または .so (UNIX) ファイルは、PATH (Windows) または $COBDIR (UNIX) の検索パスで指定されたディレクトリに配置してください。プロジェクトに依存しない場所に置く場合は、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\bin (UNIX) に配置します。
- サブシステム出口は、COBOL で記述する必要があります。