Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ACCOUNTING-Exit (015)

&pagelevel(3)&pagelevel

Eine von der Systembetreuung anschließbare Accounting-Exit-Routine wird für jeden Abrechnungssatz aufgerufen, bevor dieser an die Accounting-Schreibtask übergeben und in die Abrechnungsdatei geschrieben wird.

Die Exit-Routine kann den Abrechnungssatz akzeptieren, ändern, unterdrücken oder zusätzliche Abrechnungssätze erzeugen, die vor oder hinter dem aktuellen Satz in die Abrechnungsdatei eingefügt werden.

Folgende Informationen werden an die Exit-Routine übergeben:

R1 = A(Parameterbereich NASXIT)
R12 = A(TPR Program Manager)
R13 = A(Sicherungsbereich der rufenden Komponente)
R14 = A(indirekter Rücksprung)
R15 = A(Exit-Routine)

Die Rückkehrinformation an die rufende Komponente kann im Feld NASXRET des Parameterbereichs übergeben werden:

  • Abrechnungssatz modifizieren (Returncode X'00')

    Die Adresse des Original-Abrechnungssatzes wird im Feld NASXRECA des Parameterbereichs an die Exit-Routine übergeben. Die Routine kann beliebige Veränderungen des Satzes vornehmen, der Satz darf jedoch höchstens 496 Bytes lang sein. Das Layout der System-Abrechnungssätze ist im Handbuch „Einführung in die Systembetreuung“ [7] beschrieben.

  • Abrechnungssatz unterdrücken (Returncode X'08')

    Außer Setzen der Rückkehrinformation X'08' sind durch die Exit-Routine keine Aktionen erforderlich.

  • Abrechnungssatz einfügen (Returncode X'00')

    Die einzufügenden Sätze müssen von der Exit-Routine vor dem Rücksprung ins System mit dem Makroaufruf $NAREC in die Abrechnungsdatei geschrieben werden. Die Satzkennungen kundenspezifischer Abrechnungs-Sätze sollten mit den Buchstaben X, Y oder Z beginnen, um Namenskonflikte mit den Satzkennungen des Systems zu vermeiden.

  • Abrechnungssatz anfügen (Returncode X'04')

    Das System schreibt den Abrechnungssatz in die Abrechnungsdatei und gibt anschließend die Steuerung an die Exit-Routine zurück. Das Feld NASXRECA des Parameterbereichs enthält in diesem Fall keine Adresse. Nun können mit $NAREC weitere Abrechnungssätze angeschlossen werden. Beim erneuten Rücksprung in das System wird der Returncode nicht mehr ausgewertet, da ein dritter Aufruf nicht vorgesehen ist.

  • Schutz vor Rekursion

    Die Accounting-Exit-Routine wird auch für Abrechnungssätze aufgerufen, die von der Routine selbst mit $NAREC geschrieben werden. Eine mögliche Rekursion muss innerhalb der Exit-Routine verhindert werden.

 

DSECT

Der Makro NASXIT erzeugt das Layout des Exit-Parameterbereichs als Dsect oder als Datenbereich.

Der Exit-Parameterbereich enthält den Standardheader (mit Returncode) und das FeldNASRECA für die Adresse des Abrechnungssatzes, der in die Accounting-Datei eingetragen werden soll.

Die Rückkehrinformation der Exit-Routine muss in das Feld NASXRET („General Return Code“) im Parameterbereich eingetragen werden.

         NASXIT MF=D
         MFCHK MF=D,                                                   C
               SUPPORT=(C,D),                                          C
               PREFIX=N,                                               C
               MACID=ASX,                                              C
               DMACID=ASX,                                             C
               DNAME=ASXIT
NASXIT   DSECT ,
               *,##### PREFIX=N, MACID=ASX #####
         #INTF INTNAME=$NASXIT,REFTYPE=REQUEST,INTCOMP=1
* PARAMETER LIST LAYOUT
NASXACC  FHDR MF=(C,NASX),EQUATES=NO
NASXACC  DS    0A
NASXFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER
*
NASXIFID DS    0A              0   INTERFACE IDENTIFIER
NASXFCTU 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
NASXFCT  DS    AL1             2   FUNCTION NUMBER
NASXFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
*
NASXRET  DS    0A              4   GENERAL RETURN CODE
NASXSRET DS    0AL2            4   SUB RETURN CODE
NASXSR2  DS    AL1             4   SUB RETURN CODE 2
NASXSR1  DS    AL1             5   SUB RETURN CODE 1
NASXMRET DS    0AL2            6   MAIN RETURN CODE
NASXMR2  DS    AL1             6   MAIN RETURN CODE 2
NASXMR1  DS    AL1             7   MAIN RETURN CODE 1
NASXFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
*
*
* FOLLOWING RETURN CODES MAY BE SET :
*
*    SC2   SC1   MAIN         MEANING
*     00    00   0000         WRITE ACC RECORD AND DO NOT RECALL EXIT
*     00    00   0004         WRITE ACC RECORD AND RECALL EXIT
*     00    00   0008         DO NOT WRITE ACC RECORD
*
* EQUATES FOR SUBCODE1 :
*
NASXS1OK EQU  X'00'                    NORMAL PROCESSING
*
* EQUATES FOR MAINCODE :
*
NASXMWR  EQU  X'00'                    WRITE ACC RECORD
NASXMWRR EQU  X'04'                    WRITE ACC RECORD AND RECALL
NASXMNWR EQU  X'08'                    DO NOT WRITE THE RECORD
* 
NASXRECA DS    A             ACC RECORD ADDRESS
*
* EQUATE FOR LENGTH OF PARAMETERLIST :
*
NASX#    EQU  *-NASXACC