Die Funktion READ bewirkt, dass SDF
eine Programmanweisung von SYSSTMT einliest (Für die Systemdatei SYSSTMT gilt die gleiche Zuweisung, die für die Systemdatei SYSDTA getroffen ist. Bezüglich Folgezeilen, Fortsetzungszeichen und Angabe von Bemerkungen gelten für die Anweisungseingabe von SYSSTMT die gleichen Regeln wie für die Kommandoeingabe von SYSCMD.)
die eingelesene Anweisung analysiert und
das Analyseergebnis an das Programm übergibt.
Voraussetzung ist, dass eine aktivierte Syntaxdatei die Definition des Programms und seiner Anweisungen enthält. Eine detaillierte Erläuterung finden Sie beim Makro RDSTMT (RDSTMT Anweisung lesen und analysieren).
Aufruf
CALL SDF('READ',area,error[,msg[,allow[,prefer[,default1,...]]]])
Beschreibung der Parameterliste
Parameter | Datentyp | Ein-/ | Bedeutung |
READ | char(4) | in | Funktionsname: Schlüsselwort READ |
area | char() | inout | Puffer zum Anlegen des normierten Übergabereiches (siehe INIT) |
error | integer | out | Returncode |
msg | V-rec@ | in | Adresse eines Satzes mit variabler Satzlänge, der den Text einer Meldung enthält, die vor dem Lesen der |
allow | ptr | in | Adresse einer Struktur, die die Liste der zulässigen Anweisungen enthält 1) |
prefer | char(8) | in | nur im geführten Dialog: interner Name der Anweisung, die als nächste erwartet wird |
default1, | char() | in | Liste von bis zu 5 Umsetzbeschreibungen, mit denen Default-Werte von Operanden durch vom Programm dynamisch erzeugte Werte ersetzt werden sollen 2) |
1)Format der Liste der zulässigen Anweisungen:
N | anweisung1 | anweisung2 | ..... | anweisungn |
N | (2 Byte): | Anzahl der Anweisungen in der Liste |
2)Mit Hilfe von Umsetzbeschreibungen können Default-Werte von Operanden, die mit ADD-VALUE ...,VALUE=<c-string>...(OVERWRITE-POSSIBLE=*YES) bzw. ADD-OPERAND ...,OVERWRITE-POSSIBLE=*YES in der Syntaxdatei definiert sind, durch vom Programm dynamisch erzeugte Werte ersetzt werden. Je Anweisung kann nur eine Umsetzbeschreibung angegeben werden. Die Umsetzbeschreibung enthält u.a. den internen Anweisungsnamen und die Information, welche Operandenwerte wie umzusetzen sind. Eine Umsetzbeschreibung kann entweder durch einen vorhergehenden READ-Aufruf oder durch einen TRNS-Aufruf, bei dem die neuen Werte eingetragen sind, erzeugt werden. Sie hat das Format eines normierten Übergabebereiches.
Der Puffer „area“ enthält Verweise auf absolute Adressen. Es ist deshalb nicht möglich, ihn in einen anderen Speicherbereich zu kopieren und dort auszuwerten.
Wird für die Parameter msg, allow und prefer ein Nullwert eingegeben (Adresse=0 oder leere Zeichenkette), so wird der entsprechende Wert ignoriert.
Ignoriert werden:
ein bei prefer angegebener Anweisungsname, der mit einem Leerzeichen „“ beginnt,
ein bei msg angegebener Satz mit der Länge 0,
eine bei allow angegebene Liste mit 0 Elementen.
Der Makro RDSTMT wird mit folgenden Default-Werten aufgerufen:
PROT=*YES
BUFFER=*NO
INVAR=*NO
SPIN=*NO
ERRSTMT=*STEP
CALLID=*NO
CCSNAME=*NO