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 |
cols | Spaltenbereich in der aktuellen Arbeitsdatei bzw. in den angegebenen Wird nur eine Spaltennummer angegeben, wird ab dieser Spalte der Rest Wird kein Spaltenbereich angegeben, wird die Zeile bzw. Zeichenfolgevariable |
X | Die Zeilen werden hexadezimal ausgedruckt. Das Ausgabeformat |
N | Die Zeilennummern bzw. die Nummern der Zeichenfolgevariablen werden |
C int | Der EDT erwartet jeweils als erstes Zeichen des ausgegebenen |
Für Wird | |
P int | Der EDT stellt jedem ausgegebenen Satz selbst ein EBCDIC Für |
| Mit dem Ausdrucken wird sofort begonnen. Das bedeutet, dass der EDT die Die temporäre Datei wird bei Ausgabe von Bereichen aus einer Arbeitsdatei |
Wenn der Anwender nicht die Erlaubnis hat, temporäre Dateien anzulegen Der Operand Wird | |
S | Unterdrückt den zusätzlichen Zeilenvorschub, der üblicherweise vor der |
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, | |
00a0 | c2a0 | 6741 | 41 | Eine Zeile Vorschub vor dem | |
00e2 | c3a2 | 68b0 | 42 | â | Zwei Zeilen Vorschub vor dem |
00e4 | c3a4 | 689f | 43 | ä | Drei Zeilen Vorschub vor dem |
00e0 | c3a0 | 6841 | 44 | à | Vier Zeilen Vorschub vor dem |
00e1 | c3a1 | 68aa | 45 | á | Fünf Zeilen Vorschub vor dem |
00e3 | c3a3 | 68b1 | 46 | ã | Sechs Zeilen Vorschub vor dem |
00e5 | c3a5 | 68b2 | 47 | å | Sieben Zeilen Vorschub vor dem |
00e7 | c3a7 | 68b5 | 48 | ç | Acht Zeilen Vorschub vor dem |
00f1 | c3b1 | 688f | 49 | ñ | Neun Zeilen Vorschub vor dem |
0060 | 60 | 4a | 4a | ` | Zehn Zeilen Vorschub vor dem |
002e | 2e | 4b | 4b | . | Elf Zeilen Vorschub vor dem |
003c | 3c | 4c | 4c | < | Zwölf Zeilen Vorschub vor dem |
0028 | 28 | 4d | 4d | ( | Dreizehn Zeilen Vorschub vor dem |
002b | 2b | 4e | 4e | + | Vierzehn Zeilen Vorschub vor dem |
007c | 7c | 4f | 4f | | | Fünfzehn Zeilen Vorschub vor dem |
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 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 Druckausgabe
|
(3) | Die beiden Spalten 12 und 13 der Zeile 4 sollen in hexadezimaler Form nach Druckausgabe
|
(4) | Alle Zeilen sollen sofort ausgedruckt werden. Druckausgabe Ist wie bei (1), jedoch erscheint zusätzlich die Systemmeldung:
als Bestätigung, dass der Druckauftrag erteilt wurde. |