Das Eröffnen von Elementen einer Programm-Bibliothek kann über zwei Exit-Punkte von der Systembetreuung überwacht werden.
Am Request Exit kann die Systembetreuung den OPEN-Aufruf zurückweisen, bevor der OPEN ausgeführt wird.
Am Return Exit ist das Element bereits eröffnet und die volle Identifikation des Elements (Typ, Name, Version, Variante) bekannt. Da beim Request Exit die Identifikation des Elements auf Grund der Suchlevel-Option noch unvollständig sein kann, bietet der Return Exit hier noch einmal die Möglichkeit, den OPEN-Aufruf zurückzuweisen. Das Element wird dann in den Originalzustand zurückversetzt.
Request Exit (005)
Folgende Informationen werden an die Exit-Routinen übergeben:
R1 = A(Exit-Parameterbereich) R12 = A(TPR Program Manager) R13 = A(Sicherungsbereich der rufenden Komponente) R14 = A(indirekter Rücksprung) R15 = A(Exit-Routine)
(siehe „System Exits für Programmbibliotheken“)
Rückkehrinformation im Register 15:
R15 = X'000000RR' RR = Rückkehrinformation der Exit-Routine 00 kein Fehler 04 OPEN-Element abgewiesen
Rückkehrinformation im Exit-Parameterbereich:
Zusätzlich zum Returncode in Register 15 werden die Felder PMOPM (Open Modus), PMSLV (Search Level) und PMLVD (Search Default) versorgt.
Return Exit (006)
Der Return Exit ist identisch mit dem Request Exit.
Hinweise
Der Search Level (PMSLV) ist die Hierarchie-Stufe innerhalb der Element-Identifikation. Da nur eine Variante erlaubt ist, sind „NO LEVEL“ und „VARIANT“ gleichbedeutend.
Mit „SEARCH LEVEL = NO LEVEL“ wird ein vollständig beschriebenes Element erwartet.
Der Search Default (PMLVD) beschreibt, ob das erste oder letzte Element auf dem angegebenen Search Level eröffnet werden soll.
DSECT
Die DSECT für den Parameterbereich kann mit dem Makro EX005 generiert werden:
name EX005 D[,[prefix],[ALL]]
EX005 D
IEX005 DSECT
DS 0F
*****************************************************
* OPEN PARAMETER LIST FOR RZ ROUTINES *
*****************************************************
PMRC DC F'0' PLAM RETURN CODE
PMRC1 DC F'0' PLAM SECONDARY RETURN CODE
PMPLV DC CL8' ' VERSION OF PLAM: VZZ.ZBZZ
PMLIB DC A(0) A(LIBRARY NAME): CL54
PMLINK DC A(0) A(LIBRARY NAME LINK): CL8
PMOPM DC CL1' ' OPEN MODUS: I: INPUT
* W: WRITE
* U: UPDATE
PMSLV DC CL1' ' SEARCH LEVEL: L: LIBRARY
* T: TYPE
* N: NAME
* V: VERSION
* R: VARIANT
* O: NO LEVEL
PMLVD DC CL1' ' SEARCH DEFAULT: N: NO
* H: HIGH
* L: LOW
DC CL1' '
PMTYP DC A(0) A(MEMBER TYPE): CL8
PMNAM DC A(0) A(MEMBER NAME): CL64
PMVER DC A(0) A(MEMBER VERSION): CL24
PMVAR DC A(0) A(MEMBER VARIANT): F
PMDAT DC A(0) A(MODIFICATION DATE): CL14: DATE
* ,CL8: TIME
DC A(0)
DC A(0)
DC A(0)
LEN EQU *-PMRC