Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Spulenwechsel-Exits (044/045)

&pagelevel(3)&pagelevel

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.