Mit dem Format 4 der @CREATE-Anweisung wird von der Datensichtstation oder von SYSDTA
eine Zeichenfolge gelesen und einer Zeichenfolgevariablen zugewiesen.
Operation | Operanden | L-Modus |
@CREATE | svarex READ [string[,...]] [,CODE = name] |
svarex string | Zeichenfolgevariable, die neu angelegt werden soll. Eine oder mehrere Zeichenfolgen, die in der angegebenen Reihenfolge Ist |
name | Zeichensatz, der für die angegebene Zeichenfolgevariable eingestellt |
Im Dialogbetrieb wird an der Datensichtstation die aus den Operanden gebildete Eingabeaufforderung ausgegeben und eine Zeichenfolge gelesen. Überschreitet die aus den Operanden gebildete Eingabeaufforderung die maximale Länge von 32763 Bytes, wird auf die maximale Länge abgeschnitten und die Fehlermeldung EDT2402
ausgegeben. Ist string
nicht angegeben, wird eine Zeichenfolge von SYSDTA
statt von der Datensichtstation gelesen.
Im Stapelbetrieb wird string
ignoriert und eine Zeichenfolge immer von SYSDTA
gelesen.
Die maximale Länge der gelesenen Zeichenfolge hängt vom Eingabe-Medium ab.
Ist der CODE
-Operand nicht angegeben, dann werden der Zeichenfolgevariablen der Inhalt der Zeichenfolge und der Kommunikationszeichensatz als Zeichensatz zugewiesen.
Ist der CODE
-Operand angegeben, so wird der Zeichenfolgevariablen dieser Zeichensatz zugewiesen und die gelesene Zeichenfolge vor dem Zuweisen in den Zeichensatz name
konvertiert. Enthält die einzufügende Zeichenfolge Zeichen, die im Zeichensatz name
nicht darstellbar sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls wird die @CREATE-Anweisung abgewiesen und die Fehlermeldung EDT5453
ausgegeben.
Die Eingabe von [F1] ohne Text an einer Datensichtstation bewirkt, dass die angegebene Zeichenfolgevariable als leere Zeichenfolgevariable neu angelegt wird. Eine leere Eingabe, die mit [DUE] oder einer anderen Funktionstaste gesendet wird, wird ignoriert und führt zur erneuten Ausgabe der Eingabeaufforderung.
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.
Beispiel 1
6. @PRINT 1.0000 HALLO 2.0000 KEINER VERLAESST 3.0000 DEN RAUM 4.0000 ZEILE 5.0000 SOLL DENN AUSGEGEBEN 6. @SET #S1 = ' WERDEN *** ' 6. @PROC 1 1. @ @CREATE #S2 READ '*** WELCHE ',4,5,#S1 ---------------------- (1) 2. @ @SET #L2 = SUBSTR #S2 --------------------------------------- (2) 3. @ @PRINT #L2 4. @END 6. @DO 1 *** WELCHE ZEILE SOLL DENN AUSGEGEBEN WERDEN *** 2 ---------------------- (3) 2.0000 KEINER VERLAESST 6.
(1) | Über @CREATE...READ soll die Zeichenfolgevariable |
(2) | Die Eingabe wird interpretiert und in der Zeilennummervariablen #L2 abgelegt. |
(3) | Die über die Datensichtstation ausgegebene Anfrage wird beantwortet. |
Beispiel 2
@CREATE #S01 READ 'MUELLER ODER MÜLLER ?'
An der Datensichtstation wird die Eingabeaufforderung 'MUELLER ODER MÜLLER ?'
ausgegeben und eine Zeichenfolge eingelesen. Der Zeichenfolgevariablen werden der Kommunikationszeichensatz als Zeichensatz und der Inhalt der gelesenen Zeichenfolge zugewiesen.
@CREATE #S02 READ 'WOHNHAFT IN GÜNZBURG ODER DONAUWÖRTH ?',CODE=EDF041
Für die Zeichenfolgevariable #S02
wird der Zeichensatz EDF041
vereinbart. An der Datensichtstation werden die Eingabeaufforderung ' WOHNHAFT IN GÜNZBURG ODER DONAUWÖRTH ?'
ausgegeben und eine Zeichenfolge eingelesen. Diese wird in den Zeichensatz EDF041
konvertiert und der Zeichenfolgevariablen #S02
zugewiesen.