Kommando- und Anweisungsdefinitionen bestehen aus
einer kommando- bzw. anweisungsglobalen Definition (Kopf),
einer Definition für jeden Operanden und
einer Definition für jeden Operandenwert (Eingabealternative).
Bild 5: Darstellung einer Kommando- bzw. Anweisungsdefinition als Baum
Für jeden Operanden muss mindestens ein Operandenwert definiert sein. Das gilt auch für den Fall, dass ein Operand mit einem Default-Wert an der Benutzeroberfläche des Kommandos bzw. der Anweisung ausgeblendet ist. Hängt an einem Operandenwert eine Struktur (siehe „Fachwörter“), so ist diese global in der Definition des Operandenwerts beschrieben. Zusätzlich gibt es
für jeden einzelnen Operanden der Struktur eine Definition und
für jeden Wert, der zu einem dieser Operanden gehört, eine Definition.
Abgeschlossen wird die Struktur mit der Anweisung CLOSE-STRUCTURE.
Mit der Anweisung CLOSE-CMD-OR-STMT wird die Kommando- bzw. Anweisungsdefinition abgeschlossen.
Anweisungen an SDF-A können mit Kommentaren versehen werden; diese müssen in Anführungszeichen (") stehen.
Bild 6: Folge der SDF-A-Anweisungen, mit denen die in Bild 5 gezeigte Definition erstellt wird
Eine Kommando- oder Anweisungsdefinition können Sie
neu erstellen,
ändern,
löschen oder
auf SYSOUT oder SYSLST ausgeben.
Das Gleiche können Sie mit der Definition eines Operanden oder Operandenwerts tun.
Wenn Sie eine Kommando- oder Anweisungsdefinition neu erstellen, so müssen Sie nicht unbedingt auch alle zugehörigen Operanden- und Operandenwertdefinitionen neu erstellen. Häufig können Sie auf vorhandene Operanden- bzw. Operandenwertdefinitionen zurückgreifen, die Sie in die neu zu erstellende Kommando- bzw. Anweisungsdefinition kopieren (siehe COPY). Die vorhandene Definition muss nicht unbedingt exakt die benötigte Definition sein. Wenn sich eine vorhandene Definition nur geringfügig von der benötigten unterscheidet, so ist es sinnvoll, sie zu kopieren und anschließend die Kopie entsprechend zu ändern (siehe unten).
Folgendes Verfahren zur Neuerstellung einer Kommando- oder Anweisungsdefinition ist sinnvoll:
1. Schritt
Festlegung des Kommando- bzw. Anweisungsgerüsts (Kommando- bzw. Anweisungsname, Operanden, Operandenwerte, Strukturen) mit sehr einfachen ADD-Anweisungen, die nur wenige Angaben (Standardwerte) enthalten.
2. Schritt
Ausgabe der vorläufigen Kommando- bzw. Anweisungsdefinition mit der SHOW-Anweisung und Überprüfung.
3. Schritt
Vervollständigung der vorläufigen Kommando- bzw. Anweisungsdefinition mit MODIFY-Anweisungen im geführten Dialog (Einbringen von Hilfetexten und Implementierungsangaben). SDF-A führt dabei durch den Kommando- bzw. Anweisungsbaum.
Sie ändern eine Kommando- oder Anweisungsdefinition, indem Sie entweder die globale Definition ändern (siehe MODIFY-CMD bzw. MODIFY-STMT) oder Operanden- bzw. Operandenwertdefinitionen
hinzufügen durch Neuerstellen (siehe ADD-OPERAND bzw. ADD-VALUE) oder durch Kopieren (siehe COPY),
ändern (siehe MODIFY-OPERAND bzw. MODIFY-VALUE) oder
löschen (siehe REMOVE).
Das Hinzufügen oder Ändern von Operanden- bzw. Operandenwertdefinitionen erfordert, dass Sie zuvor explizit mit der Anweisung EDIT oder implizit bei der vorangegangenen Bearbeitung auf die zu bearbeitende Stelle in der Kommando- bzw. Anweisungsdefinition positionieren.
Das Löschen einer Kommando- oder Anweisungsdefinition geschieht mit der Anweisung REMOVE.
Das Sperren eines Kommandos, einer Anweisung, eines Programms, eines Operanden oder eines Operandenwerts geschieht ebenfalls mit der Anweisung REMOVE. Eine systemweite Sperre wird in der Basis-Systemsyntaxdatei definiert. Kommandos, die durch System-Module implementiert sind, sowie Operanden und Operandenwerte dieser Kommandos lassen sich auch kennungsspezifisch in einer Gruppensyntaxdatei sperren. Beim Definieren einer Sperre in der Gruppensyntaxdatei muss die Basis-Systemsyntaxdatei als Referenzdatei zugewiesen sein. Eine Sperre kann auch in einer Benutzersyntaxdatei definiert werden. Da aber der Benutzer eine Benutzersyntaxdatei selbst aktiviert und deaktiviert, ist eine in ihr definierte Sperre nur für den Benutzer selbst von Bedeutung.
Aufheben können Sie eine Sperre mit der Anweisung RESTORE für Kommandos, Programme und Anweisungen. Dazu müssen deren Definitionen noch in einer Syntaxdatei vorhanden sein, die höher in der Dateihierarchie steht als die gerade zu bearbeitende Syntaxdatei.
Bei der Ausgabe von Definitionen (siehe SHOW) können Sie bestimmen,
wie ausführlich Sie diese haben wollen und
ob Sie sie in einer handbuchähnlichen Form erhalten möchten oder als Folge der SDF-A-Anweisungen, mit denen sie definiert werden.