In Ergänzung der CLOSE-Exits (s.o. 042/043) werden zwei Exits für Eingriffe beim Spulenwechsel von Banddateien angeboten.
Die Request-Exit-Routine wird zu Beginn jedes Spulenwechsels angestoßen, d.h. bei der Endebehandlung des abzuschließenden Bandes.
Die Return-Exit-Routine wird nach der Anfangsbehandlung des neuen Bandes aufgerufen.
Wie bei den CLOSE-Exits für Banddateien wird in beiden Fällen die Adresse des Exit-Parameterbereichs übergeben, die die Adresse des P1FCB enthält.
Für Banddateien kann unter der Benutzerkennung TSOS mithilfe dieser Exits über entsprechende Exit-Routinen die Verwendung von Bändern kontrolliert/registriert und somit eine eigene Bandverwaltung realisiert werden.
Folgende Informationen werden an die Exit-Routine übergeben:
R1 = A($DOCSYS-Parameterbereich) R12 = A(TPR Program Manager) R13 = A(Sicherungsbereich der rufenden Komponente) R14 = A(indirekter Rücksprung) R15 = A(Exit-Routine)
Hinweise
Die Register 12, 13 und 14 dürfen von der Exit-Routine nicht zerstört werden.
Bei einem Fehler des Exit-Basismechanismus, wird auf dem Bedienplatz die Meldung DMS0E15 ausgegeben. Danach geht die Verarbeitung weiter.
% DMS0E15 AUFRUF DES BASISMECHANISMUS FUER DEN SYSTEM EXIT '(&00)' LIEFERT FEHLERCODE '(&01) (&00): EXIT-Nummer. (&01): Fehlercode der $SYSX-Schnittstelle.
Parameterbereich
Das Layout des Exit-Parameterbereichs kann mit dem Makro $DOCSYS generiert werden.
$DOCSYS MF=D MFTST MF=D,PREFIX=D,MACID=OCS,ALIGN=F, C DMACID=OCS,SUPPORT=(D,C,M,L),DNAME=OCS_MDL DOCS_MDL DSECT , *,##### PREFIX=D, MACID=OCS ##### * parameterarea description DOCSHDR FHDR MF=(C,DOCS),EQUATES=NO Standardheader DOCSHDR DS 0A DOCSFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * DOCSIFID DS 0A 0 INTERFACE IDENTIFIER DOCSFCTU DS AL2 0 FUNCTION UNIT NUMBER * BIT 15 HEADER FLAG BIT, * MUST BE RESET UNTIL FURTHER NOTICE * BIT 14-12 UNUSED, MUST BE RESET * BIT 11-0 REAL FUNCTION UNIT NUMBER DOCSFCT DS AL1 2 FUNCTION NUMBER DOCSFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * DOCSRET DS 0A 4 GENERAL RETURN CODE DOCSSRET DS 0AL2 4 SUB RETURN CODE DOCSSR2 DS AL1 4 SUB RETURN CODE 2 DOCSSR1 DS AL1 5 SUB RETURN CODE 1 DOCSMRET DS 0AL2 6 MAIN RETURN CODE DOCSMR2 DS AL1 6 MAIN RETURN CODE 2 DOCSMR1 DS AL1 7 MAIN RETURN CODE 1 DOCSFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * main return codes DOCSNOER EQU 0 no error detected DOCSRREJ EQU 4 request rejected * DOCSFCB@ DS A address of P1-FCB DOCS# EQU *-DOCSHDR
Return Exit (044)
Die Exit-Routine kann keine Rückkehrinformationen an den Systemmodul übergeben. Bei Ausgabedateien steht in D2LGINF im P2FCB die Adresse eines 320 Bytes großen Bereichs, der die Kennsätze VOL1, HDR1, HDR2, HDR3 enthält.
Request Exit (045)
Die Rückkehrinformation wird im Standard-Header des Parameterbereichs im Feld DOCSMRET übergeben.
Returncode: DOCSNOER = X'0000' = kein Fehler
Returncode: DOCSRREJ = X'0004' = OPEN soll abgewiesen werden
Wird der Spulenwechsel abgewiesen, erhält der Benutzer die Meldung DMS0E10 aufSYSOUT bzw. den Fehlercode X'0E10' im Feld ID1ECB des FCB:
% DMS0E10 DURCHFUEHRUNG DES SPULENWECHSELS WURDE VOM SYSTEMVERWALTER EINGESCHRAENKT
Bei Ausgabedateien steht in D2LGINF im P2FCB die Adresse eines 320 Byte großen Bereichs, der die Kennsätze VOL1, EOF1, EOF2, EOF3 enthält.