Die Systemfunktion 'sysLib.audit()' schreibt Überwachungsinformationen in das Systemprotokoll oder Systemjournal in einer COBOL-Umgebung.
Informationen zu den jeweiligen Umgebungen, in denen die Funktion sinnvoll ist, finden Sie unter 'Kompatibilität' in diesem Thema.
Die Funktion 'sysLib.audit()' ist systemabhängig. Wenn Portierbarkeit zwischen unterstützten und nicht unterstützten Umgebungen erforderlich ist, müssen Sie ein Nicht-EGL-Programm mit demselben Namen wie die Systemfunktion (audit) entwickeln, um den Serviceaufruf in nicht unterstützten Umgebungen zu empfangen. Beim Generieren für eine Umgebung, in der der Service nicht unterstützt wird, wandelt EGL den Funktionsaufruf in einen Aufruf an das Programm mit demselben Namen um. Alternativ können Sie den Wert von 'sysVar.sysType' testen, um die Laufzeitumgebung zu ermitteln, und die Funktion 'sysLib.audit()' entsprechend nur dann aufrufen, wenn sie von der betreffenden Umgebung unterstützt wird.
sysLib.audit(
Datensatz BasicRecord in
[, Journalkennung SMALLINT in] )
Die beiden ersten Byte enthalten die Länge des zu schreibenden Datensatzes. Die nächsten beiden Byte enthalten einen Code, der die Quelle des Journaldatensatzes angibt; hierbei muss das erste Byte dieses Codes im Bereich X'A0' bis X'FF' liegen.
Die ersten 28 Byte sind für den Datensatzlängen- und Datensatzkennungscode sowie für Verwendung durch das System reserviert. Die ersten 28 Byte dürfen keine Benutzerdaten enthalten; Byte 29 bis 32767 sind für Prüfdaten verfügbar.
package com.companyb.customer;
Record wrkRecord type basicRecord
10 length smallint;
10 code char(2);
10 reserved char(24);
10 data char(32737);
end
Program calc2
wrkrec wrkRecord;
jrnlid smallint;
Function main()
wrkrec.length = 32765;
wrkrec.code = x"A012";
wrkrec.data = "THIS IS THE DATA TO BE WRITTEN TO JOURNAL NUMBER 2";
jrnlid = 2;
sysLib.audit(wrkrec, jrnlid);
end // Ende von 'main()'
end // Ende von 'program'
| Plattform | Problem |
|---|---|
| CICS | Die Funktion schreibt in das CICS-Journal. Wenn Sie im V6-Ausnahmemodus arbeiten (siehe
V6-Ausnahmebedingungskompatibilität verwenden), setzt EGL den Wert für 'sysVar.errorCode' wie folgt:
|
| IMS | Die Funktion schreibt in das IMS-Protokoll. EGL konvertiert den Datensatz automatisch in das IMS-Protokollformat, indem 2 zur Länge addiert wird und 2 Byte binärer Nullen nach dem Längenfeld eingefügt werden. Es wird nur das erste Byte des Datensatzkennungscodes verwendet. Das zweite Byte des Datensatzkennungscodes wird ignoriert. Der Parameter Journalkennung wird ignoriert. Der Maximalwert bei IMS/VS beträgt 32.765 Byte. |
| iSeries COBOL | Die Funktion 'sysLib.audit()' wird nicht unterstützt. |
| Java™-Generierung | Die Funktion 'sysLib.audit()' wird nicht unterstützt. |
| JavaScript-Generierung | Die Funktion 'sysLib.audit()' wird nicht unterstützt. |
| z/OS batch | Um die Funktion 'sysLib.audit()' in
z/OS batch verwenden zu können, müssen Sie einen PSB (Programmspezifikationsblock) für das Programm angeben, und das Programm
muss mindestens eines der folgenden Kriterien erfüllen:
|