Die Anweisung CONVERT übersetzt in Dateien oder Bibliothekselementen stehende ISP-Kommandos in SDF-Kommandos.
CONVERT |
FROM-FILE = <filename 1..54> / *LIBRARY-ELEMENT(...) *LIBRARY-ELEMENT(...) LIBRARY = <filename 1..54 without-gen-vers> ,ELEMENT = *ALL(...) / <composed-name 1..64>(...) / <filename 1..64 without-cat-gen-vers with-wild>(...) *ALL(...) VERSION = *HIGHEST-EXISTING / *ALL / <composed-name 1..24> / <filename 1..24 without-cat-gen-vers with-wild> <composed-name>(...) VERSION = *HIGHEST-EXISTING / *ALL / <composed-name 1..24> / <filename 1..24 without-cat-gen-vers with-wild> <filename>(...) VERSION = *HIGHEST-EXISTING / *ALL / <composed-name 1..24> / <filename 1..24 without-cat-gen-vers with-wild> ,TYPE = J / <alphanum-name 1..8> ,EXPECT-CONTINUATION = *STD / *NEW-MODE / *OLD-MODE ,PARAMETER-LINES = *CONVERT / *COPY-ONLY ,TO-FILE = *STD / <filename 1..54> / *LIBRARY-ELEMENT(...) *LIBRARY-ELEMENT(...) LIBRARY = <filename 1..54 without-gen-vers> ,ELEMENT = *SAME(...) / <composed-name 1..64>(...) *SAME(...) VERSION = *HIGHEST-EXISTING / *SAME / <composed-name 1..24> <composed-name>(...) VERSION = *HIGHEST-EXISTING / *SAME / <composed-name 1..24> ,TYPE = *SAME / <alphanum-name 1..8> ,PRODUCE-CONTINUATION = *STD / *NEW-MODE / *OLD-MODE ,REPLACE-OLD-FILE = *YES / *NO ,SYSTEM-SYNTAX-FILE = $.SYSSDF.SDF-CONV.210.USER.U-CMD / <filename 1..54> ,GROUP-SYNTAX-FILE = $.SYSSDF.SDF-CONV.210.USER.S-CMD / <filename 1..54> / *NO ,UNCHANGED-CMD = *NONE / list-poss(30): <structured-name 1..30> ,DOCUMENTATION = *NO / *MINIMUM / *MAXIMUM ,TARGET-VERSION = *CURRENT / *V10 / *V11 / *OSD-V1 / *OSD-V2 ,OUTPUT-FORM = *STD / *ACCEPTED-FORM / *INVARIANT-FORM(...) *INVARIANT-FORM(...) CONTEXT = *ALL / list-poss(3): *BATCH / *BATCH-PROC / *DIALOG-PROC ,PROCEDURE-FORMAT = *SAME (...) / *S-PROCEDURE(...) *SAME(...) BLOCK-INPUT = *NOT-ALLOWED / *ALLOWED *S-PROCEDURE(...) CMD-FORMAT = *SDF / *SAME ,PROGRAM-INPUT = *DATA(...) / *STMT(...) *DATA(...) EXCEPT-AFTER-CMD = *NONE / list-poss(30): <text 0..30> ,WARNING = *NO / *YES *STMT(...) EXCEPT-AFTER-CMD = *NONE / list-poss(30): <text 0..30> ,BLOCK-INPUT = *NOT-ALLOWED / *ALLOWED |
FROM-FILE =
Name(n) der zu übersetzenden SAM- oder ISAM-Datei bzw. des Elements oder der Elemente aus einer PLAM- oder OSM-Bibliothek (Eingabeprozedur).
Es werden auch Dateien und Bibliothekselemente auf NK4-Platten unterstützt.
FROM-FILE = <filename 1..54>
Name der zu übersetzenden SAM- oder ISAM-Datei.
FROM-FILE = *LIBRARY-ELEMENT(...)
Namen der Bibliothek und deren Element(e).
Ist die Bibliothek eine OSM-Bibliothek, so müssen ihre Elemente vom Typ S sein.
LIBRARY = <filename 1..54 without-gen-vers>
Name der Bibliothek, die das zu übersetzende Element bzw. die zu übersetzenden Elemente enthält.
ELEMENT =
Gibt den/die Namen des Bibliothekselements bzw. der Bibliothekselemente an.
ELEMENT = *ALL(...)
Alle Elemente der angegebenen Bibliothek sollen übersetzt werden. Die Angabe dieses Operandenwertes ist nur für Elemente einer PLAM-Bibliothek möglich.
VERSION =
Angabe der Elementversion.
VERSION = *HIGHEST-EXISTING
Standardmäßig wird die höchste Version verwendet.
VERSION = *ALL
Alle Versionen aller Elemente werden übersetzt. Die Angabe dieses Operandenwertes ist nur für Elemente einer PLAM-Bibliothek möglich.
VERSION = <composed-name 1..24>
Versionsnummer des Elements.
VERSION = <filename 1..24 without-cat-gen-vers with-wild>
Alle Versionen, die der angegebenen Musterzeichenfolge entsprechen, sollen übersetzt werden. Die Angabe dieses Operandenwertes ist nur für Elemente einer PLAM-Bibliothek möglich.
ELEMENT = <composed-name 1..64>(...)
Name des Bibliothekselements.
Ist die Bibliothek eine OSM-Bibliothek, sind die Namen der enthaltenen Elemente maximal 8 Zeichen lang. Werden für den Elementnamen mehr als 8 Zeichen eingegeben, so werden nur die ersten 8 Zeichen für die Auswahl des Elements herangezogen.
VERSION =
Für mögliche Angaben siehe Operand ELEMENT = *ALL(...).
ELEMENT = <filename 1..64 without-cat-gen-vers with-wild>(...)
Alle Elemente der Bibliothek, die der angegebenen Musterzeichenfolge entsprechen, sollen übersetzt werden. Die Angabe dieses Operandenwertes ist nur für Elemente einer PLAM-Bibliothek möglich.
VERSION =
Für mögliche Angaben siehe Operand ELEMENT = *ALL(...).
TYPE = J / <alphanum-name 1..8>
Bestimmt den Typ des Elements bzw. der Elemente der Eingabebibliothek.
Ist die Eingabebibliothek eine OSM-Bibliothek, muss TYPE=S angegeben werden.
EXPECT-CONTINUATION =
Stellung des Fortsetzungszeichens in der Eingabeprozedur.
EXPECT-CONTINUATION = *STD
Die Stellung des Fortsetzungszeichens entspricht der aktuellen SDF-Einstellung.
Die aktuelle SDF-Einstellung kann mit der Anweisung SHOW-SDF-OPTIONS ausgegeben und mit der Anweisung MODIFY-SDF-OPTIONS CONTINUATION=... geändert werden.
EXPECT-CONTINUATION = *NEW-MODE
Das Fortsetzungszeichen wird hinter dem letzten Zeichen der Zeile erwartet.
In S-Prozeduren können Kommandos und Anweisungen in Zeilen beliebiger Länge stehen. Die Position des Fortsetzungszeichens variiert dementsprechend.
In Nicht-S-Prozeduren muss das Fortsetzungszeichen vor Spalte 73 stehen.
EXPECT-CONTINUATION = *OLD-MODE
Das Fortsetzungszeichen wird genau in Spalte 72 erwartet.
PARAMETER-LINES =
Bestimmt, ob Kommandosätze, die Prozedurparameter enthalten oder in denen Jobvariablen ersetzt werden sollen, übersetzt werden.
PARAMETER-LINES = *CONVERT
Kommandosätze, die Prozedurparameter enthalten oder in denen Jobvariablen ersetzt werden sollen, werden übersetzt. Treten während der Übersetzung Fehler auf, werden die betroffenen Kommandosätze unverändert in die Ausgabeprozedur übernommen.
PARAMETER-LINES = *COPY-ONLY
Kommandosätze, die Prozedurparameter enthalten oder in denen Jobvariablen ersetzt werden sollen, werden unverändert in die Ausgabeprozedur übernommen. Diese Kommandosätze werden ungeachtet der eingestellten Dokumentationsart (Operand DOCUMENTATION) nicht kommentiert.
TO-FILE =
Name(n) der SAM-Datei bzw. des Elements oder der Elemente einer PLAM-Bibliothek, in die das Übersetzungsergebnis (Ausgabeprozedur) geschrieben werden soll.
TO-FILE = *STD
Wird kein Dateiname bzw. Bibliothekselement angegeben, erzeugt SDF-CONV standardmäßig eine SAM-Ausgabedatei mit dem Namen SYSCVR.tsn.yyyy.mm.dd.hh.mm.ss .
Der Name besteht aus dem Präfix SYSCVR, der Auftragsnummer tsn und der aktuellen Datum-/Zeitangabe. Diese Ausgabedatei ist somit einmalig und wird durch später generierte Ausgabedateien (unabhängig vom Operanden REPLACE-OLD-FILE) nicht überschrieben. Im geführten Dialog wird der generierte Standarddateiname angezeigt.
TO-FILE = <filename 1..54>
Name der Ausgabedatei, in die das Übersetzungsergebnis (Ausgabeprozedur) geschrieben werden soll. Ist keine Datei mit diesem Namen katalogisiert, wird eine SAM-Datei mit diesem Namen erzeugt. Eine bereits katalogisierte gleichnamige Datei muss durch den Operanden REPLACE-OLD-FILE = *YES zum Überschreiben freigegeben sein.
TO-FILE = *LIBRARY-ELEMENT(...)
Namen der PLAM-Bibliothek und deren Element(e).
LIBRARY = <filename 1..54 without-gen-vers>
Name der PLAM-Bibliothek, die das übersetzte Element bzw. die übersetzten Elemente enthalten soll.
ELEMENT =
Gibt den/die Namen des Bibliothekselements bzw. der Bibliothekselemente an.
ELEMENT = *SAME(...)
Der Name des Bibliothekselements entspricht jeweils dem beim Operanden FROM-FILE angegebenen Datei- oder Elementnamen.
VERSION =
Angabe der Elementversion.
VERSION = *HIGHEST-EXISTING
Standardmäßig wird die höchste Version verwendet.
VERSION = *SAME
Die Version des Ausgabe-Bibliothekelements entspricht der des Eingabe-Bibliothekelements bzw. der höchstmöglichen Version, wenn eine SAM- oder ISAM-Datei übersetzt werden soll.
VERSION = <composed-name 1..24>
Versionsnummer des Elements.
ELEMENT = <composed-name 1..64>(...)
Name des Bibliothekselements.
VERSION =
Für mögliche Angaben siehe Operand ELEMENT = *SAME(...)
TYPE = *SAME / <alphanum-name 1..8>/
Bestimmt den Typ des Elements bzw. der Elemente der Ausgabebibliothek.
Wurde beim Operanden FROM-FILE der Name einer SAM- oder ISAM-Datei angegeben, so ist das Element der Ausgabebibliothek automatisch vom Typ J.
PRODUCE-CONTINUATION =
Stellung des Fortsetzungszeichens in der Ausgabeprozedur.
Soll die Ausgabeprozedur eine S-Prozedur sein, wird sie in einem variablen Format angelegt. Fortsetzungszeichen werden - wie bei PRODUCE-CONTINUATION=*NEW-MODE beschrieben - gesetzt.
PRODUCE-CONTINUATION = *STD
Die Stellung des Fortsetzungszeichens entspricht der aktuellen SDF-Einstellung.
Die aktuelle SDF-Einstellung kann mit der Anweisung SHOW-SDF-OPTIONS ausgegeben und mit der Anweisung MODIFY-SDF-OPTIONS CONTINUATION=... geändert werden.
PRODUCE-CONTINUATION = *NEW-MODE
Das Fortsetzungszeichen wird hinter das letzte Zeichen der Zeile geschrieben.
PRODUCE-CONTINUATION = *OLD-MODE
Das Fortsetzungszeichen wird genau in Spalte 72 geschrieben.
REPLACE-OLD-FILE = *YES / *NO
Gibt an, ob eine bereits bestehende Ausgabedatei bzw. ein Bibliothekselement überschrieben werden darf (*YES) oder nicht (*NO).
SYSTEM-SYNTAX-FILE =
Name der (System-)Syntaxdatei zur Übersetzung der Benutzerkommandos.
SYSTEM-SYNTAX-FILE = $.SYSSDF-CONV.210.USER.U-CMD
Voreingestellte (System-) Syntaxdatei zur Übersetzung der Benutzerkommandos.
SYSTEM-SYNTAX-FILE = <filename 1..54>
Name der (System-)Syntaxdatei, die zur Übersetzung von Benutzerkommandos genutzt werden soll.
GROUP-SYNTAX-FILE =
Name der (Gruppen-)Syntaxdatei zur Übersetzung der privilegierten Kommandos.
GROUP-SYNTAX-FILE = $.SYSSDF-CONV.210.USER.S-CMD
Voreingestellte (Gruppen-)Syntaxdatei zur Übersetzung der privilegierten Kommandos.
GROUP-SYNTAX-FILE = <filename 1..54>
Name der (Gruppen-)Syntaxdatei, die zur Übersetzung von privilegierten Kommandos genutzt werden soll.
GROUP-SYNTAX-FILE = *NO
Eine Übersetzung der privilegierten Kommandos soll nicht stattfinden. Steht dem Benutzer keine (Gruppen-)Syntaxdatei zur Verfügung, muss *NO angegeben werden, um einen Abbruch der Übersetzung zu verhindern.
UNCHANGED-CMD =
Die Übersetzung eines oder mehrerer Kommandos kann unterdrückt werden. Trifft SDF-CONV auf ein solches Kommando, wird der Kommandosatz unverändert in die Ausgabeprozedur kopiert. In das Übersetzungsprotokoll wird zusätzlich eine Fehlermeldung mit dem Gewicht NOTE
geschrieben.
Es ist zu beachten, dass nur solche Kommandos als nicht zu übersetzende Kommandos erkannt werden, deren Schreibweise mit der beim Operanden UNCHANGED-CMD angegebenen Schreibweise übereinstimmt.
Beispiel
Um das Kommando ERASE von der Übersetzung auszuschließen, müssen alle seine (in der Eingabeprozedur) benutzten Schreibweisen angegeben werden. In diesem Fall z.B.: ERASE, ERAS, ER.
UNCHANGED-CMD = *NONE
Es sollen keine Kommandos von der Übersetzung ausgeschlossen werden.
UNCHANGED-CMD = list-poss(30): <structured-name 1..30>
Die angegebenen Kommandos werden von vornherein von der Übersetzung ausgeschlossen. Die Angabe von bis zu 30 Kommandos bzw. Kommandoschreibweisen ist möglich.Soll die Ausgabeprozedur eine S-Prozedur sein, wird das Kommando PROCEDURE auch dann gemäß einer S-Prozedur umgewandelt, wenn es bei UNCHANGED-CMD angegeben wurde.
DOCUMENTATION =
Inline-Kommentare in Kommandos der Eingabeprozedur gehen bei einer erfolgreichen Umwandlung der Kommandosprache verloren. Eine Ausnahme bilden solche Inline-Kommentare, die vor dem Kommandonamen stehen.
Die mit TO-FILE benannte Ausgabeprozedur kann nun zusätzliche Informationen in Form von Kommentarzeilen enthalten. Dabei ist die Menge dieser Informationen nicht allein vom Wert des Operanden DOCUMENTATION, sondern auch von der Einstellung des Operanden UNCHANGED-CMD abhängig (siehe Tabelle 7 (Ausgabeprozedur ): für Kommandos, die beim Operanden UNCHANGED-CMD angegeben wurden, werden keine zusätzlichen Kommentarzeilen generiert).
Prozedurparameter, die in den zusätzlich generierten Kommentarzeilen enthalten sind, werden nicht ersetzt.
DOCUMENTATION = *NO
Inline-Kommentare in Kommandos der Eingabeprozedur werden nicht in die Ausgabeprozedur übernommen.
DOCUMENTATION = *MINIMUM
Kommandosätze der Eingabeprozedur, die Inline-Kommentare enthalten oder aus mehr als einer Eingabezeile bestehen, werden zur Dokumentation in die Ausgabeprozedur übernommen. Sie stehen (als Kommentarzeile) vor den Zeilen mit der erzeugten Übersetzung.
Konnte der Kommandosatz nicht übersetzt werden, weil die Übersetzung kontext- oder laufzeitabhängig ist, wird in die Kommentarzeile ein Übersetzungsvorschlag geschrieben. Die Kommentarzeilen haben folgenden Aufbau:
/"*****" REMARK <kommandosatz der eingabeprozedur bzw. übersetzungsvorschlag>
Kommandosätze, die die Kommandos BEGIN-PROCEDURE, PROCEDURE, REMARK (aber nur in Nicht-S-Prozeduren), SET-PROCEDURE-OPTIONS, BEGIN-PARAMETER-DECLARATION, DECLARE-PARAMETER, END-PARAMETER-DECLARATION oder ihre garantierten Abkürzungen enthalten, sind von dieser Regelung ausgeschlossen.
DOCUMENTATION = *MAXIMUM
Alle Kommandosätze der Eingabeprozedur werden zusätzlich (als Kommentarzeile) vor die Zeile mit der erzeugten Übersetzung geschrieben. Konnte der Kommandosatz nicht übersetzt werden, weil die Übersetzung kontext- oder laufzeitabhängig ist, wird in die Kommentarzeile ein Übersetzungsvorschlag geschrieben.
Die Kommentarzeilen haben folgenden Aufbau
/"*****" REMARK <kommandosatz der eingabeprozedur bzw. übersetzungsvorschlag>
Kommandosätze, die die Kommandos BEGIN-PROCEDURE, PROCEDURE, REMARK (aber nur in Nicht-S-Prozeduren), SET-PROCEDURE-OPTIONS, BEGIN-PARAMETER-DECLARATION, DECLARE-PARAMETER, END-PARAMETER-DECLARATION oder ihre garantierten Abkürzungen enthalten, sind von dieser Regelung ausgeschlossen.
TARGET-VERSION =
Es wird festgelegt, in welcher BS2000-Version die Prozedur ablauffähig sein soll.
TARGET-VERSION = *CURRENT
Die übersetzte Prozedur soll unter der BS2000/OSD-Version ablauffähig sein, die zum Zeitpunkt der Übersetzung geladen ist.
TARGET-VERSION = *V10 / *V11 / *OSD-V1
Die übersetzte Prozedur soll in der entsprechenden BS2000- bzw. BS2000/OSD Version ablauffähig sein. In diesen Fällen werden bei der Übersetzung einiger Kommandos größere Einschränkungen gemacht, als bei der Übersetzung für BS2000/OSD V2 und höher.
Diese Angaben werden nur noch aus Kompatibilitätsgründen unterstützt.
TARGET-VERSION = *OSD-V2
Die übersetzte Prozedur soll ab BS2000/OSD-BC V2.0 ablauffähig sein. Diese Angabe ist äquivalent zu TARGET-VERSION = *CURRENT.
OUTPUT-FORM =
Bestimmt die Behandlung von optionalen Operanden (also Operanden mit voreingestellten Operandenwerten), die im Kommandosatz nicht explizit angegeben sind.
Unabhängig von OUTPUT-FORM werden alle angegebenen Operanden und Operanden-
werte in die entsprechenden (SDF-)Operanden und Operandenwerte übersetzt, soweit dies nicht eingeschränkt ist (z.B. durch die im Abschnitt „Einschränkungen“ aufgelisteten Einschränkungen oder mit dem Operanden UNCHANGED-CMD).
OUTPUT-FORM = *STD
Nicht angegebene ISP-Operanden und Operandenwerte werden bei der Übersetzung ignoriert, d.h., SDF-CONV übersetzt nur explizit angegebene ISP-Operanden und Operandenwerte in die entsprechenden SDF-Formen.
Zur Zeit der Ausführung der übersetzten Prozedur werden alle nicht angegebenen Operanden mit ihren Standardwerten besetzt.
Hinweis
Es ist möglich, Standardwerte in den Syntaxdateien zu ändern. Die Ergebnisse der Kommandoausführung können dann voneinander verschieden sein.
OUTPUT-FORM = *ACCEPTED-FORM
Alle angegebenen SDF-Operanden und Operandenwerte werden in ihren vollen Namen expandiert.
OUTPUT-FORM = *INVARIANT-FORM(...)
Auch nicht angegebene ISP-Operanden werden bei der Übersetzung durch ihre entsprechenden SDF-Formen ersetzt und mit ihren Standardwerten belegt.
Dabei ist zu beachten, dass nicht alle SDF-Kommandos mit ihren Operanden und deren Standardwerten unabhängig vom Tasktyp und von der Ablaufart (Aufruf direkt oder innerhalb einer (weiteren) Prozedur) ausführbar sind. In diesen Fällen ist es wichtig, die Umgebung (Tasktyp/Ablaufart) anzugeben, unter der die übersetzte Prozedur laufen soll, da es im Fehlerfall zum Programmabbruch kommt (Kontextabhängigkeit).
CONTEXT =
Dieser Operand erlaubt die Angabe der Umgebung, in der die übersetzte Prozedur laufen soll. Es werden dann diejenigen SDF-Operanden und Standardwerte generiert, die garantiert in der angegebenen Umgebung ablauffähig sind.
Es besteht weiter die Möglichkeit, bis zu drei verschiedene Umgebungen anzugeben, deren übereinstimmende Operanden und Standardwerte ersetzt werden. Nicht von allen angegebenen Umgebungen unterstützte Operanden oder Standardwerte werden nicht vorbelegt.
CONTEXT = *ALL
Die Kommandos werden um die Operanden und Standardwerte erweitert, die garantiert in allen möglichen Umgebungen ablauffähig sind. Mögliche Umgebungen sind in diesem Fall:
im Dialogbetrieb:
geführter Dialog
ungeführter Dialog
von der Datensichtstation aufgerufene Prozedur (DIALOG-PROC)
im Stapelbetrieb:
in der ENTER-Datei (BATCH)
in einer von der ENTER-Datei aufgerufenen Prozedur (BATCH-PROC)
CONTEXT = *BATCH
Die Ausgabeprozedur soll im (einfachen) Stapelbetrieb ablauffähig sein.
CONTEXT = *BATCH-PROC
Die Ausgabeprozedur soll in einer im Stapelbetrieb aufgerufenen Prozedur ablauffähig sein.
CONTEXT = *DIALOG-PROC
Die Ausgabeprozedur soll in einer im Dialog von der Datensichtstation aufgerufenen Prozedur ablauffähig sein.
PROCEDURE-FORMAT =
Bestimmt die Art der Übersetzung bzw. Umwandlung der Eingabeprozedur(en).
PROCEDURE-FORMAT = *SAME(...)
Das Prozedurformat der Eingabeprozedur(en) bleibt unverändert.
Die Kommandos der Eingabeprozedur(en) werden in SDF-Kommandos umgewandelt.
BLOCK-INPUT =
Bestimmt, wie die von SDF-CONV generierten SDF-Kommandos in die Ausgabeprozedur geschrieben werden.
In S-Prozeduren können mehrere Kommandos in eine Kommandozeile (als "Block" ) geschrieben werden. Dabei werden sie durch je ein Semikolon voneinander getrennt.In Nicht-S-Prozeduren existieren keine Kommandoseparatoren, d.h., jedes Kommando muss in eine eigene Zeile geschrieben werden.
BLOCK-INPUT = *NOT-ALLOWED
SDF-CONV schreibt jedes Kommando der Ausgabeprozedur in eine eigene Zeile.
BLOCK-INPUT = *ALLOWED
Generiert SDF-CONV zu einem ISP-Kommandos mehrere SDF-Kommandos, ist es möglich, diese fortlaufend in eine Kommandozeile zu schreiben. Die Angabe dieses Operandenwertes wird bei der Übersetzung von Kommandos aus Nicht-S-Prozeduren ignoriert.
Beispiel
aus aus | könnte werden könnte werden |
PROCEDURE-FORMAT = *S-PROCEDURE(...)
Die Eingabeprozedur soll in eine S-Prozedur umgewandelt werden. Dabei können die Kommandos der Eingabeprozedur wahlweise in SDF-Kommandos übersetzt werden (Operand CMD-FORMAT), Datenzeilen zu Anweisungszeilen umgewandelt werden (Operand PROGRAM-INPUT) und die Form der Ausgabeprozedur bestimmt werden (Operand BLOCK-INPUT).
CMD-FORMAT =
Gibt an, ob die Kommandos der Eingabeprozedur in SDF-Kommandos übersetzt werden sollen oder nicht.
CMD-FORMAT = *SDF
Die Kommandos der Eingabeprozedur sollen in SDF-Kommandos entsprechend den Einstellungen beim Operanden OUTPUT-FORMAT übersetzt werden.
Ist die Eingabeprozedur eine Nicht-S-Prozedur, so wird der Operand UNCHANGED-CMD für das Kommando PROCEDURE ignoriert.
CMD-FORMAT = *SAME
Die Kommandos der Eingabeprozedur bleiben unverändert.
Die Darstellungen der Prozedurparameter werden jedoch an die Vorgaben für eine S-Prozedur angepasst.
Beispiel
aus /FS &FILENAME
wird /FS &(FILENAME)
aus /REMARK Ersetzen von &LIB
wird /REMARK 'Ersetzen von &&(LIB)'
Hinweise
Jobvariablen-Ausdrücke werden folgendermaßen angepasst:
aus&(jobvariable)
wird&(JV(’jobvariable’))
Die Jobvariablen müssen in Kommando- und Anweisungszeilen mit dem Zeichen ’&’ beginnen. In Datenzeilen müssen sie ebenfalls mit ’&’ beginnen, durch die Angabe PROGRAM-INPUT=*STMT werden sie aber nicht als Daten, sondern als Anweisungen interpretiert.Prozedurparameter werden folgendermaßen angepasst:
aus&(procpar)
wird&(procpar)
Die Prozedurparameter müssen folgenden Bildungsregeln genügen:Sie müssen im Prozedurkopf ([BEGIN-]PROC-Zeile) deklariert werden.
In Kommando- und Anweisungszeilen müssen sie mit dem Zeichen ’&’ beginnen, in Datenzeilen mit dem bei SUBDTA= angegebenen Zeichen
Der Parametername darf maximal 20 Zeichen lang sein (Ausnahme: Stellungsparameter, sie werden von SDF-CONV automatisch gekürzt).
PROGRAM-INPUT =
Legt fest, ob bei der Umwandlung einer Nicht-S- in eine S-Prozedur Datenzeilen in SDF-Anweisungszeilen umgewandelt werden sollen oder nicht.
Während in S-Prozeduren alle Anweisungszeilen mit zwei Schrägstrichen beginnen
müssen, können in Nicht-S-Prozeduren Anweisungszeilen wie Datenzeilen angegeben werden, also ohne führende Schrägstriche.
In jedem Fall werden aber die Darstellungen der Prozedurparameter an die Vorgaben für eine S-Prozedur angepasst (siehe Beispiel zu CMD-FORMAT=*SAME).
PROGRAM-INPUT = *DATA(...)
Zeilen der Eingabeprozedur ohne führende Schrägstriche werden unverändert, also als Datenzeilen, in die Ausgabeprozedur geschrieben.
EXCEPT-AFTER-CMD =
Bestimmt, ob bei der Behandlung von Datenzeilen Ausnahmen gemacht werden sollen.
EXCEPT-AFTER-CMD = *NONE
Alle Datenzeilen werden unverändert in die Ausgabeprozeduren übernommen.
EXCEPT-AFTER-CMD = list-poss(30): <text 1..30>
Erlaubt, dass einzelne Datenzeilen ausnahmsweise zu SDF-Anweisungszeilen umgewandelt werden.
Eine Datenzeile wird dann in eine SDF-Anweisungszeile umgewandelt, wenn mindestens ein Element der angegebenen Liste in der letzten Kommandozeile vor der Datenzeile gefunden wird. Die Ausnahmebehandlung endet mit der nächsten Kommandozeile, die keines der angegebenen Elemente enthält.
WARNING = *NO / *YES
Bestimmt, ob eine Meldung mit dem Gewicht WARNING
ausgegeben werden soll (*YES) oder nicht (*NO), wenn SDF-CONV während der Umsetzung auf eine Datenzeile trifft.
PROGRAM-INPUT = *STMT(...)
Zeilen der Eingabeprozedur ohne führende Schrägstriche werden zu SDF-Anweisungszeilen umgewandelt. Dazu generiert SDF-CONV vor jede dieser Zeilen zwei Schrägstriche.
EXCEPT-AFTER-CMD =
Bestimmt, ob bei der Behandlung von Datenzeilen Ausnahmen gemacht werden sollen.
EXCEPT-AFTER-CMD = *NONE
Alle Datenzeilen werden zu SDF-Anweisungszeilen umgewandelt.
EXCEPT-AFTER-CMD = list-poss(30): <text 1..30>
Erlaubt, dass einzelne Datenzeilen nicht zu SDF-Anweisungszeilen umgewandelt, sondern unverändert in die Ausgabeprozedur geschrieben werden.
Eine Datenzeile wird dann unverändert übernommen, wenn mindestens ein Element der angegebenen Liste in der letzten Kommandozeile vor der Datenzeile gefunden wird. Die Ausnahmebehandlung endet mit der nächsten Kommandozeile, die keines der angegebenen Elemente enthält.
BLOCK-INPUT =
Bestimmt, wie die von SDF-CONV generierten SDF-Kommandos in die Ausgabeprozedur geschrieben werden.
In S-Prozeduren können mehrere Kommandos in eine Kommandozeile (als "Block") geschrieben werden. Dabei werden sie durch je ein Semikolon voneinander getrennt.In Nicht-S-Prozeduren existieren keine Kommandoseparatoren, d.h., jedes Kommando muss in eine eigene Zeile geschrieben werden.
BLOCK-INPUT = *NOT-ALLOWED
SDF-CONV schreibt jedes Kommando der Ausgabeprozedur in eine eigene Zeile.
BLOCK-INPUT = *ALLOWED
Generiert SDF-CONV zu einem ISP-Kommandos mehrere SDF-Kommandos, ist es möglich, diese fortlaufend in eine Kommandozeile zu schreiben (siehe Beispiel bei PROCEDURE-FORMAT=*SAME (BLOCK-INPUT=*ALLOWED).