audit()

システム関数 SysLib.audit() は、トラッキング情報をシステム・ログまたはジャーナルに書き込みます。プログラムは、この関数を以下の環境で呼び出すことができます。
  • CICS® for z/OS® (CICS ジャーナルへの書き込み)
  • IMS™ BMP (IMS ログへの書き込み)
  • IMS/VS (IMS ログへの書き込み)
  • z/OS バッチ (以下に説明する制限があります)
  SysLib.audit(
    record anyBasicRecord in
    [, jid SMALLINT in
    ])
record
ジャーナル・ファイルに書き込まれるレコードの名前。

最初の 2 バイトには、書き込まれるレコードの長さが含まれます。 次の 2 バイトには、ジャーナル・レコードのソースを識別するために指定したコードが含まれ、 そのコードの最初の 1 バイトの範囲は、X'A0' から X'FF' でなければなりません。

レコード長およびレコード ID コードを含んでいるだけでなく、 最初の 28 バイトはシステムで予約済みで、ユーザー・データを書き込むことはできません。 監査データで使用できるのは、29 バイトから 32767 バイトです。

jid
サービス・ルーチンがレコードを書き込むジャーナル・ファイルの ID (1 から 99 まで) を指定するオプショナル・パラメーター。jid を省略すると、レコードはデフォルトでシステム・ジャーナルに書き込まれます。 このパラメーターは、2 バイトの 2 進数です。

SysLib.audittry...end ブロックで囲んだ場合、または VisualAge® Generator 互換モードであり、しかも VGVar.handleSysLibraryErrors が 1 に設定されている場合、SysVar.errorCode は、次の表に示すいずれかの状況コードを受け取ります。

SysVar.errorCode の値 説明
00000000 正常終了
00000201 長さのエラー
00000202 ユーザー・ソース・コードのエラー
00000204 ジャーナル ID のエラー
00000803 I/O エラー

CICS 環境と非 CICS 環境の間のポータビリティーが必要な場合は、このシステム関数と同じ名前を持つ非 EGL プログラム (audit) を開発して、非 CICS 環境でサービス呼び出しを受け取ることができます。 このサービスがサポートされない環境用に生成を行う場合、生成プログラムはこの関数呼び出しを同じ名前のプログラムの呼び出しにします。 別の方法として、非 CICS 環境でこのサービスがサポートされていない場合は、SysVar.sysType の値をテストしてランタイム環境を判別し、CICS が実行されている場合にのみ SysLib.audit() を呼び出すこともできます。

IMS での振る舞い

EGL が、長さに 2 を追加して、長さフィールドに続けて 2 バイトの 2 進ゼロを挿入すると、レコードは、自動的に IMS ログ・フォーマットに変換されます。レコード ID コードの最初の バイトのみが使用されます。 レコード ID コードの 2 番目のバイトは無視されます。jid パラメーターは無視されます。 IMS/VS の限界は、最大 32765 バイトです。

z/OS バッチでのサポートの制限

z/OS バッチで SysLib.audit() 関数を使用するには、プログラムで PSB を指定して、さらにプログラムが以下のうち、少なくとも 1 つを実行する必要があります。
  • プログラム内のいずれかの文で PSB または PCB を参照する
  • PSB 定義内に elawork または elamsg 以外の DL/I データベースがある
  • VGLib.VGTDLI() の使用
  • 少なくとも 1 つのファイルを GSAM に関連付ける
これらの条件に合った場合、SysLib.audit() は、z/OS バッチ環境で、IMS 内にあるときと同じように振る舞います。

move 32765 to wrkrec.length;
move "A" to wrkrec.code;
move 2 to jrnlid;
move "THIS IS THE DATA TO BE WRITTEN TO JOURNAL NUMBER 2" to wrkrec.data;
SysLib.audit(wrkrec, jrnlid);
フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.