ユーザー出口の呼び出し、ルール、およびガイドライン

ユーザー出口は、必ず MFJUXIT という名前が付けられる (MFJUXIT 環境変数によってオーバーライドされる場合を除く) オプションです。ユーザー出口インターフェイス ブロック (mfjdxit.cpy) によって、唯一のパラメーターとして呼び出されます。次の項目が含まれています。
  • イベントのイベント コードおよび要求可能なアクションを表すアクション コードなどが含まれているヘッダー部分
  • イベントを表すデータが含まれているデータ部分
mfjdxit.cpy では、すべてのイベント コード、アクション コード、および各イベントに関連付けられたデータが詳細に記述されます。mfjdxit.cpy を調べる場合は、次のことに注意してください。
  • -I- が含まれているフィールド名 (JXIT-I-size など) は、ユーザー出口への入力です。これらのフィールドは変更しないでください。
  • -U- が含まれているフィールド名 (JXIT-U-PGM-alias など) は、入力および出力に使用されます。ユーザー出口へのエントリでは、これらのフィールドは適宜に設定され、場合によっては、復帰時にユーザー出口によって許容可能な値に変更されることがあります。
  • 文字データは、すべて ASCII (ANSI) 形式です。NULL 値は、データ型に適した値になります。つまり、文字データの場合は空白、数値データおよびバイナリ データの場合はゼロです。

ユーザー出口は、イベントが発生すると呼び出されます。

ほとんどのイベントは、バッチ イニシエーター SEP で発生します。例外は次のとおりです。
  • ESMAC コンソールからサブミットされたジョブでは、Event-job-readyEvent-job-queued、および Event-job-stmt-info イベントが Admin SEP で発生します。
  • それ以外のジョブのサブミット方法では、Event-job-readyEvent-job-queued、および Event-job-stmt-info イベントは通常 (標準) の SEP で発生します。
  • SSTM ジョブでは、job-started から job-ended までのイベントが通常の SEP で 1 回ずつ発生します。ただし、コンソール ログには、バッチ イニシエーター SEP で発生したものとして報告されることがあります。
  • サブミット方法によっては、Event-job-concluded イベントが Admin SEP または通常の SEP で発生することがあります。ただし、このイベントが発生するのは、ジョブが実行を目的としたものでない場合 (TYPRUN=COPY または TYPRUN=SCAN の場合) や JCL エラーによってサブミットに失敗した場合のみです。

JCL ユーザー出口は、そのユーザー出口の呼び出し元であるプロセス内のイベントのみ記憶できます。

何らかの理由でユーザー出口が失敗した場合は、失敗したプロセスの後続のすべてのイベントでそのユーザー出口が無効になります。

注:
  • ユーザー出口の名前は、たとえば MFJUXIT=<optional location specification>MYEXIT.int (Windows)、または UNIX であれば、MFJUXIT=<optional location specification>MYEXIT.so のように、MFJUXIT 環境変数で名前をオーバーライドしない限り、必ず MFJUXIT という名前が付けられます。

    サンプルの出口のソースが、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\exits (Windows) または $COBDIR/src/enterpriseserver/exit (UNIX)/src/enterpriseserver/exit に用意されています。

    この例に基づいて、独自のニーズに合った出口を作成することをお勧めします。サンプル出口のソースでは、ユーザー出口インターフェイス ブロックのコピーブックを使用しています。このコピーブックのソース (mfjdxit.cpy) は、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib (Windows) または $COBDIR/cpylib (UNIX) /cpylib にあります。mfjdxit.cpy のリストは、「ユーザー出口インターフェイス ブロック (mfjdxit.cpy)」のセクションに記載されています。

  • ユーザー出口は、ASCII (ANSI) 文字セットを使用する必要があります。ユーザー出口では非メインフレーム COBOL 方言「MF」を使用することをお勧めします。
  • ユーザー出口はオプションです。SP2 WS2 より前のリリースでは、ユーザー出口の .int.gnt、または .dll ファイルは、<install-dir>\base\bin$COBDIR/dynload に置かれている必要があります。動的プログラム ローダーからアクセス可能な任意のフォルダーに配置できます。また、別の場所を MFJUXIT 環境変数で明示的に設定することもできます。MFJUXIT 環境変数を設定し、指定されたモジュールが見つからない場合は、リージョンが正しく起動しません。
  • ユーザー出口は、COBOL で記述する必要があります。
  • NOOUTDD 指令は指定する必要があります。