Starten einer Prozedur
DO [N,] [ datei | element | bibl(element| %name | %?] [, param, ...]
Die angesprochene Prozedur enthält eine optionale PROC-Anweisung mit darin vereinbarten Prozedurparametern. Normalerweise wird beim Aufruf einer derartigen Prozedur zuerst die Parameter-Maske ausgegeben, in der die Prozedurparameter eingegeben werden können.
N Durch die Eingabe DO N,... wird die Ausgabe der Parameter-Maske unterbunden. Es werden die Prozedur-Parameter verwendet, so wie sie im DO-Kommando angegeben wurden (siehe unten), bzw. wie sie in der PROC-Anweisung vordefiniert sind.
datei Die CFS-Prozedur ist in der angegebenen Datei gespeichert.
element Die Prozedur ist in dem angegebenen Element der CFS.USERLIB bzw. in der zentralen USERLIB (siehe Hinweise) enthalten. In PLAM-Bibliotheken gespeicherte Prozeduren müssen den Elementtyp S (Source) besitzen.
bibl(element) Die Prozedur ist in dem Element der angegebenen Bibliothek enthalten.
%name Es wird auf einen Parameter-Set, d.h. auf den Namen einer Prozedur und auf eine bestimmte Parameterbelegung Bezug genommen, der zu einem früheren Zeitpunkt mit dem Kommando SP %name unter dem angegebenen Kürzel %name gesichert wurde. Eine ausführliche Beschreibung des SP-Kommandos und der Verwendung von %name finden Sie auf Seite 11-.
%? Es werden alle in Frage kommenden Parametersets in einer Maske angezeigt. Durch Ankreuzen kann einer der vorgeschlagenen Parametersets ausgewählt werden.
param Wahlweise Angabe von Werten für CFS-Prozedurvariable. Wie bei DO-Prozeduren im BS2000 können sowohl Stellungs-, als auch Schlüsselwortparameter angegeben werden. Von welcher Art ein Parameter ist, wird in der *PROC-Anweisung der Prozedur festgelegt. Parameter können nicht zusammen mit %name angegeben werden.
Stellungsparameter: Es ist lediglich der Wert des gewünschten Parameters anzugeben. Bei Stellungsparametern ist auf deren richtige Reihenfolge zu achten. Soll z.B. nur der zweite Stellungsparameter mit einem Wert versorgt werden, so ist ein zusätzliches Komma bei der Parameterangabe einzufügen: DO prozedur,,wert.
Schlüsselwortparameter: Es ist der Name des Parameters, gefolgt von einem = Zeichen und dem gewünschten Parameterwert anzugeben. Der Name des Parameters und sein Standardwert können in der *PROC-Anweisung der Prozedur festgelegt werden.
Hinweise:
Das Kommando DO wird von CFS in folgender Weise abgearbeitet:
Falls bibl(element) bzw. %name angegeben wurde, so ist dadurch die auszuführende CFS-Prozedur eindeutig bestimmt. In allen anderen Fällen wird gemäß der folgenden Hierarchie nach der Prozedur gesucht:
a) CFS sucht in der zugewiesenen Userlib (Standard: CFS.USERLIB) nach einem Element mit dem angegebenen Namen.
b) Es wird in der zentralen USERLIB nach einem Element mit dem angegebenen Namen gesucht. Die zentrale USERLIB kann mit /FILE ...,LINK=USERLIB zugewiesen werden oder wird als Bibliothek mit dem Namen $user-id.CFS.USERLIB. STD gesucht. $user-id = Benutzerkennung in der die Programmphase CFS gespeichert ist.
c) Es wird eine Datei mit der angegebenen Bezeichnung gesucht.
Wenn a), b) und c) nicht zu einem Erfolg geführt haben, wird eine Fehlermeldung ausgegeben. Zum Verändern der Standard CFS-Userlib siehe Kommando UL, Seite 18-.
Wird das DO-Kommando ohne irgendwelche Zusätze angegeben, so wird die zuletzt verwendete Prozedur wieder aufgerufen.
Enthält ein Parameterwert Leerzeichen (Blanks) oder bestimmte Sonderzeichen, wie z.B. Hochkommas, so ist der Parameterwert in Hochkommas einzuschließen.
Enthält ein Parameterwert Hochkommas, so müssen diese verdoppelt werden.
Falls die angesprochene Prozedur keine *PROC-Anweisung enthält, so ist kein maskengesteuertes Prompting der Prozedurparameter möglich. Die Prozedur kann nicht über %name angesprochen werden.
Falls beim Aufruf einer Prozedur ohne *PROC-Anweisung Stellungsparameter angegeben wurden, so können diese innerhalb der Prozedur nur über die Namen &1 (erster Stellungsparameter), &2 (zweiter Stellungsparameter), usw. angesprochen werden.