Die Kurzanweisung T
übergibt die angegebene Zeile evtl. gemeinsam mit Fortsetzungszeilen (im Sinne von SDF) zur Kontrolle der Kommando- oder Anweisungssyntax an die Systemkomponente SDF.
Ist die SDF-Option GUIDANCE=MIN|MED|MAX
eingestellt, wird bei einer fehlerhaften SDF-Syntax in den geführten Korrektur-Dialog von SDF übergegangen.
Bricht der Anwender den Korrektur-Dialog ab oder ist ein solcher nicht möglich, wird die Zeile überschreibbar an der obersten Fensterposition angezeigt und wie bei der Anweisung @SDFTEST eine Fehlermeldung ausgegeben.
Ist die SDF-Syntax korrekt bzw. wurde sie korrigiert, wird der Text in die Arbeitsdatei aufgenommen. Das Format, in dem die Anweisung übernommen wird, wird durch die SDF-Option LOGGING
bestimmt (siehe Beschreibung des Kommandos /MODIFY-SDF-OPTIONS
).
Es gelten die aktuellen SDF-Einstellungen, die mit /MODIFY-SDF-OPTIONS
verändert werden können.
Kurzanweisung | Taste |
T | [DUE] oder [F2] |
Der EDT unterscheidet 3 Arten von Satzinhalten:
Sätze, die mit einem (nur einem)
'/'
in Spalte 1 beginnen:Sie werden gemäß der SDF-Syntaxdatei-Hierarchie auf Kommando-Syntax geprüft. Die Zulässigkeit bezüglich Privilegien oder Systemumgebung ist durch den aktuellen Benutzer und die aktuelle Umgebung bestimmt.
Sätze, die mit
'//'
beginnen:Diese werden an SDF zur Anweisungsüberprüfung übergeben. Der externe oder interne Programmname muss durch die Anweisung @PAR SDF-PROGRAM voreingestellt sein, andernfalls wird die Kurzanweisung mit der Meldung
EDT5320
zurückgewiesen. Der Programmname muss zudem in einer aktuellen SDF-Syntaxdatei bekannt sein. Andernfalls wird die Kurzanweisung mit der MeldungEDT5321
zurückgewiesen.sonstige Datenzeilen:
Die Angabe von
T
wird für sonstige Datenzeilen ignoriert.
Zeilen, die mit '/'
oder '//'
beginnen und als letztes Zeichen ein Fortsetzungszeichen ('–')
enthalten, werden mit der Folgezeile, sofern diese ebenfalls mit '/'
bzw. '//'
beginnt, verkettet und bei der Bearbeitung der Kurzanweisung T
gemeinsam an SDF übergeben. In Fortsetzungszeilen müssen keine T
-Kurzanweisungen angegeben werden; die Angabe in der ersten Zeile genügt.
Das geprüfte Kommando bzw. die Anweisung überschreibt das alte Kommando bzw. die Anweisung inklusive aller Folgezeilen in der Arbeitsdatei. Wenn das Kommando bzw. die Anweisung bei der Prüfung durch SDF verändert wurde (z.B. weil in einem vorangegangenen /MODIFY-SDF-OPTIONS
-Kommando LOGGING=INVARIANT
eingestellt wurde), werden die betroffenen Zeilen neu formatiert und evtl. in mehrere Fortsetzungszeilen aufgeteilt. Das Fortsetzungszeichen wird in der 72. Spalte gesetzt.
Wenn nötig, werden die nachfolgenden Zeilen umnummeriert. Die Vergabe der Zeilennummern erfolgt dabei nach dem Verfahren „Einfügen zwischen zwei Zeilen“ (siehe Abschnitt „Zeilennummernvergabe“). Können die von SDF erzeugten Zeilen nicht eingefügt werden, wird die Bearbeitung der Kurzanweisung mit der Meldung EDT5365
abgebrochen.
Enthält ein geprüftes Kommando bzw. eine Anweisung Fehler und wird kein erfolgreicher Korrekturdialog geführt, so gibt der EDT die Meldung EDT4310
aus und bricht die Überprüfung ab, d.h. nachfolgende markierte Kommandos und Anweisungen werden nicht mehr geprüft.
Hat die Arbeitsdatei mit den zu prüfenden Zeilen einen anderen Zeichensatz als EDF03IRV
muss man Besonderheiten beim Umgang mit SDF beachten, insbesondere sind Zeichen die nicht zum EBCDIC-Kern gehören natürlich nur in Literalen oder Kommentaren zulässig. Darüber hinaus führt SDF einen Korrekturdialog immer in dem mit /MODIFY-TERMINAL-OPTIONS
eingestellten Zeichensatz und interpretiert die ihm übergebenen Byte-Sequenzen auch immer in diesem Zeichensatz.
Daher konvertiert der EDT die Anweisungen oder Kommandos vor Übergabe an SDF in den mit /MODIFY-TERMINAL-OPTIONS
eingestellten Zeichensatz, falls der aktuell eingestellte GUIDANCE-MODE
einen Korrekturdialog ermöglicht. Gelingt das nicht, wird die T
-Kurzanweisung mit der Meldung EDT5327
abgebrochen.
Ist kein Korrekturdialog möglich, konvertiert der EDT nach anderen (großzügigeren) Regeln. Hat die Arbeitsdatei einen EBCDIC-Zeichensatz, wird dieser ohne Konvertierung benutzt. Hat die Arbeitsdatei einen ISO-Zeichensatz, wird der entsprechende EBCDIC-Referenzzeichensatz verwendet. In allen anderen Fällen verwendet der EDT den Zeichensatz UTFE
. Ist die Konvertierung nicht möglich, wird die T
-Kurzanweisung mit der Meldung EDT5453
abgebrochen.
Wenn SDF Daten zurückliefert, werden diese wieder in den Zeichensatz der Arbeitsdatei umgewandelt. Ist das nicht möglich, wird die T
-Kurzanweisung mit der Meldung EDT5453
abgebrochen.
Hinweis
Bei GUIDANCE=EXPERT
werden von SDF gemeldete Fehler von EDT nur in Form der Meldung EDT4310
angezeigt. Zur genaueren Fehleranalyse empfiehlt es sich, GUIDANCE=MIN, MED
oder MAX
einzustellen.
Kennwörter und andere Operanden, die mit OUTPUT=SECRET-PROMPT
definiert wurden, werden bei GUIDANCE
-Einstellung MIN, MED
oder MAX
durch P
ersetzt.
Fehlerhafte Operanden bei ISP-Kommandos werden von SDF nicht erkannt.
Ist mit /MODIFY-TERMINAL-OPTIONS
der Zeichensatz UTFE
eingestellt, ist das Bildschirmlayout beim Korrekturdialog von SDF verschoben, wenn Zeichen vorkommen, die außerhalb von EDF03IRV
liegen. Das liegt daran, dass SDF derzeit Unicode nicht unterstützt, stellt aber normalerweise keine funktionelle Einschränkung dar.
Ein Kommando oder eine Anweisung darf sowohl bei der Ein- als auch bei der Ausgabe eine maximale Länge von 16379 Byte nicht übersteigen. Andernfalls wird die Kurzanweisung T
mit der Meldung EDT5325
bzw. EDT5326
abgebrochen.
Beispiel 1
Es wird für SDF die EXPERT-Form des ungeführten Dialogs eingestellt.
Die Zeilen 1.00 bis 8.00 sollen durch SDF auf richtige SDF-Syntax geprüft werden.
Es wird auf die erste Zeile des fehlerhaften Kommandos positioniert und die Zeilen des Kommandos werden überschreibbar ausgegeben.
Beispiel 2
Es wird für SDF der geführte Dialog mit minimaler Hilfe eingestellt.
Die Zeilen 1.00 bis 8.00 sollen durch SDF auf richtige SDF-Syntax geprüft werden.
Es wird in den geführten Fehler-Dialog von SDF übergegangen.
Der Benutzer korrigiert den Fehler.
Die Zeilen 2.00
bis 4.00
werden durch die Zeilen 2.00
bis 3.00
ersetzt und neu formatiert.