Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

@LIST - Ausdrucken von Arbeitsdateibereichen oder Zeichenfolgevariablen

&pagelevel(3)&pagelevel

Mit der Anweisung @LIST können Bereiche einer Arbeitsdatei oder von Zeichenfolgevariablen auf SYSLST oder über den Drucker ausgegeben werden. Wenn nicht anders spezifiziert, wird jeder ausgegebenen Zeile die Zeilennummer, jeder ausgegebenen Zeichenfolgevariablen die Nummer der Zeichenfolgevariablen vorangestellt.

Operation

Operanden

F-Modus, L-Modus

@LIST

[ {lines | svars} [:cols[:]] [X] [N] [{C [int] | P int}] [I] [S] ] [,...]

lines

svars

Der Zeilenbereich, der ausgegeben werden soll.

Der Bereich von Zeichenfolgevariablen, deren Inhalt ausgegeben werden
soll.

cols

Spaltenbereich in der aktuellen Arbeitsdatei bzw. in den angegebenen
Zeichenfolgevariablen, der ausgegeben werden soll.

Wird nur eine Spaltennummer angegeben, wird ab dieser Spalte der Rest
der Zeile bzw. Zeichenfolgevariablen ausgegeben. Ist die erste Spaltenangabe
größer als die Länge der Zeile bzw. Zeichenfolgevariablen, wird
diese Zeile bzw. Zeichenfolgevariable nicht behandelt.

Wird kein Spaltenbereich angegeben, wird die Zeile bzw. Zeichenfolgevariable
in voller Länge ausgegeben.

X

Die Zeilen werden hexadezimal ausgedruckt. Das Ausgabeformat
entspricht dem bei @PRINT.. X.

N

Die Zeilennummern bzw. die Nummern der Zeichenfolgevariablen werden
beim Ausdrucken unterdrückt.

C int

Der EDT erwartet jeweils als erstes Zeichen des ausgegebenen
Spaltenbereichs ein EBCDIC-Vorschubsteuerzeichen. Dieses bewirkt beim
Drucken einen Vorschub, wird aber selbst nicht ausgedruckt. Das
Vorschubsteuerzeichen muss im Zeichensatz der aktuellen Arbeitsdatei bzw. der
jeweiligen Zeichenfolgevariablen vorliegen (siehe unten). Wenn der EDT
dieses Zeichen interpretiert, legt er die Bedeutung des äquivalenten
EDF041-Zeichens zugrunde.
Alle Zeichen in der ersten Spalte, die der EDT nicht interpretieren kann,
führen zu einem einfachen Zeilenvorschub.


Für int sind Werte zwischen 0 und 256 erlaubt. Wird int ungleich 0
angegeben, generiert der EDT zusätzlich zu den im Satz selbst enthaltenen
Vorschubsteuerzeichen nach jeweils int ausgegebenen Zeilen (unter
Berücksichtigung der im Satz selbst enthaltenen Seiten- und Zeilenvorschübe)
einen Seitenvorschub. Wird int gleich 0 angegeben, wird kein
zusätzlicher Seitenvorschub generiert.
Der hier eingestellte Wert für die Seitengröße bleibt eingestellt und
beeinflusst damit alle Ausgaben nach SYSLST.

Wird int nicht angegeben, verwendet der EDT den zuletzt mit der Anweisung
@LIST oder @PAGE eingestellten Wert für die Seitengröße,
unabhängig davon, ob int in Zusammenhang mit C oder P angegeben wurde.
Wurde vorher noch keine @LIST-Anweisung gegeben, die den Wert von
int verändert hat, wird der Standardwert 65 (siehe @PAGE-Anweisung)
angenommen.

P int

Der EDT stellt jedem ausgegebenen Satz selbst ein EBCDIC
Vorschubsteuerzeichen voran. Der EDT verwendet dabei nur die EBCDIC
Vorschubsteuerzeichen Zeilenvorschub nach dem Drucken jeder Zeile sowie
das Vorschubsteuerzeichen Seitenvorschub in der jeweils dem Zeichensatz
der Ausgabedatei (SYSLST oder temporäre Datei) entsprechenden
Codierung (siehe unten).

Für int sind Werte zwischen 0 und 256 erlaubt. Wenn int nicht 0 ist, wird
nach jeweils genau int Zeilen ein Seitenvorschub eingefügt. Wenn int
gleich 0 ist, wird kein Seitenvorschub eingefügt. Der hier eingestellte Wert
für die Seitengröße bleibt eingestellt und beeinflusst damit alle Ausgaben
nach SYSLST.

I

Mit dem Ausdrucken wird sofort begonnen. Das bedeutet, dass der EDT die
auszugebenden Sätze in eine temporäre Datei (unter Benutzung der
Systemdatei SYSLST97) schreibt und diese nach dem Schließen sofort mit
einem /PRINT-DOCUMENT-Kommando auf den eingestellten Standard-
Drucker ausgibt.

Die temporäre Datei wird bei Ausgabe von Bereichen aus einer Arbeitsdatei
in dem Zeichensatz der Arbeitsdatei angelegt, wenn dieser ein EBCDIC-
Zeichensatz ist. Falls nicht, wird der Referenz-Zeichensatz verwendet,
wenn dieser ein EBCDIC-Zeichensatz ist. In allen anderen Fällen wird die
temporäre Datei im Zeichensatz UTFE angelegt. Wenn Bereiche von
Zeichenfolgevariablen ausgegeben werden sollen, erfolgt die Bestimmung des
Zeichensatzes analog für jede einzelne Zeichenfolgevariable. Sind die
dabei ermittelten Zeichensätze alle gleich, wird dieser Zeichensatz
verwendet, anderenfalls der Zeichensatz UTFE.


Wenn der Anwender nicht die Erlaubnis hat, temporäre Dateien anzulegen
oder wenn vom Systemverwalter die Benutzung temporärer Dateien generell
verboten ist oder wenn es aus anderen Gründen nicht gelingt die Datei
anzulegen bzw. den Inhalt zu schreiben, wird die @LIST-Anweisung mit
Operand I mit einer entsprechenden Fehlermeldung abgewiesen.

Der Operand I ist nur im Dialogbetrieb erlaubt. Er ist nur dann sinnvoll,
wenn der eingestellte Standarddrucker in der Lage ist, den Zeichensatz, in
dem die Ausgabe erfolgt, korrekt darzustellen.

Wird I nicht angegeben, so wird nach SYSLST ausgegeben. Falls SYSLST
keiner Datei zugeordnet ist, wird dann mit dem Ausdrucken erst nach
/LOGOFF begonnen. Falls SYSLST einer Datei zugeordnet ist, muss der
Anwender den Ausdruck selbst veranlassen.

S

Unterdrückt den zusätzlichen Zeilenvorschub, der üblicherweise vor der
ersten ausgegebenen Zeile erfolgt.

Wird weder lines noch svars angegeben, wird die gesamte aktuelle Arbeitsdatei ausgegeben.

Ist weder P noch C angegeben, erzeugt der EDT Vorschubsteuerzeichen wie bei P, wobei der zuletzt mit der Anweisung @LIST oder @PAGE eingestellte Wert für die Seitengröße verwendet wird.

Erzeugt der EDT die Vorschubsteuerzeichen, so berücksichtigt er die eingestellte oder angegebene Seitengröße und erzeugt normalerweise vor jeder ersten Zeile eines Bereiches einen zusätzlichen Zeilenvorschub. Dies unterbleibt nur, bei Angabe des Operanden S oder wenn die Ausgabe dieser Zeile an einem Seitenanfang geschieht. Die Ausgaben werden nach Ausgabe von jeweils 132 Zeichen (bzw. 160 Zeichen, wenn Auftragsschalter 6 gesetzt ist) umgebrochen.

Bei der Ausgabe von Bereichen einer Arbeitsdatei werden diese vom Zeichensatz der Arbeitsdatei in den Zeichensatz von SYSLST bzw. den Zeichensatz der temporären Datei (siehe Beschreibung des Operanden I) umcodiert. Bei der Ausgabe von Bereichen von Zeichenfolgevariablen wird jede Zeichenfolgevariable von dem ihr zugeordneten Zeichensatz in den Zeichensatz von SYSLST bzw. den Zeichensatz der temporären Datei (siehe Beschreibung des Operanden I) umcodiert. Werden dabei Zeichen gefunden, denen im Ziel-Zeichensatz kein gültiges Zeichen entspricht, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls werden dafür Leerzeichen eingesetzt.

Die EBCDIC- und ASA-Vorschubsteuerzeichen im BS2000 stellen in jedem verwendeten 8-Bit- oder Unicode-Zeichensatz gültige Zeichen dar, sind also im EDT editierbar, wenn auch nicht immer darstellbar. Das gilt insbesondere für die vom EDT interpretierten bzw.

eingefügten Vorschubsteuerzeichen (siehe Operanden C bzw. P). Folglich werden einige Vorschubsteuerzeichen als Unicode-Zeichen mit mehr als einem Byte codiert (siehe Tabelle unten).

Das BS2000-Subsystem SPOOL wandelt für Druckdateien (z.B. SYSLST), die in einem Unicode-Zeichensatz vorliegen, das Vorschubsteuerzeichen aus dem Unicode-Zeichensatz der Druckdatei nach EDF041 um und interpretiert das erhaltene Zeichen wie es im Handbuch Kommandos Band 3 [10] bei der Beschreibung des Kommandos /PRINT-DOCUMENT erläutert ist.
Die Umcodierung findet nur statt, wenn die Datei mit
LINE-SPACING=*BY-EBCDIC-CONTROL oder LINE-SPACING=*BY-ASA-CONTROL
gedruckt wird. Für Dateien, die mit LINE-SPACING=*BY-IBM-CONTROL gedruckt werden sollen, findet keine Umcodierung statt. Bei diesen Dateien sind die Vorschubsteuerzeichen meist keine gültigen Unicode-Zeichen, so dass solche Dateien mit dem EDT nicht bearbeitet werden können. Liegt die Druckdatei in einem 7-Bit- oder 8-Bit-Zeichensatz vor, interpretiert SPOOL das Vorschubsteuerzeichen ohne vorherige Umcodierung wie bisher.

Für die vom EDT interpretierten bzw. generierten EBCDIC-Vorschubsteuerzeichen sei hier die Codierung in verschiedenen Zeichensätzen angegeben:

UTF16

UTF8

UTFE

EDF041

Zeichen


0020

20

40

40


Kein Vorschub vor dem Drucken,
neue Zeile nach dem Drucken

00a0

c2a0

6741

41


Eine Zeile Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e2

c3a2

68b0

42

â

Zwei Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e4

c3a4

689f

43

ä

Drei Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e0

c3a0

6841

44

à

Vier Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e1

c3a1

68aa

45

á

Fünf Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e3

c3a3

68b1

46

ã

Sechs Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e5

c3a5

68b2

47

å

Sieben Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00e7

c3a7

68b5

48

ç

Acht Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

00f1

c3b1

688f

49

ñ

Neun Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

0060

60

4a

4a

`

Zehn Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

002e

2e

4b

4b

.

Elf Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

003c

3c

4c

4c

<

Zwölf Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem Drucken

0028

28

4d

4d

(

Dreizehn Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem
Drucken

002b

2b

4e

4e

+

Vierzehn Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem
Drucken

007c

7c

4f

4f

|

Fünfzehn Zeilen Vorschub vor dem
Drucken, neue Zeile nach dem
Drucken

0041

41

c1

c1

A

Seitenvorschub vor dem Drucken

Beim Interpretieren von Vorschubsteuerzeichen, akzeptiert der EDT zusätzlich die EBCDIC-Steuerzeichen x'00'..x'0F' (bzw. ihre Äquivalente in anderen Zeichensätzen) und interpretiert sie wie x'40'..x'4F'. Bei Ausgabe im Zeichensatz UTF8 oder UTFE generiert der EDT allerdings niemals Steuerzeichen, die mit mehr als einem Byte codiert sind, stattdessen generiert er die entsprechende Anzahl einfacher Zeilenvorschübe.

Wird die Anweisung mit [K2] unterbrochen und der EDT-Lauf mit /INFORM-PROGRAM fortgesetzt, so wird die Bearbeitung der Anweisung abgebrochen und die Meldung EDT5501 ausgegeben.

Hinweis

Die Systemdateien SYSLST und SYSOUT sollten nur dann Dateien oder Bibliothekselementen mit Unicode-Zeichensatz zugewiesen werden, wenn man sicher sein kann, dass nur der EDT Ausgaben in diese Dateien macht. Da andere Systemkomponenten den SYSLST bzw. SYSOUT zugeordneten Zeichensatz in der Regel nicht berücksichtigen, könnten andernfalls Dateien entstehen, die ungültige Zeichen enthalten.

Beispiel

6.     @PRINT
1.0000 MIT DER @LIST-ANWEISUNG
2.0000 KANN DER INHALT
3.0000 EINER ARBEITSDATEI
4.0000 IN VIELEN FORMATEN
5.0000 ZU PAPIER GEBRACHT WERDEN.
6.     @LIST --------------------------------------------------------- (1)
6.     @LIST 4-5 N --------------------------------------------------- (2)
6.     @LIST 4 :12-13 X ---------------------------------------------- (3)
6.     @LIST & I ----------------------------------------------------- (4)
(1)

Der komplette Inhalt der Arbeitsdatei soll nach SYSLST ausgegeben werden. Der (eventuell vom System veranlasste) Ausdruck wird erst nach LOGOFF angestartet.

Druckausgabe

1.0000 MIT DER @LIST-ANWEISUNG
2.0000 KANN DER INHALT
3.0000 EINER ARBEITSDATEI
4.0000 IN VIELEN FORMATEN
5.0000 ZU PAPIER GEBRACHT WERDEN.
(2)

Die Zeilen 4 bis 5 sollen ohne Zeilennummern nach SYSLST ausgegeben werden.

Druckausgabe

IN VIELEN FORMATEN

ZU PAPIER GEBRACHT WERDEN.

(3)

Die beiden Spalten 12 und 13 der Zeile 4 sollen in hexadezimaler Form nach SYSLST ausgegeben werden.

Druckausgabe

4.0000 D6D9

(4)

Alle Zeilen sollen sofort ausgedruckt werden.

Druckausgabe

Ist wie bei (1), jedoch erscheint zusätzlich die Systemmeldung:

% SCP0810 SPOOLOUT OF FILE 'XXX' ACCEPTED, TSN: 'XXX', PNAME: 'XXX'.

als Bestätigung, dass der Druckauftrag erteilt wurde.