Das Schließen von Programmbibliothekselementen kann über zwei Exit-Punkte überwacht werden:
Am Request Exit kann sich die Systembetreuung Informationen über das Element verschaffen wie beim Return Exit des OPEN auf das Element; der CLOSE auf das Element kann nicht verhindert werden.
Am Return Exit ist das Element bereits geschlossen. Die Systembetreuung erhält hier die volle Identifikation des Elements mit Modifikationsdatum neuerstellter oder geänderter Elemente.
Request Exit (007)
Folgende Informationen werden an die Exit-Routine ü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:
R15 = X'000000RR' RR = Rückkehrinformation der Exit-Routine 00 kein Fehler 04 CLOSE-Element abgewiesen (von PLAM ignoriert)
Zusätzlich zum Returncode im Register 15 wird das Feld PMCLM versorgt.
Return Exit (008)
Der Return Exit ist identisch mit dem Request Exit.
DSECT
Die DSECT für den Parameterbereich kann mit dem Makro EX007 generiert werden:
name EX007 D[,[prefix],[ALL]]
EX007 D
IEX007 DSECT
DS 0F
*****************************************************
* CLOSE PARAMETER LIST FOR PLAM 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
DC CL1' '
DC CL1' '
DC CL1' '
PMCLM DC CL1' ' CLOSE MODE: Y: KEEP
* N: DELETE
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