インターフェイス

ユーザー出口プログラムは、dfhuesm と呼ばれます。このサンプル プログラムと、MSS と出口プログラム間で受け渡されるパラメーターを定義するコピー ブックを提供します。また、32 ビットおよび 64 ビット プラットフォーム用にコンパイルされたダイナミック リンク ライブラリ (.dll) を提供します。これらのファイルは次の場所にあります。

ファイル 場所
dfhuesm.cbl %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\exits
dfhcbesm.cpy %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib
dfhuesm.dll %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\bin および \bin64

QUERY SECURITY コマンドを発行すると、アプリケーションから供給された情報を使用して入力パラメーターが設定されます。そのパラメーターは、次のとおりです。

フィールド
[esm-version-no] パラメーター ブロックのバージョンを示します。Micro Focus は、更新されたインターフェイスを発行する場合にこの値をインクリメントします。
[esm-user-id] 現在のユーザーの ID。ユーザーがサインオンしていない場合、このフィールドにはバイナリのゼロが含まれます。
[esm-opid] サインオン テーブルで定義されている、ユーザーに関連付けられたオペレーター ID。ユーザーがサインオンしていない場合、このフィールドにはバイナリのゼロが含まれます。
[esm-opclass] ユーザーに関連付けられたオペレーター クラス。このフィールドには、ユーザーがサインオンしている場合は文字のゼロ、サインオンしていない場合はバイナリのゼロが含まれます。
[esm-arg-01-flag] 未使用。
[esm-arg-02-flag] 値 1 は、アプリケーションが RESTYPE キーワードを使用したことを示します。[esm-restype] フィールドには、有効なリソース タイプが含まれます。
[esm-arg-03-flag] 値 1 は、アプリケーションが RESID キーワードを使用したことを示します。これは必須であるため、このフィールドは常に 1 に設定されます。[esm-resid] フィールドを参照してください。
[esm-arg-04-flag] 値 1 は、アプリケーションが RESIDLENGTH キーワードを使用したことを示します。[esm-residlength] フィールドを参照してください。
[esm-arg-05-flag] 値 1 は、アプリケーションが READ キーワードを使用したことを示します。[esm-read] フィールドを参照してください。
[esm-arg-06-flag] 値 1 は、アプリケーションが UPDATE キーワードを使用したことを示します。[esm-update] フィールドを参照してください。
[esm-arg-07-flag] 値 1 は、アプリケーションが RESCLASS キーワードを使用したことを示します。[esm-resclass] フィールドには、リソース クラスが含まれます。
[esm-arg-08-flag] 値 1 は、アプリケーションが ALTER キーワードを使用したことを示します。[esm-alter] フィールドを参照してください。
[esm-arg-09-flag] 値 1 は、アプリケーションが CONTROL キーワードを使用したことを示します。[esm-control] フィールドを参照してください。
[esm-arg-10-flag] 値 1 は、アプリケーションが LOGMESSAGE または LOG キーワードを使用したことを示します。[esm-logmessage] フィールドを参照してください。
[esm-arg-11-flag] 未使用。
[esm-arg-12-flag] 未使用。
[esm-arg-13-flag] 未使用。
[esm-arg-14-flag] 未使用。
[esm-arg-15-flag] 未使用。
[esm-arg-16-flag] 未使用。
[esm-restype] 指定した場合、このフィールドには次のいずれかの値が含まれます。
  • DB2ENTRY
  • FILE
  • JOURNALNAME
  • JOURNALNUM
  • PROGRAM
  • PSB
  • SPCOMMAND
  • TDQUEUE
  • TRANSACTION
  • TRANSATTACH
  • TSQUEUE
[esm-resclass] 指定した場合、このフィールドにはリソース クラスの名前が含まれます。
[esm-residlength] 指定した場合、このフィールドには、esm-resid フィールド内の有効な文字の数が含まれます。
[esm-resid] このフィールドには、リソースの ID が含まれます。アプリケーションでは、そのリソースに対するユーザーのアクセスを問い合わせる必要があります。リソースの ID は、最大 12 文字の CICS リソース ID、または最大 240 文字のユーザー定義リソース ID にすることができます。
[esm-logmessage] 指定した場合は、このフィールドによって、セキュリティ違反をログ記録するかどうかがユーザー出口プログラムに通知されます。メインフレームでは、このフィールドは、セキュリティ違反をログ記録するように CICS に命じるために使用されます。このフィールドはメインフレームとの互換性のために用意されていますが、セキュリティ違反はログ記録されません。

ユーザー出口プログラムは、出力パラメーターを設定します。その出力パラメーターは、次のとおりです。

フィールド
[esm-eibresp] このフィールドには、QUERY SECURITY の呼び出しが有効であることを示すゼロ、または有効でないことを示す非ゼロ値が含まれます。この値は、EIBRESP フィールドでアプリケーション プログラムに返されます。ここに正しい値が格納されるようにするのは、ユーザー出口プログラムの責任です。NOTFND または QIDERR 状態だけを返す必要がありますが、そうするように制限されているわけではありません。
[esm-eibresp2] 出口プログラムが esm-eibresp フィールドでゼロ以外の値を返す場合、その出口プログラムはこのフィールドでもゼロ以外の値を返す必要があります。出口プログラムが返す必要のある値は、NOTFND 状態の場合は 1、3、5、8 のいずれか、QIDERR 状態の場合は 1 です。この値は、EIBRESP2 フィールドでアプリケーションに返されます。
[esm-eibrcode] 出口プログラムが esm-eibresp フィールドでゼロ以外の値を返す場合、その出口プログラムはこのフィールドに 16 進値を格納する必要があります。この値は、EIBRCODE フィールドでアプリケーション プログラムに返されます。
[esm-alter] アプリケーションが名前付きリソースの ALTER 状態を要求した場合 (esm-arg-08-flag フィールドがセットされる)、出口プログラムは ALTERABLE または NOTALTERABLE の CVDA 値をこのフィールドで返す必要があります。
[esm-control] アプリケーションが名前付きリソースの CONTROL 状態を要求した場合 (esm-arg-09-flag フィールドがセットされる)、出口プログラムは CTRLABLE または NOTCTRLABLE の CVDA 値をこのフィールドで返す必要があります。
[esm-read] アプリケーションが名前付きリソースの READ 状態を要求した場合 (esm-arg-05-flag フィールドがセットされる)、出口プログラムは READABLE または NOTREADABLE の CVDA 値をこのフィールドで返す必要があります。
[esm-update] アプリケーションが名前付きリソースの UPDATE 状態を要求した場合 (esm-arg-06-flag フィールドがセットされる)、出口プログラムは UPDATABLE または NOTUPDATABLE の CVDA 値をこのフィールドで返す必要があります。
注: 入力パラメーター ブロックの文字フィールドは、EBCDIC プログラムから生じたものであっても、すべて ANSI でエンコードされます。EBCDIC のデータが必要な場合は、データを変換する必要があります。