Alle SATLOG-Sätze haben dieselbe Struktur. Sie bestehen aus einer Liste von Feldern, wobei jedes dieser Felder eine protokollierbare Information enthält.
Werden ausschließlich SAT-Kommandos und SATUT-Anweisungen verwendet, so ist keine Kenntnis über den Aufbau der SATLOG-Dateien erforderlich.
Nur bei Anwendung des System-Exit Nr. 110 oder bei einer expliziten Dateianalyse im Fehlerfall sind die nachfolgenden Informationen von Bedeutung.
Hinweis
Die Struktur der Datensätze ist versionsabhängig und wird durch den Makro EXIT110 beschrieben (siehe Handbuch „System-Exits“ [18]).
Header-/Trailer-Sätze
Den SATLOG-Sätzen sind SAT-eigene SATLOG-Sätze voran- bzw. nachgestellt, die sich auf die besonderen Ereignisse „Beginn/Ende der SATLOG-Datei“ beziehen. Diese SAT-eigenen Sätze entstehen direkt bei der Dateiverarbeitung und werden nicht an CLIP übergeben.
Der Header-Satz (ZBG) beinhaltet:
die Systemversion
den Systemnamen
Grund für das Erstellen der Datei (STARTUP, resume logging...)
Name der vorhergehenden SATLOG-Datei (falls vorhanden)
Kennzeichnung der CPU
Kennzeichnung des Systems
Name der Konfiguration
Der Trailer-Satz (ZND) beinhaltet:
den Namen der folgenden SATLOG-Datei dieses Systemlaufs
Grund für das Schließen der Datei (SHUTDOWN, change file...)
Datensätze
Die Felder jedes SATLOG-Satzes sind folgendermaßen angeordnet:
Erster Satzteil
Der erste Satzteil ist ein fester Teil, in dem die Felder enthalten sind, die für jeden Datensatz protokolliert werden.
Feldname | Länge | Bedeutung | |
user-id | 8 | Benutzerkennung des Subjekts | fester Teil |
tsn | 4 | TSN des Subjekts | |
evt | 3 | Kurzname für Ereignis | |
res | 1 | Resultat des Ereignisses (S/F) | |
4 | Erstellungsdatum | ||
4 | Erstellungszeit | ||
4 | reservierter Bereich |
Folgender Satzteil
Der folgende Satzteil ist variabel. Er enthält zum einen die Felder, die bei jedem Datensatz protokolliert werden können, aber optional sind (z.B. auditid, groupid). Zum andern enthält er die Felder, die für ein bestimmtes Objekt protokolliert werden, siehe Abschnitt "Tabellen der protokollierbaren Information je Objektereignis (1). Diese Felder haben variable Länge. Jedes Feld des variablen Teils beinhaltet die reale Länge der Information, den Exit-Identifikator für die SAT-Information und die Information selbst.
ln1 | id1 | <info1> | variabler Teil | ||||
ln2 | id2 | <info2> | |||||
ln3 | id3 | <info3> | |||||
... | ... | ... | |||||
ln n:
Länge der protokollierten Information <info n> des Feldes n (1 Byte). Bei *LNG-Feldern enthält dieses Feld den Wert 255.
id n:
Exit-Identifikator für die SAT-Information, die in Feld n steht (2 Byte). Bei *LNG-Feldern enthält dieses Feld den negativen Wert des Exit-Identifikators.
info n:
protokollierte Information des Feldes n (Feldwert, ln n Byte), Keywords sind dabei binär codiert
*LNG-Felder
*LNG-Felder sind Felder, deren Länge größer ist als 255 Zeichen. Sie werden nötigenfalls auf mehrere Protokollsätze aufgeteilt und sind folgendermaßen aufgebaut:
255 | - id | ln | 0 | <info1> | Erster oder einziger Protokollsatz für das *LNG-Feld | |
255 | - id | ln | distanz | <info n> | Folgesatz für ein *LNG-Feld, wenn dieses über mehrere Protokollsätze aufgeteilt ist |
ln:
Gesamtlänge der protokollierten Information des *LNG-Feldes (2 Byte).
- id:
Exit-Identifikator für die SAT-Information, die in einem *LNG-Feld steht (2 Byte, Wert ist negativ).
distanz:
Distanz des 1. Bytes des Teilbereichs „info n“ zum Anfang der gesamten Information
info n:
n-ter Teil der protokollierten Information des *LNG-Feldes
Die Maximallänge eines SATLOG-Satzes in der SATLOG-Datei beträgt 1000. Der EXIT-Routine wird der ungeteilte SATLOG-Satz zur Verfügung gestellt. Die maximale Länge beträgt 32752 Bytes, distanz ist immer 0.