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