- AD: Arrange Data (Spaltenbereiche fuer Darstellung auswaehlen)
AD { [col | konst | seq] ["text"] } {, ... } ... [, FC= X'cc' | C'c']
Arrange Data. Der Anzeigemodus der Display-Datei wird dahingehend verändert, daß nur bestimmte Spaltenbereiche der Datensätze ausgewählt und in einer festgelegten Reihenfolge am Bildschirm dargestellt werden. Zwischen den Spaltenbereichen können konstante Strings eingefügt werden. Die Darstellung jeder einzelnen Spalte kann in character und hexadezimaler Form erfolgen. Zu den ausgewählten Spaltenbereichen können Beschreibungstexte für die Überschriftszeile (Scale) definiert werden. Durch das Kommando AD wird ausschließlich die Darstellung der in der Display-Datei gespeicherten Datensätze beeinflußt. Die Datei selbst bleibt unverändert bestehen.
Ein evtl. aktiver Offset-Modus für die Datei (z.B. O-4) wird durch das AD-Kommando zurückgesetzt.
col Angabe des auszuwählenden Spaltenbereichs. Es sind zwei verschiedene Darstellungsweisen möglich.
:col1: len [ B[S] | C | H | P[n] | Z | STCK]
Anfangsspalte des auszuwählenden Bereichs. Die Spaltenzählung beginnt mit 1.
Es kann auch eine negative Spaltenangabe gemacht werden ( :-col1: ). Damit kann z.B. das Längenfeld eines Satzes mit variabler Länge angezeigt werden: :-4:2B bzw. :-4:4X
len
Länge des Spaltenbereichs.
:col1-col2: [B[S]|C|H|P[n]|Z|STCK]
Definition des Spaltenbereichs durch die Anfangs- und Endespalte. Als Endespalte (col2) kann auch das Zeichen $ (= Satzende) angegeben werden.
Beispiel: :1-20: Es wird der Bereich von Spalte 1 bis Spalte 20 ausgewählt. Äquivalent hierzu ist die Angabe der Anfangsspalte :1: und der Länge 20 (:1:20).
B[S] Im ausgewählten Spaltenbereich steht eine Binärzahl mit (BS) oder ohne Vorzeichen (B). Die Länge des Spaltenbereichs darf nur 1, 2, 3 oder 4 betragen.
C Ausgabe des Spaltenbereichs im Characterformat (Standard).
H Ausgabe des Spaltenbereichs im hexadezimalen Format. H bewirkt einen auf die Spalte bezogenen Hexadezimalmodus (siehe Display-Kommando H/NH). Anstelle von H kann auch X angegeben werden.
P[n] Im ausgewählten Spaltenbereich steht eine gepackte Zahl mit oder ohne Vorzeichen.
n Anzahl der Kommastellen. Standard: n = 0
Beispiel: :35-38:P2 liefert z.B. folgendes Zahlenformat: 99999,50
Z Im ausgewählten Spaltenbereich steht eine Dezimalzahl mit Vorzeichen. Eine Zahl des Formats Z entspricht in COBOL der Definition "PIC S9" und ist hexadezimal in folgender Form gespeichert: FaFb ... FnZm. Hierbei stehen a, b, ... ,n, m für Ziffern 0, ..., 9. Z enthält das Vorzeichen der Zahl: Die Sedezimalzeichen A, C, E, F stehen für positive und B, D für negative Werte.
Beispiel: F1C2 entspricht +12, F1D2 entspricht -12
STCK Im ausgewählten Spaltenbereich steht eine binär im STCK (Store Clock) Format gespeicherte Datums- und Zeitangabe. Das STCK-Feld kann vier oder acht Bytes lang sein. In der Ausgabe wird das Feld in der Form YYYY-MM-DD HH:MM:SS:MMMMMM angezeigt. MMMMMM entspricht hierbei dem Milli- und Mikrosekundenwert der Zeitangabe.
Standard: Die Spalte wird im Characterformat angezeigt.
konst Konstanter String, der in der aufbereiteten Satzdarstellung vor der nächsten Spalte, bzw. nach der zuletzt ausgewählten Spalte eingefügt wird.
[len] C'string' | X'string'
len
Gesamtlänge der Konstanten. Der in Form von C'...'/X'...' angegebene String wird solange wiederholt, bis die gewünschte Länge erreicht ist.
Standard: len = Länge des angegebenen Strings.
C'string' | X'string'
Wert der einzufügenden Konstanten. C'string' kann zu 'string' abgekürzt werden.
seq Sequentielle Nummerierung. Bei SAM- und PAM-Dateien wird ein fortlaufendes Numerierungsfeld in die Anzeige eingefügt.
Bei ISAM-Dateien ist eine korrekte Ausgabe der Nummerierung nur garantiert, falls vom Anfang der Datei aus ein Write-Kommando oder ein Suche-kommando mit Wegschreiben der Treffer ausgeführt wird.
Falls mehrere SEQ-Einfügungen in einem Datensatz vorgenommen werden, muß für alle SEQ-Anweisungen die gleiche Länge und Stepsize angegeben werden.
SEQ(len [, step])
len
Länge des Numerierungsfeldes. 1 <= len <= 10.
step
Schrittweite der Numerierung. 1 <= step <= 30000.
Standard: 1
"text" Der angegebene Text definiert eine Spaltenüberschrift, die in der Scale-Zeile des Display-Bildschirms angezeigt wird.
Es können beliebig viele Spalten-/Konstantenbereiche aneinandergereiht werden. Die einzelnen Bereiche werden durch Kommas getrennt. Die ausgewählten Spalten /Konstanten werden in der Darstellung lückenlos aneinandergereiht. Mit dem Kommando AD können auch Spalten dupliziert oder vertauscht werden.
FC= Fill-Character. Spaltenbereiche, die ganz oder teilweise außerhalb eines Datensatzes liegen, werden mit diesem Zeichen aufgefüllt. Ausnahme: Der letzte Spaltenbereich wird nicht aufgefüllt, sondern entsprechend der Länge der vorhandenen Daten verkürzt. Für weitere Einzelheiten siehe Hinweise.
Standard: FC=C' '.
NAD AD-Modus ausschalten. Die Datensätze werden im Originalformat angezeigt.
Standard: NAD
AD Die mit dem letzten AD-Kommando definierte Spaltenauswahl wird wieder aktiviert.
AD? | AD?,%name
Die mit dem letzten AD-Kommando definierte Spaltenauswahl / eine mit dem Kommando SP %name in einem Parameter-Set gesicherte Spaltenauswahl wird angezeigt. Beschreibung von SP %name siehe unten.
AD ( ) Durch () wird eine spezielle Bildschirmmaske angefordert. In dieser stehen dem Benutzer 18 Zeilen zur Eingabe umfangreicher Spaltendefinitionen zur Verfügung. Diese sind lückenlos, d.h. ohne Blanks einzugeben.
Durch Betätigung der ENTER-Taste wird der AD-Modus aktiviert. Die K1-Taste bewirkt den Abbruch des AD-Kommandos. Mit der F3-Taste kann die ausgefüllte Maske in einer von CFS angelegten Hardcopy-Datei protokolliert werden. Ansonsten wirkt F3 wie ENTER.
Im Kommandofeld der Maske können BS2000-Kommandos sowie das SP-Kommando eingegeben werden.
SP %name [, jrsave]
Save Parameters. Mit diesem Kommando werden die in der AD-Maske ( AD,() ) eingetragenen Spaltenauswahl Definitionen unter einem Namen in der Datei CFS.JRSAVE [.jobname] bzw. in einer mit /FILE datei,LINK=JRSAVE zugewiesenen Datei gesichert. Die genaue Regel, nach der der Name der JRSAVE-Datei gebildet wird, ist auf Seite 27- unter CFS.JRSAVE beschrieben.
%name ein- bis 44-stelliger alphanumerischer Name für den Parameter-Set.
jrsave Name der JRSAVE-Datei. Der Dateiname sollte nur angegeben werden, wenn die Parameter in eine andere als die von CFS standardmäßig verwendete JRSAVE-Datei (siehe oben) gesichert werden.
Der Benutzer kann eine mit SP gesicherte Spaltenauswahl durch die Kommandos AD %name bzw. AD?,%name aktivieren/anzeigen lassen.
AD %name | %?
Es wird die Spaltendefinition aktiviert, die zu einem früheren Zeitpunkt mit dem Kommando SP %name in einem Parameter-Set gesichert wurde.
Die Inhalte der in der SET-Maske aufgeführten Parameter werden mit den in dem Parameterset %name gespeicherten Angaben modifiziert. Die Ausgabe der SET-Maske wird unterdrückt.
%?: Es werden alle in Frage kommenden Parametersets in einer Maske angezeigt. Durch Ankreuzen kann einer der vorgeschlagenen Parametersets ausgewählt werden.
AD (dat) | (bibl ([t/] elem) )
Die Spaltendefinitionen sind in einer sequentiellen Datei dat oder in einem Bibliothekselement gespeichert. Falls bei einem Bibliothekselement der Elementtyp nicht angegeben ist, wird S/ ergänzt, sofern es sich um eine PLAM-Bibliothek handelt.
Format der AD-Parameterdatei dat:
Jeder Datensatz beschreibt eine oder mehrere Spaltendefinitionen. Die einzelnen Definitionen sind durch Kommas zu trennen. Am Satzende darf kein Komma angegeben werden. Die maximale Länge von 250 Bytes pro Satz sollte nicht überschritten werden.
Beispiele:
AD :21:30
Von den Datensätzen der Display-Datei wird nur der Teil ab Spalte 21 in der Länge von 30 Bytes angezeigt. Bei Datensätzen mit einer kleineren Länge wird die Darstellung der Spalte entsprechend verkürzt.
AD :21-40:"<-- SPALTE 21-40 -->",:1:20"<-- SPALTE 1-20 --->",4X'FF'
Die Darstellung beginnt mit Spalte 21 bis 40 der in der Display-Datei gespeicherten Sätze. Entsprechendes wird auch in der Scale-Zeile angezeigt ("..."). Falls Datensätze kürzer als 50 Bytes sind, so wird der fehlende Bereich in der Darstellung mit Blanks (C' ') aufgefüllt. Mit dem zweiten, im AD-Kommando angegebenen Parameter wird Spalte 1 bis 20 der Datensätze ausgewählt. Der dritte Parameter bewirkt, daß die Satzdarstellung im Display mit der Konstanten X'FFFFFFFF' abgeschlossen wird.
AD (AUSW)
Von den Datensätzen der Display-Datei werden die in der Datei AUSW hinterlegten Spaltenbereiche ausgewählt und am Bildschirm dargestellt.
Die Datei AUSW habe folgenden Inhalt:
:35-38:"TSN",' '
:45:8"PROGRAMM",' '
:30:10"ISAM-KEY",' '
........
:100-$:"SATZ-REST"
Auf den Bereich von Spalte 35 bis 38 folgt ein Blank. Danach Spalte 45 bis 52 und wieder ein Blank usw. Die ausgewählten Daten werden durch entsprechende Bezeichnungen in der Scale-Zeile beschrieben.
Hinweise:
Falls auf eine bereits im AD-Modus dargestellte Datei ein neues AD-Kommando angewendet wird, so ist zu beachten, daß sich die Spaltenangaben auf das Originalformat der Datensätze und nicht auf das durch AD dargestellte Satzformat beziehen.
Der AD-Modus gilt jeweils nur für die im Display befindliche Datei. Bei einem Wechsel zur nächsten Display-Datei mit dem Kommando NF (Next File) bzw. D wird der AD-Modus ausgeschaltet. Durch das Kommando AD ohne Operanden kann die zuletzt definierte Spaltenauswahl jederzeit wieder aktiviert werden.
Bei der Angabe eines Spaltenbereichs in der Form :col1-col2: kann für col2 auch das Zeichen '$' angegeben werden. $ steht hierbei für die jeweils letzte Spalte des Datensatzes. Durch die Angabe :101-$: wird z.B. der Bereich von Spalte 101 bis zum Satzende ausgewählt. Eine Spaltendefinition der Art :col1-$: kann nur als letzte angegeben werden.
Wird durch :col1-col2: bzw. :col1:len ein Spaltenbereich definiert, der länger als ein bestimmter Datensatz ist, so sind zwei Fälle zu unterscheiden:
a) Der angegebene Spaltenbereich ist nicht der letzte.
Die im Datensatz fehlenden Stellen werden durch ein festgelegtes Füllzeichen (Standard: C' ') aufgefüllt.
b) Der angegebene Spaltenbereich ist der letzte in der Definition.
Der Spaltenbereich wird nur in der Länge der im Satz vorhandenen Daten ausgegeben.
Im AD-Kommando können Spalten auch mehrfach ausgewählt werden. Die Länge der angezeigten Daten kann dadurch auf ein Vielfaches der ursprünglichen Satzlänge anwachsen. Es ist jedoch zu beachten, daß die maximale Länge von 32000 Stellen nicht überschritten wird.
Ist die Display-Datei vom Fcbtyp ISAM, so ist zu beachten, daß in der Spaltenauswahl ein Bereich enthalten sein muß, der den ISAM-Schlüssel oder einen Teil vom Beginn des ISAM-Schlüssels umfaßt.
Die durch das AD-Kommando ausgewählten und am Bildschirm dargestellten Daten werden wie normale Sätze einer Datei behandelt. Im AD-Modus sind alle Display-Kommandos, wie DS/DW/HEX/R/L/C sowie M (Modify) und S (Suchen) erlaubt. Mit dem Kommando W (Write) werden die Datensätze mit dem im Display dargestellten Format in eine andere Datei übertragen. Bei ISAM-Dateien wird dabei auch die aktuell im Display geltende Position des ISAM-Schlüssels (s.o.) übernommen.
Falls eine Spalte mehrfach ausgewählt und im Modify-Modus Daten geändert wurde, so ist zu beachten, daß die Änderung nur dann in die Datei zurückgeschrieben wird, falls sie in der letzten, d.h. in der am weitesten rechts vorkommenden Auswahl der Spalte vorgenommen wurde.
Die Kommandos AD und W in Kombination können dazu benutzt werden, eine Datei zu erstellen, bei der gegenüber dem Original zwei Spaltenbereiche vertauscht sind. Durch das unten angegebene AD-Kommando werden in der Darstellung die Spalten 21-30 und 41-50 getauscht. Mit dem Write-Kommando werden die dargestellten Daten in die Datei CFS.SP.TAUSCH geschrieben.
AD :1-20:,:41-50:,:31-40:,:21-30:,:51-$:
W9999,CFS.TAUSCH
Handelte es sich bei der ursprünglichen Datei um eine ISAM-Datei mit KEYPOS=25, KEYLEN=8 und RECFORM=V, so wird CFS.TAUSCH ebenfalls als ISAM-Datei, jedoch mit KEYPOS=45, KEYLEN=8 angelegt. Eine Verschiebung des ISAM-Schlüssels wird beim Anlegen einer neuen Datei durch das Write-Kommando berücksichtigt.
Durch die H-Option bei der Definition der Spalten ist es möglich, in der gleichen Bildschirmdarstellung hexadezimale und Character-Daten zu mischen. Wird bei einer mit dem Zusatz H bzw. X versehenen Spaltendefinition die Hexadezimaldarstellung aktiviert, so können die Daten dieser Spalte im Modify-Modus auch hexadezimal verändert werden. Andere Spalten, die ohne den Zusatz H definiert wurden, können im gleichen Eingabeschritt im Character-Modus geändert werden.