Die Anweisung @PRINT gibt den Inhalt der angegebenen Zeilenbereiche bzw. von Zeichenfolgevariablen aus. Im Dialogbetrieb erfolgt die Ausgabe nach SYSOUT
, im Stapelbetrieb nach SYSLST
.
In den Operandenbeschreibungen wird zur Vereinfachung meist nur von Zeilen bzw. Zeilenbereichen gesprochen. Die Aussagen gelten jedoch auch für Zeichenfolgevariablen bzw. Bereiche von Zeichenfolgevariablen, wenn nicht explizit auf Abweichungen hingewiesen wird.
Operation | Operanden | F-Modus, L-Modus |
[ { lines | svars } [:cols[:] ] [X] [N] [S] [ {V | E} ] ] [,...] |
lines svars cols | Zeilenbereich, der ausgegeben werden soll. Bereich von Zeilchenfolgevariablen, deren Inhalt ausgegeben werden soll. Spaltenbereich der Arbeitsdatei oder der Zeichenfolgevariablen, der Wird nur eine Spaltennummer angegeben, wird ab dieser Spalte der Rest Wird kein Spaltenbereich angegeben, werden die gesamten Zeilen bzw. |
X | Die Ausgabe erfolgt in hexadezimaler Form. Pro Zeichen werden zwei bis |
N | Unterdrückt die Zeilennummern bzw. die Bezeichnung der Zeichenfolgevariablen |
S | Bei Ausgabe auf |
V, E | Die Operanden Die Operanden sind nur beim Arbeiten am Bildschirm sinnvoll und werden Bei Angabe von Im Gegensatz dazu wird bei Angabe von Wurde ein weiterer Bereich mit Operand Wird weder |
Wird kein Operand angegeben, wird die ganze aktuelle Arbeitsdatei abschnittsweise (wie bei Angabe von E
) ausgegeben.
Der Inhalt des angegebenen Zeilenbereichs wird zeilenweise mit oder ohne vorangestellte Zeilennummer (siehe Operand N
) ausgegeben. Ist SYSOUT
im Dialogbetrieb einer Datensichtstation zugewiesen, werden die einzelnen Zeilen durch das Zeichen [LZE] (logisches Zeilenende) voneinander getrennt.
Es können mehrere auszugebende Bereiche mit eigenen Ausgabeoptionen durch Komma getrennt angegeben werden. Die Anzahl der Bereichsangaben ist nur durch die maximal erlaubte Länge einer EDT-Anweisung begrenzt.
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.
Wird im Dialogbetrieb abschnittsweise ausgegeben, fordert der EDT nach der Ausgabe eines Abschnitts (Dateiabschnitt oder Folge von Zeichenfolgevariablen) eine Blättereingabe, mit der abgebrochen oder positioniert werden kann. Dabei kann der durch lines
bzw. svars
festgelegte Bereich auch verlassen werden. Die folgenden Blättereingaben sind möglich:
[DUE] | Die leere Eingabe beim Blättern bewirkt den Übergang zum nächsten (also |
* | Es wird zunächst zum E -Modus gewechselt und der aktuelle Bereich (falls verändert) wieder auf den in der Anweisung angegebenen Bereich zurückgesetzt.Dann wird zum nächsten (also den dem zuletzt ausgegebenen Abschnitt unmittelbar folgenden) Abschnitt der Ausgabe übergegangen, es sei denn, die zuletzt ausgegebene Zeile ist die letzte Zeile des angegebenen Bereiches oder liegt bereits oberhalb des angegebenen Bereiches (durch + möglich). Im diesem Fall wird zum nächsten angegebenen Bereich übergegangen bzw. die Ausgabe beendet. |
+ | Es wird zunächst zum Dann wird der Abschnitt ausgegeben, der dem zuletzt ausgegebenen |
+n | Es wird zunächst zum |
- | Es wird als aktueller Bereich unabhängig von der Angabe im Operanden lines bzw. svars der Bereich 0.0001-9999.9999 bei Zeilen bzw. #S01-#S20 bei Zeichenfolgevariablen eingestellt (Achtung, es wird nicht wie bei + in den V -Modus gewechselt).Dann wird der Abschnitt ausgegeben, der unmittelbar vor dem zuletzt ausgegebenen steht. Nach Erreichen der ersten Zeile der Arbeitsdatei bzw. der ersten Zeichenfolgevariablen ( #S00 ) führen weitere Eingaben von - nur zur Ausgabe des mit der ersten Zeile beginnenden Abschnitts, verbunden mit der Aufforderung zur Blättereingabe. |
–n | Es wird als aktueller Bereich unabhängig von der Angabe im Operanden |
0 | Beendet die Ausgabe des aktuellen Bereiches. Wurden in der @PRINT- |
Passt bei abschnittsweiser Ausgabe eine lange Zeile nicht mehr auf den Bildschirm, wird der Abschnitt vor dieser Zeile beendet (falls er bereits Zeilen enthält) auch wenn der Bildschirm damit nicht ausgeschöpft wird. Ist bereits die erste Zeile eines Abschnitts länger als der Bildschirm erlaubt, dann wird diese Zeile als ein Abschnitt allein ausgegeben.
Die Ausgabe der Zeile wird im Dialogbetrieb nur unterbrochen, wenn die Überlaufkontrolle des Betriebssystems eingeschaltet ist.
Alle Ausgaben werden vom Zeichensatz der Arbeitsdatei bzw. der Zeichenfolgevariablen in den Zeichensatz von SYSOUT
bzw. SYSLST
konvertiert.
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 Ausgaben nach SYSLST
werden nach Ausgabe von jeweils 132 Zeichen (bzw. 160 Zeichen, wenn Auftragsschalter 6 gesetzt ist) umgebrochen. Die Ausgaben nach SYSOUT
werden so umbrochen, wie die Makros WROUT
bzw. WRTRD
es erfordern. Es wird aber immer an einer Zeichengrenze umbrochen.
Hinweis
Anders als im Kompatibilitäts-Modus wird die Eingabe eines Kommandos an der Aufforderung zur Blättereingabe immer abgelehnt und mit erneuter Ausgabe der Aufforderung zum Blättern quittiert. Um ein Kommando einzugeben muss also @PRINT immer erst durch Eingabe von 0
beendet werden.
Die Ausgaben von @PRINT werden im Dialogbetrieb entweder mit WROUT
oder mit WRTRD
erzeugt, bei @PRINT...E sogar gemischt. Eine Umlenkung von SYSOUT
in eine Datei macht daher im Dialog nur bedingt Sinn, insbesondere auch wegen der im Abschnitt „Systemdateien“ beschriebenen Zeichensatz-Problematik.