Mit /CALL-VM-PROCEDURE
wird eine VM2000-Prozedurdatei gestartet, in der eine Folge von VM2000-Kommandos abgespeichert ist.
In der Prozedurdatei sind alle VM2000-Kommandos zulässig außer /CALL-VM-PROCEDURE
, /BEGIN-VM-DIALOG
und /END-VM-DIALOG
.
Folgende BS2000-Kommandos sind zulässig
/STEP
Verhindert im Fehlerfall den Abbruch der Prozedur. Die Prozedur wird ab dem ersten/STEP
-Kommando nach der Fehlerstelle fortgesetzt./REMARK
Erlaubt das Einfügen von Kommentaren in die Protokolldatei, die beim Ablauf der Kommandofolge protokolliert werden.
Die Prozedurdatei muss als SAM- oder ISAM-Datei katalogisiert sein. Sie muss im Standarddateiformat erzeugt sein, d.h. mit variablem Satzformat und mit BLKCTRL=DATA
und einer maximalen Satzlänge von 2032 Byte. Dieses Format wird bei Verwendung des Editors EDT standardmäßig erzeugt.
Fortsetzungszeilen in der VM2000-Prozedurdatei
Besteht ein Kommando aus mehreren Zeilen, dient der Bindestrich „-“ als Fortsetzungszeichen. Der Bindestrich kann hinter jedem Komma im Operandenfeld stehen und zeigt an, dass eine Folgezeile vorhanden ist. Auf einen Bindestrich dürfen nur Leerzeichen folgen.
Jede Folgezeile beginnt mit einem Schrägstrich, dem direkt die weiteren Operanden des Kommandos folgen.
Die Länge von Kommandos in Prozedurdateien ist auf maximal 300 Zeichen begrenzt (Fortsetzungszeichen und zeilenauffüllende Leerzeichen werden nicht gezählt).
Eine Prozedur mit Kommando-Folgezeilen ist nicht mehr geeignet, um über /RUN
abgearbeitet zu werden.
Abarbeitung der VM2000-Prozedurdatei
/CALL-VM-PROCEDURE
arbeitet die Kommandos nacheinander ab. Nach dem ersten nicht fehlerfrei ausgeführten Kommando wird die Bearbeitung bei dem nächsten /STEP
fortgesetzt.
/CALL-VM-PROCEDURE
kann nur im ADMIN-Dialog über $VMCONS eingegeben werden. Es kann weder über eine Benutzertask (dort stehen S- bzw. Nicht-S-Prozeduren zur Verfügung) noch an einer BS2000-Konsole des Monitorsystems (dort kann eine solche Prozedurdatei mit /RUN
gestartet werden) eingegeben werden.
Enthält die Prozedurdatei Kommandos, die dem VM2000-Administrator vorbehalten sind, muss /CALL-VM-PROCEDURE
im ADMIN-Dialog mit der Monitor-VM eingegeben werden.
CALL-VM-PROCEDURE |
FILE-NAME = <filename 1..54 without-gen-vers> ,VM-IDENTIFICATION = *CURRENT / <integer 1..99> / <name 1..8> ,LIST = *YES / *NO |
FILE-NAME = <filename 1..54 without-gen-vers>
Dateiname der Prozedurdatei
VM-IDENTIFICATION =
Identifikation der virtuellen Maschine. Die VM muss bereits initialisiert sein.
VM-IDENTIFICATION = *CURRENT
Es wird die VM-Identifikation genommen, die mit einem zuvor gegebenen /BEGIN-VM-DIALOG
zugewiesen wurde.
VM-IDENTIFICATION = <integer 1..99> / <name 1..8>
Identifikation der virtuellen Maschine durch VM-Index oder VM-Name.
VM-IDENTIFICATION
hat hier eine andere Bedeutung als bei den übrigen VM2000-Kommandos. Dieser Operandenwert ersetzt bei allen Kommandos in der Prozedurdatei, bei denen der Operand VM-IDENTIFICATION
optional ist, den Standardwert (VM-IDENTIFICATION=*CURRENT
bzw. VM-IDENTIFICATION
nicht angegeben).Bei allen Kommandos in der Prozedurdatei, bei denen der Operand VM-IDENTIFICATION
obligatorisch ist, wird die VM-IDENTIFICATION
nicht ersetzt.
Außerdem wird bei /CREATE-VM
in der Prozedurdatei weder der Operand VM-INDEX
noch VM-NAME
bei fehlender Angabe ersetzt.
LIST =
Legt die Art der Protokollierung beim Ablauf der Prozedur fest.
LIST = *YES
Beim Ablauf der Prozedur werden die bearbeiteten Kommandos der Prozedurdatei und Meldungen im ADMIN-Dialog mit der VM ausgegeben.
LIST = *NO
Die Ausgabe der Kommandos wird unterdrückt. Es werden lediglich Fehlermeldungen, die bei der Bearbeitung der Prozedur auftraten, ausgegeben.
Kommando-Returncodes
(SC2) | Maincode | Bedeutung |
0 | CMD0001 | Kommando erfolgreich ausgeführt |
Beispiel einer Prozedurdatei
/REMARK TESTVM MEMORY=512 MBYTE ——————————————————————————————————————— (1)
/CREATE-VM MEM=512,VM-NAME=TESTVM ————————————————————————————————————— (2)
/REMARK ADD DEVICES
/ADD-VM-DEVICES UNITS=(Z2,Z3,D0,D1),VM-IDENTIFICATION=TESTVM —————————— (3)
/REMARK DIALOG-STARTUP ON TESTVM
/START-VM IPL-UNIT=D0,-
/INFORMATION-BYTE=*DIALOG,VM-IDENTIFICATION=TESTVM ———————————————————— (4)
/STEP ————————————————————————————————————————————————————————————————— (5)
/REMARK TESTVM2 MEMORY=1024 MBYTE
/CREATE-VM MEM=1024,VM-NAME=TESTVM2 ——————————————————————————————————— (6)
------------------------------------------------------------------------------------------------------------------
(1) | Kommentarzeile |
(2) | Initialisieren einer VM mit dem VM-Namen |
(3) | Der VM mit der VM-Identifikation |
(4) | Starten des Gastsystems auf der VM. Das Kommando wird mit Folgezeile eingegeben. |
(5) | Falls eines der Kommandos unter (2), (3) oder (4) nicht ausgeführt werden kann, wird die Prozedur bei (5) fortgesetzt. |
(6) | Eine weitere VM mit dem VM-Namen |