Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CLOSE-Exits (042/043)

&pagelevel(3)&pagelevel

Für die Systemfunktion „CLOSE = Dateien schließen“ werden zwei Exits angeboten. 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.

  • Der Request Exit wird zu Beginn der CLOSE-Verarbeitung angestoßen. Bei Banddateien ist das Band hinter dem letzten verarbeiteten Datenblock positioniert, Dateiendekennsätze sind noch nicht bearbeitet.

  • Die Return Exit-Routine wird am Ende der CLOSE-Verarbeitung aufgerufen. Bei Banddateien ist das Band zwischen den beiden Abschnittsmarken positioniert, die das Dateiende kennzeichnen; bei Bändern mit Standardkennsätzen liegt diese Stelle hinter den EOF-Kennsätzen.

In beiden Fällen wird die Adresse des Exit-Parameterbereichs übergeben. Damit ist es möglich, auf weitere Informationen aus dem P1-FCB, P2-FCB oder der CVT (Current Volume Table) zuzugreifen.

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.

  • Ist der Returncode im Parameterbereich des Exit-Basismechanismus != 0, wird auf dem Bedienplatz die Meldung DMS0D15 ausgegeben. Danach geht die Verarbeitung weiter.

    %  DMS0D15 AUFRUF DES BASISMECHANISMUS FUER DEN SYSTEM EXIT '(&00)' 
    LIEFERT FEHLERCODE '(&01)'
    (&00): EXIT-Nummer.
    (&01): Fehlercode der $SYSX-Schnittstelle.
    

Informationsquellen

Die folgende Tabelle enthält Hinweise zum Zugriff auf Informationen, die sinnvoll von den Exit-Routinen verarbeitet werden können:

Information

DSECT

I/A

Name

steht in

Bemerkung

Exit-Parameterliste

$DOCSYS

A


Register 1


P1-FCB

IDFCB

A

P1FCB-
ADDRESS

Exit-Parameterliste


P2-FCB

IDFC2

A

D1P2LNK

P1-FCB


CVT

DMACVT

A

D2CVTAD

P2-FCB


VSN

DMADR

I

DRVVSN

TFT

mit RDTFT-Makro

G
Geräte-Zugriffsrecht

DMACVT

I

DCVRID

CVT

steht bei CLOSE
Return Exit nicht
zur Verfügung

Kennsätze

DTVOL
DTHT1
DTHT2
DTHT3

A

A

D2LGINF

D2LGINF

P2-FCB

P2-FCB

Return Exit

Request Exit

Blockzähler
für Datei
gesamt


I

D2THPGN

P2-FCB

nur bei SAM und
CLOSE Return Exit

Blockzähler
für Band


I
I

DIHPGNR
D1BLK# /
DIBLK#

P2-FCB
P1-FCB /
P2-FCB

BLKSIZE=STD
BLKSIZE
(STD,n)
(alle nur bei SAM)

I = Information ist Inhalt von Feld „Name“
A= Adresse von Information in Feld „Name“

Exit-Routinen und EXLST-Ausgänge

Die obenbeschriebenen Exit-Routinen und die bei der CLOSE-Verarbeitung anschließbaren EXLST-Ausgänge werden, falls vorhanden, in der nachfolgend gezeigten Reihenfolge aktiviert.

Return Exit (042)

Die Exit-Routine kann keine Rückkehrinformation an den Systemmodul senden.

Request Exit (043)

Die Exit-Routine kann keine Rückkehrinformation an den Systemmodul senden.

Bei Ausgabedateien auf Band kann über die Adresse im Feld D2LGINF im P2-FCB auf die vom OPEN geschriebenen Kennsätze VOL1, HDR1, HDR2 und HDR3 zugegriffen werden. Die Länge des adressierten Bereichs ist 4 x 80 = 320 Bytes.

Der Blockzähler ist zum Aufrufzeitpunkt der Request Exit-Routine noch nicht versorgt.

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