Befehlssätze

Befehlssätze definieren, wie Objekte aus Ihrem Projekt erstellt werden. Wie der Name schon sagt, besteht ein Befehlssatz aus Befehlen.

IBM® i-Objekte wie Module, Dateien und Programme werden aus der Quelle in Ihrem Projekt erstellt. Jede Quellendatei in Ihrem Projekt kann mit einem Befehlssatz verknüpft werden, und die Verknüpfung eines Befehlssatzes mit einer Reihe von Quellen-Membern ist in einem Erstellungsprogramm definiert.

Andere Arten von IBM i-Objekten können ebenfalls erstellt werden, z. B. Datenbereiche, Serviceprogramme und Berechtigungslisten. Diese Objektarten werden nicht aus Quellen-Membern erstellt, sondern vollständig mit Befehlen definiert. Sie können zum Definieren dieser Art von Objekten auch Befehlssätze verwenden.

Befehlssätze bestehen aus CL-Befehlen, die Variablen enthalten können. Da diese Variablen zur Erstellungszeit gesetzt werden können, sind Befehlssätze gewissermaßen Schablonen für die Erstellung von Objekten oder für die Ausführung verschiedener anderer Aufgaben, die während der Erstellung eines Projekts erforderlich sein können.

Befehlssätze können in der Erstellungsspezifikation des zugehörigen Projekts definiert oder als externe Befehlssätze anderer Projekte referenziert werden. Im letztgenannten Fall muss zuerst ein Projektverweis definiert werden. Anschließend werden die Befehlssätze aus dem referenzierten Projekt benannt, die verwendet werden sollen. Auf diesem Wege können Sie eine allgemeine Gruppe von Befehlssätzen definieren, die für jedes Projekt verwendet werden.

Zwei Arten von Befehlssätzen

Es gibt zwei Arten von Befehlssätzen, allgemeine und bedingte Befehlssätze. Allgemeine Befehlssätze werden für Aufgaben verwendet, die bei jeder Erstellung ausgeführt werden müssen. Sie sind besonders zum Konfigurieren, zum Festlegen von Vorrangwerten für Kompilierungen, zum Erstellen von Paketen und zum Bereinigen geeignet. Bedingte Befehlssätze werden je nach Status der Ausgabe des Erstellungsprogramms, in dem sie verwendet werden, ausgeführt oder nicht ausgeführt. Das heißt, die Befehle eines Befehlssatzes würden ausgeführt werden, wenn das Ausgabeobjekt eines Erstellungsprogramms nicht vorhanden ist oder wenn es vorhanden, jedoch nicht auf dem neuesten Stand ist.

Die Befehle eines Befehlssatzes werden zu Verarbeitungsabschnitten zusammengefasst. Für allgemeine Befehlssätze gibt es nur einen Verarbeitungsabschnitt. Die Verarbeitung bedingter Befehlssätze hängt vom Status der Ausgabeobjekte ab, die für die zugehörigen Erstellungsprogramme definiert sind. Für bedingte Befehlssätze gibt es zwei Abschnitte. Einer dieser Abschnitte wird ausgeführt, wenn es das Ausgabeobjekt gibt, dieses jedoch älter als seine Eingaben oder Abhängigkeiten ist. Der andere Abschnitt wird ausgeführt, wenn es das Ausgabeobjekt nicht gibt. Ein gutes Beispiel hierfür wäre die Erstellung einer physischen Datei, die mit CRTPF erstellt wird, wenn sie nicht vorhanden ist, und die mit CHGPF geändert wird, falls sie vorhanden ist. Für Datenbereiche und andere Objekte, die Daten enthalten, könnte eine ähnlich spezifische Verarbeitung erforderlich sein. Falls die Abschnitte nicht unterschiedlich sein müssen, können Sie im Abschnitt für nicht vorhandene Objekte dieselben Befehle wie im Abschnitt für vorhandene Objekte, die nicht auf dem neuesten Stand sind, angeben.

Ausführung von Befehlssätzen mit Erstellungsprogrammen

Ein Erstellungsprogramm führt einen Befehlssatz auf der Grundlage der von Ihnen im Erstellungsprogramm angegebenen Art der Eingabeverarbeitung aus. Die Befehle im Befehlssatz werden immer in der Reihenfolge ausgeführt, in der Sie sie angegeben haben. Sie können jedoch abhängig von der Art der Eingabe, mit der Sie sie im Erstellungsprogramm verknüpft haben, mehr als einmal ausgeführt werden.

Wenn Sie als Eingabe eine Liste mit Quellenobjekten oder Quellen-Membern angegeben haben, wird der Befehlssatz für jeden Member der Liste einmal ausgeführt. Diese Art der Verarbeitung ist für die Kompilierung von Member-Listen mit einem Befehl wie CRTRPGMOD, CRTRPGPGM oder CRTBNDRPG geeignet. Wenn Sie Befehlssätze dieser Art verwenden, können Sie die folgenden speziellen Variablen als Befehlsparameter angeben:
&N
Name des Objekts oder Members in der Quellenliste
&F
Name der Quellendatei mit dem Member. Wenn Sie eine Objektliste angegeben haben, ist dies eine leere Zeichenfolge.
&L
Name der Bibliothek, die das Objekt oder den Member aus der Liste enthält
&X
Beschreibender Text für das Objekt oder den Member aus der Liste

Wenn Sie keine Liste mit Quellenobjekten oder Quellen-Membern angeben, wird ein bedingter Befehlssatz maximal einmal ausgeführt, sofern dies für das dem Erstellungsprogramm zugeordnete Ausgabeobjekt erforderlich ist. Diese Vorgehensweise ist für die Ausführung von Befehlen geeignet, die Objektlisten als Parameter verwenden können, z. B. für CRTPGM.

Allgemeine Befehlssätze werden stets genau einmal ausgeführt. Sie sind für Befehle oder Gruppen von Befehlen geeignet, die keine Objekte erstellen, aber dennoch notwendiger Bestandteil der Erstellungskonfiguration sind, z. B. für Befehle, die Vorrangwerte für Kompilierungen festlegen.

Befehle und Substitutionsvariablen

Befehle enthalten Substitutionsvariablen, deren Werte gesetzt werden können, wenn dieser Befehlssatz von einem Erstellungsprogramm verwendet wird. Die vier speziellen Variablen, die bei einer einzeln zu verarbeitenden Eingabe verwendet werden können, wurden bereits erwähnt. Sie können in Ihren Befehlen aber auch andere Variablen definieren und verwenden. Bei diesen Variablen handelt es sich um Substitutionsvariablen und nicht um CL-Variablen. Sie müssen nicht deklariert werden. Sie erhalten ihre Wert zum Zeitpunkt ihrer Ausführung und werden nur als Zeichenfolgen ersetzt. Sie können ihre Werte von Eigenschaften empfangen, die in einer Erstellungsdefinition von Rational Team Concert festgelegt wurden, von anderen Variablen oder von Zeichenfolgenkonstanten, die in einem Erstellungsprogramm oder einer Erstellungsspezifikation festgelegt sind. Diese Variablen können aufgrund der Ähnlichkeiten wie CL-Variablen aussehen, unterscheiden sich jedoch von diesen.
  • Sie müssen nicht deklariert werden.
  • Sie beginnen wie CL-Variablen mit einem Et-Zeichen (&).
  • Sie können aus den 26 Zeichen des lateinischen Alphabets (A-Z) in Groß- oder Kleinschreibung, den Ziffern 0-9 und Unterstreichungszeichen (_) bestehen, müssen jedoch mit einem Buchstaben beginnen.
  • Sie können bis zu 50 Zeichen lang sein.
  • Die Groß-/Kleinschreibung muss nicht beachtet werden, d. h., &ABC ist äquivalent zu &abc.

Unter Jazz.net finden Sie weitere Informationen.


Feedback