Beim Vergleichen von Elementen mit COMPARE-ELEMENT werden Vergleichsstatistiken erzeugt. Diese Vergleichsstatistiken speichert COMPARE-ELEMENT in einen internen Bereich C0 ab. Nach Ausführung der COMPARE-ELEMENT-Anweisung wird C0 auf den Bereich C1 addiert. C0 wird vor jeder weiteren Ausführung von COMPARE-ELEMENT neu initialisiert.
Die Anweisung SHOW-STATISTICS gibt diese Vergleichsstatistiken aus. Dazu muss die Nummer des Bereichs angegeben werden.
SHOW-STATISTICS | ||||||||||||||||||||||||||||||||||||||||
|
NUMBER = *C0 / *C1
Nummer der Bereichs, der ausgegeben werden soll:
*C0 : | Bereich, der die Statistik des aktuellen Vergleichs enthält. |
*C1 : | Bereich, der die Gesamtstatistik aller bisher in diesem LMS-Lauf durchgeführten |
HEADER-LINE = *NONE / <c-string 1..132>
Es kann gesteuert werden, ob eine benutzereigene Überschrift (<c-string>) ausgegeben wird oder nicht. Standardmäßig wird keine benutzereigene Überschrift ausgegeben.
TEXT-OUTPUT = *LOGGING-PARAMETERS / *NONE / *SYSOUT / *SYSLST(...) / *EDT(...)
Steuerung der Protokollausgabe.
TEXT-OUTPUT = *LOGGING-PARAMETERS
Die Protokollausgabe erfolgt in das mit //MODIFY-LOGGING-PARAMETERS, TEXT-OUTPUT= festgelegte Ausgabemedium.
TEXT-OUTPUT = *NONE
Die Protokollausgabe wird bis auf Fehlermeldungen unterdrückt.
TEXT-OUTPUT = *SYSOUT
Die Ausgabe wird nach SYSOUT geschrieben.
TEXT-OUTPUT = *SYSLST(...)
Die Ausgabe wird nach SYSLST geschrieben.
SYSLST-NUMBER = *STD / <integer 1..99>
Bezeichnet die SYSLST-Datei, in die die Ausgabe erfolgen soll.
SYSLST-NUMBER = *STD
Es gilt die Systemdatei SYSLST.
SYSLST-NUMBER = <integer 1..99>
Es gilt die Systemdatei aus der Menge SYSLST01 bis SYSLST99, deren Nummer hier angegeben wird.
TEXT-OUTPUT = *EDT(...)
Die Ausgabe erfolgt in die Arbeitsdatei 9 des EDT. Tritt bei der Protokollausgabe ein Fehler auf, so wird auf den Standardprotokollstrom (SYSOUT) umgeschaltet.
WRITE-MODE = *EXTEND / *REPLACE
Schreibmodus der Ausgabe bezogen auf den Inhalt der Arbeitsdatei 9.
WRITE-MODE = *EXTEND
Existieren Daten in der Arbeitsdatei 9, werden diese durch die Ausgabe erweitert. Ansonsten wird die Ausgabe an den Anfang der Arbeitsdatei geschrieben.
WRITE-MODE = *REPLACE
Die Ausgabe erfolgt an den Anfang der Arbeitsdatei 9. Existierende Daten in der Arbeitsdatei werden dabei ersetzt.
STRUCTURE-OUTPUT = *SYSINF / *NONE / <composed-name 1..255>(...) Strukturierte Ausgabe.
STRUCTURE-OUTPUT = *SYSINF
Die strukturierte Ausgabe erfolgt in den durch ASSIGN-STREAM zugewiesenen SYSINF-Strom (siehe [12]).
STRUCTURE-OUTPUT =
*NONE
Es erfolgt keine strukturierte Ausgabe.
STRUCTURE-OUTPUT = <composed-name 1..255>(...)
Gibt an, in welche S-Variable die strukturierte Ausgabe erfolgen soll. Diese Variable muss als dynamische Strukturvariable deklariert sein.
(Kommando: DECLARE-VARIABLE NAME =...(TYPE=*STRUCTURE), MULTIPLE-ELEMENTS=*LIST
)
WRITE-MODE = *REPLACE / *EXTEND
Gibt an, ob die Listenvariable überschrieben oder erweitert wird.
WRITE-MODE = *REPLACE
Der alte Inhalt der Listenvariable wird überschrieben.
WRITE-MODE = *EXTEND
Die neuen Listenelemente werden an die bestehende Liste angehängt.
Die einzelnen Variablen-Elemente sind im Kapitel „Format der LMS-Ausgaben in S-Variable" beschrieben (siehe "Anweisung SHOW-STATISTICS").
Anweisungs-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Ohne Fehler | |
2 | 0 | LMS0129 | Anweisung abgebrochen durch Benutzer |
2 | 0 | LMS0313 | Überlauf eines Statistikzählers |
1 | CMD0230 | Syntaxfehler | |
32 | LMS1002 | Interner Fehler | |
64 | LMS1004 | Sonstige Fehler | |
130 | LMS0041 | Systemadressraum erschöpft |
Notwendige Zugriffsrechte
Es sind keine Zugriffsrechte erforderlich.
Hinweis
Der Maximalwert für Elementzähler ist 99 999, für Zeilenzähler ist er 999 999 999.
Bei Ausgabe auf SYSOUT zeigt LMS bis zu 8 Ziffern an, falIs der Wert kleiner als
100 000 000 ist. Andernfalls wird der Wert in Exponentialnotation dargestellt, z.B. 12345E+4. In diesem Fall können die exakten Werte der strukturierten Ausgabe in eine S-Variable oder der Textausgabe nach SYSLST, zum EDT oder in ein Bibliothekselement entnommern werden.
Falls die Grenze von 9 Ziffern überschritten wird, wird die Meldung LMS0313 ausgegeben und die betroffenen Zähler zählen Modulo 109 weiter.
Beispiel
Die S-Variable C1 wurde deklariert:
/DECL-VARIABLE C1(TYPE=*STRUCTURE),MULTIPLE-ELEMENTS=*LIST
Es wurden zwei Vergleiche durchgeführt. Im Speicher C0 ist das Ergebnis des letzten Vergleichs enthalten, im Speicher C1 die Summe der bisher durchgeführten Vergleiche.
//SHOW-STATISTICS NUMBER=*C0 AREA C0 PRIM. PRIM. INS. SAME DEL. INS+DEL SEC. SEC STATISTIC ELEM. LINES LINES LINES LINES LINES LINES ELEM. S (SAME) 0 0 - 0 - - 0 0 C (CHANGED) 1 5 5 0 9 14 9 1 I (INSERTED) 0 0 0 - - 0 - - D (DELETED) - - - - 0 0 0 0 -------------------------------------------------------------------------- TOTAL 1 5 5 0 9 14 9 1 //SHOW-STATISTICS NUMBER=*C1, STRUCTURE-OUTPUT=C1, TEXT-OUTPUT=*NONE
Die Struktur C1 kann mit /SHOW-VARIABLE C1#1
angesehen werden:
C1(*LIST).SAME.NUM-OF-PRIMARY = 5 C1(*LIST).SAME.NUM-OF-SECONDARY = 5 C1(*LIST).SAME.LINE.PRIMARY = 37 C1(*LIST).SAME.LINE.INS = 0 C1(*LIST).SAME.LINE.SAME = 37 C1(*LIST).SAME.LINE.DEL = 0 C1(*LIST).SAME.LINE.SECONDARY = 37 C1(*LIST).CHA.NUM-OF-PRIMARY = 0 C1(*LIST).CHA. ..... ..... C1(*LIST).DEL.LINE.SECONDARY = 0 C1(*LIST).TOTAL.NUM-OF.PRIMARY = 7 C1(*LIST).TOTAL.NUM-OF.SECONDARY = 5 C1(*LIST).TOTAL.LINE.PRIMARY = 47 C1(*LIST).TOTAL.LINE.INS = 10 C1(*LIST).TOTAL.LINE.SAME = 37 C1(*LIST).TOTAL.LINE.DEL = 0 C1(*LIST).TOTAL.LINE.SECONDARY = 37