SysLib.audit( record anyBasicRecord in [, jid SMALLINT in ])
最初の 2 バイトには、書き込まれるレコードの長さが含まれます。 次の 2 バイトには、ジャーナル・レコードのソースを識別するために指定したコードが含まれ、 そのコードの最初の 1 バイトの範囲は、X'A0' から X'FF' でなければなりません。
レコード長およびレコード ID コードを含んでいるだけでなく、 最初の 28 バイトはシステムで予約済みで、ユーザー・データを書き込むことはできません。 監査データで使用できるのは、29 バイトから 32767 バイトです。
SysLib.audit を try...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() を呼び出すこともできます。
EGL が、長さに 2 を追加して、長さフィールドに続けて 2 バイトの 2 進ゼロを挿入すると、レコードは、自動的に IMS ログ・フォーマットに変換されます。レコード ID コードの最初の バイトのみが使用されます。 レコード ID コードの 2 番目のバイトは無視されます。jid パラメーターは無視されます。 IMS/VS の限界は、最大 32765 バイトです。
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);
関連概念
EGL 関数の構文図