Diese Anweisung ist nur beim Kopieren von Dateien zulässig. Sie dient zum Bilden von Gruppen durch Zusammenfassung von Eingabesätzen mit gleichem Gruppenbegriff. Die Gruppenbildung bewirkt implizit eine Formataufbereitung. Es können Gruppenvorlauf- und Gruppennachlaufbenutzerzeilen gestaltet werden. Benutzerzeilen sind Zeilen, in die ein vom Benutzer vorgegebener Text geschrieben wird. Dieser Text kann aus Feldern des Eingabesatzes, aus Kennwörtern und Literalen bestehen. Je nachdem ob diese Zeilen vor oder nach einer Gruppe stehen, werden sie Gruppenvorlauf- bzw. Gruppennachlaufbenutzerzeilen genannt.
Beziehen sich mehrere SET-GROUP-ATTRIBUTES-Anweisungen mit gleicher Gruppenstufe auf den gleichen Dateikettungsnamen, wird in der angegebenen Gruppenstufe für diesen Dateikettungsnamen nur die zuletzt gegebene Anweisung ausgeführt.
SET-GROUP-ATTRIBUTES | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
OUTPUT-LINK-NAME =
Dateikettungsnamen der Ausgabedateien, auf die sich diese Anweisung beziehen soll.
OUTPUT-LINK-NAME = *STD
Diese Anweisung bezieht sich auf alle bisher angegebenen Ausgabedateien.
OUTPUT-LINK-NAME = list-poss(2000): <filename 1..8 without-gen>
Soll sich die Anweisung nur auf einige Ausgabedateien beziehen, müssen die Dateikettungsnamen dieser Dateien angegeben werden.
GROUP-LEVEL = 1 / <integer 1..8>
Gruppenstufe, für die diese SET-GROUP-ATTRIBUTES-Anweisung gilt. Es sind bis zu acht geschachtelte Gruppenstufen möglich. Durch die Angabe der Gruppenstufen wird eine Wertung der Gruppenbegriffe vorgenommen. Für jede Gruppenstufe ist eine eigene SET-GROUP-ATTRIBUTES-Anweisung anzugeben. Bei einem Gruppenwechsel einer Stufe werden auch Gruppen mit niedrigerem GROUP-LEVEL einem Wechsel unterzogen(1: höchste Stufe, 8: niedrigste Stufe).
GROUP-CONTROL =
Definiert den Gruppenbegriff.
GROUP-CONTROL = *ALL
Die gesamte Eingabedatei wird als eine Gruppe interpretiert. Diese Angabe ist nur in der höchsten Gruppenstufe (GROUP-LEVEL=1) möglich.
GROUP-CONTROL = *FIELD(...)
Ein Feld des Eingabesatzes wird als Gruppenbegriff festgelegt.
POSITION = <integer 1..32767>
Anfangsposition des Vergleichsfeldes bezogen auf den Anfang des Eingabesatzes.
LENGTH = 1 / <integer 1..256>
Länge des Vergleichsfeldes begrenzt durch die Satzlänge des Eingabesatzes.
GROUP-HEADER =
Definiert Benutzerzeilen, die den Gruppenvorlauf bilden. Diese werden beim Gruppenwechsel vor der ersten Zeile der entsprechenden Gruppe ausgegeben.
GROUP-HEADER = *NONE
Es werden keine Benutzerzeilen ausgegeben.
GROUP-HEADER = *FIELD(...)
Übernimmt ein Feld des Eingabesatzes (Eingabefeld) in ein Feld der Benutzerzeile (Ausgabefeld).
INPUT-POSITION = <integer 1..32768>
Anfangsposition des Eingabefeldes bezogen auf den Anfang des Eingabesatzes.
INPUT-LENGTH = 1 / <integer 1..204>
Länge des Eingabefeldes begrenzt durch die Satzlänge des Eingabesatzes.
INPUT-FORMAT = *CHARACTER / *ZONED-DECIMAL / *PACKED-DECIMAL Format des Eingabefeldes im Eingabesatz (siehe "Formate" ff).
Das Feld des Eingabesatzes, welches mittels Maske aufbereitet werden soll, darf bei INPUT-FORMAT=*ZONED-DECIMAL nicht länger als 203, bei INPUT-FORMAT= *PACKED-DECIMAL nicht länger als 102 Byte sein.
OUTPUT-POSITION = <integer 1..204>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | INPUT-FORMAT | ||
CHARACTER | ZONED-DECIMAL | PACKED-DECIMAL | |
CHARACTER | INPUT-LENGTH | ||
HEXADECIMAL | 2 * INPUT-LENGTH | ||
BINARY | 8 * INPUT-LENGTH | ||
<c-string> (Maske) | Maskenlänge | Maskenlänge | |
SIGNED-DECIMAL | INPUT-LENGTH + 1 | 2*INPUT-LENGTH | |
DECIMAL | INPUT-LENGTH + 1 | 2*INPUT-LENGTH | |
ZONED-DECIMAL | INPUT-LENGTH | 2*INPUT-LENGTH -1 |
OUTPUT-FORMAT = *STD / *CHARACTER / *HEXADECIMAL / *BINARY / <c-string 2..204 with-low> / *ZONED-DECIMAL / *SIGNED-DECIMAL / *DECIMAL
Format des Ausgabefeldes (siehe "Formate" ff).
Erlaubt sind nur die Kombinationen:
CHARACTER | + | ||
HEXADECIMAL | + | ||
BINARY | + | ||
<c-string> (Maske) | + | + | |
SIGNED-DECIMAL | + | + | |
DECIMAL | + | + | |
ZONED-DECIMAL | + | + |
Für den Standardwert gilt folgende Tabelle:
INPUT-FORMAT | OUTPUT-FORMAT |
CHARACTER | CHARACTER |
PACKED-DECIMAL | ZONED-DECIMAL |
ZONED-DECIMAL | ZONED-DECIMAL |
GROUP-HEADER = *RECORD-LENGTH(...)
LINK-NAME = <filename 1..8 without-gen>
Dateikettungsname der Ein-/Ausgabedatei, deren aktuelle Satzlänge man in der Benutzerzeile verwenden will.
OUTPUT-POSITION = <integer 1..203>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
ZONED-DECIMAL-LEFT | 8 Zeichen |
ZONED-DECIMAL | 8 Zeichen |
SIGNED-DECIMAL | 9 Zeichen |
DECIMAL | 9 Zeichen |
OUTPUT-FORMAT = *ZONED-DECIMAL-LEFT / <c-string 2..204 with-low> / *ZONED-DECIMAL / *SIGNED-DECIMAL / *DECIMAL
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER = *BYTE-COUNTER(...)
LINK-NAME = <filename 1..8 without-gen>
Dateikettungsname der Ein-/Ausgabedatei, deren aktuellen Bytezähler man in der Benutzerzeile verwenden will.
OUTPUT-POSITION = <integer 1..203>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
ZONED-DECIMAL-LEFT | 10 Zeichen |
ZONED-DECIMAL | 10 Zeichen |
SIGNED-DECIMAL | 11 Zeichen |
DECIMAL | 11 Zeichen |
OUTPUT-FORMAT = *ZONED-DECIMAL-LEFT / <c-string 2..204 with-low> /*ZONED-DECIMAL / *SIGNED-DECIMAL / *DECIMAL
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER = *RECORD-COUNTER(...)
LINK-NAME = <filename 1..8 without-gen>
Dateikettungsname der Ein-/Ausgabedatei, deren aktuellen Satzzählerwert man in der Benutzerzeile verwenden will.
OUTPUT-POSITION = <integer 1..203>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
ZONED-DECIMAL-LEFT | 8 Zeichen |
ZONED-DECIMAL | 8 Zeichen |
SIGNED-DECIMAL | 9 Zeichen |
DECIMAL | 9 Zeichen |
OUTPUT-FORMAT = *ZONED-DECIMAL-LEFT / <c-string 2..204 with-low> /*ZONED-DECIMAL / *SIGNED-DECIMAL / *DECIMAL
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER = *PAGE-COUNTER(...)
LINK-NAME = <filename 1..8 without-gen>
Dateikettungsname der Ausgabedatei, deren aktuellen Seitenzählerwert man in der Benutzerzeile verwenden will.
OUTPUT-POSITION = <integer 1..203>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
ZONED-DECIMAL-LEFT | 6 Zeichen |
ZONED-DECIMAL | 6 Zeichen |
SIGNED-DECIMAL | 7 Zeichen |
DECIMAL | 7 Zeichen |
OUTPUT-FORMAT = *ZONED-DECIMAL-LEFT / <c-string 2..204 with-low> / *ZONED-DECIMAL / *SIGNED-DECIMAL / *DECIMAL
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER = *DATE(...)
Start-Datum des PERCON-Konvertierungsschrittes als 8-stellige Zeichenfolge im Format jj-mm-tt.
OUTPUT-POSITION = <integer 1..197>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 8..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
CHARACTER | 8 Zeichen |
HEXADECIMAL | 16 Zeichen |
BINARY | 64 Zeichen |
OUTPUT-FORMAT = *CHARACTER / *HEXADECIMAL / *BINARY
Format des Ausgabefeldes (siehe "Formate" ff).
CENTURY = *NO / *YES
Bei der Angabe von CENTURY=*YES wird das Datum als 10-stellige Zeichenfolge mit der Angabe des Jahrhunderts im Format jjjj-mm-tt ausgegeben, damit verringert sich der Maximalwert für OUTPUT-POSITION um 2 auf 195 und der Minimalwert für OUTPUT-LENGTH erhöht sich um 2 auf 10.
GROUP-HEADER = *TIME(...)
Start-Zeit des PERCON-Konvertierungsschrittes als 8-stellige Zeichenfolge im Format hh:mm:ss.
OUTPUT-POSITION = <integer 1..197>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 8..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
CHARACTER | 8 Zeichen |
HEXADECIMAL | 16 Zeichen |
BINARY | 64 Zeichen |
OUTPUT-FORMAT = *CHARACTER / *HEXADECIMAL / *BINARY
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER =<c-string 1..204 with-low>(...)
OUTPUT-POSITION = <integer 1..204>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
CHARACTER | Länge des c-string |
HEXADECIMAL | 2 * Länge des c-string |
BINARY | 8 * Länge des c-string |
OUTPUT-FORMAT = *CHARACTER / *HEXADECIMAL / *BINARY
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER =<x-string 1..408>(...)
OUTPUT-POSITION = <integer 1..204>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Für den Standardwert gilt folgende Tabelle:
OUTPUT-FORMAT | OUTPUT-LENGTH |
CHARACTER | 0,5 * Länge des x-string |
HEXADECIMAL | Länge des x-string |
BINARY | 4 * Länge des x-string |
OUTPUT-FORMAT = *CHARACTER / *HEAXADECIMAL / *BINARY
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER =<long-integer -9223372036854775807..9223372036854775807>(...)
OUTPUT-POSITION = <integer 1..204>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Ausgabefeldes.
Standardwert ist die Mindestlänge, die erforderlich ist, um die auszugebende Zahl im angegebenen Format unterzubringen.
OUTPUT-FORMAT = *ZONED-DECIMAL / <c-string 2..204 with-low> / *SIGNED-DECIMAL / *DECIMAL
Format des Ausgabefeldes (siehe "Formate" ff).
GROUP-HEADER = *NEW-PAGE
Bewirkt einen Vorschub auf die nächste Seite und die Ausgabe der bisher aufgebauten Benutzerzeile. Nach dem Ausführen kann eine weitere Benutzerzeile erstellt werden.
GROUP-HEADER = *SPACING(...)
Bewirkt die Ausgabe der bisher aufgebauten Benutzerzeile und einen Vorschub um 1 bis 15 Zeilen. Nach dem Ausführen des Operanden kann eine weitere Benutzerzeile erstellt werden.
LINES = 1 / <integer 1..15>
Anzahl der Zeilenvorschübe.
GROUP-HEADER = *MODULE(...)
NAME = <name 1..8>
Die Aufbereitung einer Gruppenvorlaufbenutzerzeile erfolgt in einem Benutzermodul. Anzugeben ist der Name des Benutzermoduls oder des Einsprungpunktes in dem Benutzermodul. Eine Benutzerzeile, die bereits erstellt ist, aber noch nicht ausgedruckt wurde, wird der Benutzerroutine zur Verfügung gestellt (siehe "Anschluss für die Gruppenbearbeitung").
GROUP-TRAILER = *NONE / list-poss(2000): *FIELD(...) / *SUM-FIELD(...) / *GROUP-COUNTER(...) / *RECORD-LENGTH / *BYTE-COUNTER(...) / *RECORD-COUNTER(...) / *PAGE-COUNTER(...) / *DATE(...) / *TIME(...) /
<c-string 1..204 with-low>(...) / <x-string 1..408>(...) /
<long-integer -9223372036854775807..9223372036854775807>(...) / *NEW-PAGE / *SPACING(...) / *MODULE(...)
Definiert Benutzerzeilen, die den Gruppennachlauf bilden. Diese werden beim Gruppenwechsel nach der letzten Zeile der entsprechenden Gruppe ausgegeben.
GROUP-TRAILER = *FIELD(...)
Bei GROUP-TRAILER=*FIELD wird die FIELD-Information dem letzten Satz der Gruppe entnommen.
Die Beschreibung der Operanden außer SUM-FIELD(...) und GROUP-COUNTER(...) siehe GROUP-HEADER (ab "SET-GROUP-ATTRIBUTES Festlegen von Gruppenwechselbedingungen").
GROUP-TRAILER = *SUM-FIELD(...)
Die Werte des Zahlenfeldes aller Sätze der zuletzt durchlaufenen Gruppe werden summiert. Diese Summe wird in das Summenfeld der Benutzerzeile übertragen.
Das Summenfeld muss ausreichende Länge haben. Es können mehrere Felder summiert werden.
INPUT-POSITION = <integer 1..32768>
Anfangsposition des Zahlenfeldes bezogen auf den Anfang des Eingabesatzes.
INPUT-LENGTH = 1 / <integer 1..16>
Länge des Zahlenfeldes.
INPUT-FORMAT = *ZONED-DECIMAL / *PACKED-DECIMAL
Format des Zahlenfeldes (siehe "Formate" ff).
OUTPUT-POSITION = <integer 1..204>
Anfangsposition des Summenfeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 1..204>
Länge des Summenfeldes.
Standardwert ist die Mindestlänge, die erforderlich ist, um die auszugebende Zahl im angegebenen Format unterzubringen. *STD ist bei Ausgabe mit Maske die Maskenlänge. Bei den nachfolgenden aufgeführten Umwandlungen werden folgende Werte für *STD eingesetzt:
OUTPUT-FORMAT | INPUT-FORMAT | |
ZONED-DECIMAL | PACKED-DECIMAL | |
SIGNED-DECIMAL | INPUT-LENGTH + 1 | 2 * INPUT-LENGTH |
DECIMAL | INPUT-LENGTH + 1 | 2 * INPUT-LENGTH |
ZONED-DECIMAL | 2 * INPUT-LENGTH-1 |
In allen anderen Fällen wird INPUT-LENGTH angenommen.
OUTPUT-FORMAT = *ZONED-DECIMAL / <c-string 2..204 with-low> / *SIGNED-DECIMAL / *DECIMAL
Format des Summenfeldes (siehe "Formate" ff).
GROUP-TRAILER = *GROUP-COUNTER(...)
Zähler je Gruppe. GROUP-COUNTER ist für die Gruppenstufe 1 bis 8 jeder Ausgabeeinheit verfügbar. Jeder Zähler ist durch seinen Dateikettungsnamen und durch eine Gruppenstufe eindeutig bestimmt.
LINK-NAME = <filename 1..8 without-gen>
Dateikettungsname der Ein-/Ausgabedatei, von der man einen Gruppenzähler in der Benutzerzeile verwenden will.
GROUP-LEVEL = <integer 1..8>
Angabe, welcher Gruppenzähler der mit LINK-NAME bezeichneten Ein-/Ausgabedatei verwendet werden soll.
OUTPUT-POSITION = <integer 1..203>
Anfangsposition des Ausgabefeldes bezogen auf den Anfang der Benutzerzeile.
OUTPUT-LENGTH = *STD / <integer 4..204>
Länge des Ausgabefeldes.
Der Standardwert ist entweder 4 bei OUTPUT-FORMAT=*ZONED-DECIMAL-LEFT oder die Maskenlänge.
OUTPUT-FORMAT = C' ZZZ' / <c-string 2..204 with-low> / *ZONED-DECIMAL-LEFT
Format des Ausgabefeldes (siehe "Formate" ff).