Allgemeines
Anwendungsgebiet: | Accounting; siehe "Accounting" |
Makrotyp: | S-Typ, MF-Format 1: 31-Bit-Schnittstelle: Standardform/L-/D-/E-Form; siehe "S-Typ-Makroaufrufe" |
Das Accounting-System ermittelt Abrechnungsdaten über die Nutzung der Betriebsmittel des Data Centers und schreibt diese Daten in Form von Abrechnungssätzen in die Accounting-Datei. Abrechnungsdaten sind z.B.:
beanspruchte CPU-Zeit, E/A-Datenmenge, Working-Set-Integral, Geräte- und Datenträgerbelegungsdaten.
beanspruchte Systemdienste (Benutzerdumps, etc.).
Speicherplatzbelegung auf Public Volume Sets.
Die Auswertung der Accounting-Datei erfolgt mit einem speziellen Auswertungsprogramm. Grobstruktur eines Abrechnungssatzes:
| Satzkennung, Zeitstempel, ... |
| Benutzerkennung, Abrechnungsnr., abgerechnete Benutzertask, ... |
| Standarddaten |
| Satzerweiterungen |
Eine ausführliche Beschreibung ist im Handbuch „Abrechnungssätze“ [13] gegeben.
Makrobeschreibung
Der Makro AREC veranlasst das Schreiben eines Benutzer-Abrechnungssatzes in die Accounting-Datei.
Der Abrechnungssatz kann sein:
ein UDAT-Abrechnungssatz mit einer Satzerweiterung
ein UACC-Abrechnungssatz mit einer Satzkennung
ein vom Anwender (frei) definierter Abrechnungssatz
Der Anwender kann sich die Grundstruktur eines Abrechnungssatzes generieren lassen. Es wird empfohlen, sich bei der Definition eigener Abrechnungssätze an diese Struktur anzulehnen.
Hinweise
Zur Auswertung der Abrechnungssätze muss der Anwender entsprechende Programme verwenden (siehe Handbuch „Systembetreuung“ [10]).
Der Systemverwalter kann die Anzahl der Benutzer-Abrechnungssätze je Task benutzerspezifisch begrenzen (Operand MAX-ACCOUNT-RECORDS im Benutzerkatalog). Die Begrenzung gilt für den gesamten Kommandomodus (außerhalb von Programmläufen) einer Task. Voreinstellung: MAX-ACCOUNT-RECORDS = 100; d.h. maximal 100 Abrechnungssätze im Kommandomodus einer Task.
Das Schreiben eines frei definierten Abrechnungssatzes in die Accountingdatei erfordert die Berechtigung MAX-ACCOUNT-RECORDS=NL (No Limit).
Makroaufrufformat und Operandenbeschreibung
AREC |
{DSECT=RECORD / ,DATA=adr / (r) / ,ID=adr / (r) / ,RECORD=adr / (r)} ,MF=S / L / (E,...) / D ,P=I / p |
DSECT=RECORD
eine Dummy Section (DSECT) wird generiert, die die Grundstruktur eines Abrechnungssatzes wiedergibt.
Es kann ein Präfix P (P = 1 Buchstabe) angegeben werden.
Der Operand MF darf nicht angegeben werden.
DATA=
beschreibt die Adresse der Satzerweiterung (Datenstring), die in den UDAT-Abrechnungssatz eingetragen wird. In Byte 0-1 des Datenstrings ist die Länge des nachfolgenden Textes anzugeben.
Textlänge <= 255 Byte.
adr
symbolische Adresse (Name) des Feldes mit dem Datenstring
(r)
r = Register mit dem Wert der Adresse adr
ID=
beschreibt die Adresse einer Zeichenfolge (Datenstring), die als Satzkennung in den UACC-Abrechnungssatz eingetragen wird.
Länge der Zeichenfolge <= 8 Byte.
adr
symbolische Adresse (Name) des Feldes mit dem Datenstring
(r)
r = Register mit dem Wert der Adresse adr
RECORD=
beschreibt die Adresse des vom Anwender (frei) definierten Abrechnungssatzes.
In dem Abrechnungssatz müssen auch die Satzkennung und die Benutzerbeschreibung selbst versorgt werden.
Satzlänge <= 496 Byte.
Der Operand ist nur für Anwender zugelassen, in deren Benutzerkatalog MAX-ACCOUNT-RECORDS=NL eingetragen ist.
adr
symbolische Adresse (Name) des Feldes mit dem Abrechnungssatz
(r)
r = Register mit dem Wert der Adresse adr
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Bei MF=D kann ein Präfix P (P = 1 Buchstabe), wie im Aufrufformat dargestellt, angegeben werden.
Rückinformation und Fehlermeldung
R15:
+---------------+ | | | | | |b|b| | | | |a|a| +---------------+
Über die Ausführung des Makros AREC wird ein gegliederter Returncode (aa=primärer RC, bb=sekundärer RC) im Register R15 übergeben.
X'bb' | X'aa' | Erläuterung |
X'00' | X'00' | Funktion normal ausgeführt. |
X'04' | X'00' | Satz wurde nicht geschrieben, weil Accounting ausgeschaltet war. |
X'08' | X'00' | Satz wurde nicht geschrieben, weil der betreffende Satztyp ausgeschaltet war. |
X'00' | X'04' | Adressfehler (Datenbereich). |
X'00' | X'08' | Ungültiger Funktionscode (für SVC 99 oder für AREC). |
X'00' | X'0C' | Funktion für diesen Benutzer nicht erlaubt. |
X'00' | X'10' | Adressfehler (DATA-, ID- oder RECORD-Operand). |
X'00' | X'14' | Ungültige Satzkennung. |
X'00' | X'18' | Max. Satzlänge überschritten. |
X'00' | X'1C' | Anzahl erlaubter Sätze überschritten. |
X'00' | X'20' | Ungültiges Register. |
X'00' | X'24' | System- oder Ressourcefehler. Mehr Information im sekundären Returncode. |
X'04' | X'24' | Kein Speicher verfügbar. |
X'08' | X'24' | Keine Jobinformation. |
X'0C' | X'24' | CLTF-Fehler: Fehler beim Schreiben des Satzes. |
Grundstruktur eines Abrechnungssatzes
AREC DSECT=RECORD 1 MFCHK DNAME=ARLDS,MF=D,PREFIX=I,MACID=ARL,DMACID=ARL 2 IARLDS DSECT , 2 *,##### PREFIX=I, MACID=ARL ##### 1 DS 0F AREC PARAMETER LIST 1 **************************************************************** 1 * GENERAL LAYOUT OF ACCOUNT RECORDS * 1 **************************************************************** 1 IARLRHDR DS 0F RECORD HEADER 1 IARLRL DS Y RECORD LENGTH 1 DS XL2 RESERVED 1 IARLID DS CL4 RECORD ID 1 DS FL8 RESERVED (TIME STAMP) 1 IARLLUS DS Y LENGTH OF USER HEADER 1 IARLLBI DS Y LENGTH OF BASIC INFORMATION 1 DS XL4 RESERVED 1 * 1 * 1 IARLUSER DS 0F USER HEADER 1 IARLUSID DS CL8 USER IDENTIFICATION 1 IARLACNT DS CL8 ACCOUNT NUMBER 1 IARLTSN DS CL4 TSN 1 * 1 * 1 ORG IARLID+X'1000' 1 IARLBI DS 0F BASIC INFORMATION 1 * 1 * 1 ORG IARLID+X'2000' 1 IARLEXT DS 0H VARIABLE EXTENSION PART 1 IARLEXTH DS 0H EXTENSION HEADER 1 IARL#EXT DS H NUMBER EXTENSIONS 1 IARLDEXT DS 0H START LIST OF DISTANCES 1 * 1 ORG IARLID+X'3000' 1 IARLSEXT DS 0H STRING EXTENSION 1 IARLSEXI DS CL2 EXTENSION ID 1 IARLLSEX DS Y LENGTH OF STRING 1 IARLSEXB DS 0C BEGIN OF STRING 1 * 1 ORG IARLID+X'3000' 1 IARLAEXT DS 0H ARRAY EXTENSION 1 IARLAEXI DS CL2 EXTENSION ID 1 IARLAEX# DS X NUMBER OF ELEMENTS 1 IARLAEXL DS X LENGTH OF ONE ELEMENT 1 IARLAEXB DS 0H BEGIN OF FIRST ELEMENT