Allgemeines
Anwendungsgebiet: | Binden und Laden; siehe "Binden und Laden" |
Makrotyp: | S-Typ, MF-Format 2: Standardform/C-/D-/E-/L-/M-Form; siehe "S-Typ-Makroaufrufe" |
Anwendungsgebiet: Binden und Laden; siehe "Binden und Laden"
Makrotyp: S-Typ, MF-Format 2: Standardform/C-/D-/E-/L-/M-Form siehe "S-Typ-Makroaufrufe"
Zum dynamischen Bindelader DBL siehe auch Handbuch „BLSSERV“ [4].
Makrobeschreibung
Der Makroaufruf GETPRGV gibt die Programmversion aus, die vom Benutzer vorher mit dem Makroaufruf SELPRGV oder mit dem Kommando SELECT-PROGRAM-VERSION ausgewählt wurde.
Makroaufrufformat und Operandenbeschreibung
GETPRGV |
MF=S / C / D / E / L / M ,PRGNAME=<name 1..32> ,PRGNAM@=<var: name 32..32> / (<reg: pointer>) ,PRGVER@=<var: structure> / <var: pointer> / (<reg: pointer>) ,PARAM=<var: pointer> / (<reg: pointer>) ,PREFIX=P / p ,MACID=BGT / macid |
PRGNAME=<name 1..32>
Name des Programmes. Der Name darf nur alphanumerische Zeichen enthalten. Angabe nur mit MF=L oder MF=S.
PRGNAM@=<var: name 32..32> / (<reg: pointer>)
Symbolische Adresse oder Register mit der Adresse eines 32 Zeichen langen Feldes, in dem der Programmname steht. Kürzere Namen müssen mit Leerzeichen aufgefüllt werden. Angabe nur mit MF=M.
PRGVER@=
Adresse einer Struktur, in die der DBL die Programmversion einträgt, falls eine Version ausgewählt wurde. Die DSECT <prefix><macid>VRDS für die Struktur wird bei MF=D erzeugt und hat folgendes Layout:
Byte | Länge | Feldname | Beschreibung |
0 | 1 | VERL | Länge der Programmversion |
1 | 24 | VERS | Programmversion |
<var: structure>
Symbolische Adresse der Struktur. Angabe nur mit MF=L oder MF=S.
<var: pointer>
Symbolische Adresse eines Hilfsfeldes, das die Strukturadresse enthält.
Angabe nur mit MF=M.
(<reg: pointer>)
Register mit der Adresse der Struktur. Angabe nur mit MF=M.
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. angegebenen Operanden PARAM, PREFIX und MACID siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Bei der C-Form, D-Form oder M-Form des Makroaufrufs kann ein Präfix PREFIX und bei der C-Form oder M-Form zusätzlich eine Macid MACID angegeben werden (siehe AAbschnitt „S-Typ-Makroaufrufe“).
Hinweise zum Makroaufruf
DBL sucht zuerst unter den Programmversionen, für die SCOPE=PROGRAM festgelegt wurde (siehe Makro SELPRGV). Findet der DBL das angegebene Programm darunter, so übergibt er die Programmversion und beendet die Suche.
Bei PRGNAM@ und PRGVER@ müssen gültige Klasse-6-Speicher-Adressen angegeben werden.
Rückinformation und Fehleranzeigen
Die Programmversion und deren Länge werden in der Struktur übergeben, die mit dem Parameter PRGVER@ angegeben wurde.
Standardheader:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
Über die Ausführung des Makros GETPRGV wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aaaa=Maincode):
X'cc' | X'bb' | X'aaaa' | Erläuterung |
X'00' | X'00' | X'0000' | Der Makro wurde normal ausgeführt. |
X'00' | X'01' | X'0001' | PRGNAME nicht angegeben oder ungültig. |
X'00' | X'01' | X'0002' | PRGVER@ nicht angegeben oder ungültig. |
X'00' | X'00' | X'0004' | Für das Programm ist keine Version ausgewählt. |
X'00' | X'00' | X'0007' | Programm mit dem angegebenen Namen nicht gefunden. |
X'00' | X'20' | X'0300' | Systemfehler. |
X'00' | X'01' | X'FFFF' | Die Funktion wird nicht mehr oder noch nicht unterstützt. |
X'00' | X'03' | X'FFFF' | Die Version der Schnittstelle wird nicht unterstützt. |
Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle „Standardheader“ entnommen werden.