Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Beispiel für eine Exit-Routine

&pagelevel(3)&pagelevel

Dieses Beispiel zeigt eine Realisierungsmöglichkeit für eine Exit-Routine, die folgende drei Anforderungen erfüllen soll:

  1. Unter der Benutzerkennung USERID01 sollen keine freien Bänder neu reserviert werden; ein entsprechender Versuch soll abgewiesen werden.

  2. Der Benutzerkennung USERID02 sollen nur solche freien Bänder neu zugeteilt werden, deren Archivnummer mit der Ziffer 3 beginnen. Bei diesen Archiveinträgen soll das Benutzerfeld mit der Zeichenkette '** EXIT-TEST **' vorbesetzt werden. Da bei allen Neureservierungen über die MAREN-ARCHIVE-Kopplung (LAFUNKNM= MARENFA2) der Nummernkreis nicht verändert werden darf, ist bei einer nicht mit der Ziffer 3 beginnenden Archivnummer die Reservierung abzubrechen.

  3. Bei sämtlichen Neureservierungen soll das Verwaltungsfeld mit der Zeichenkette 'MAREN' vorbesetzt werden.


MARENEX1 CSECT
         STM   14,12,12(13)
         USING MARENEX1,15
         L     7,0(,1)                          GET @(ARCHREC)
         USING MARENA,7
         CLC   OWNERID,CANUID
         BE    CANCEL
         CLC   OWNERID,=CL8'USERID02'
         BNE   RETURN
         CLC   LAFUNKNM,=CL8'MARENFA2'          CALLER=ARCHIVE EXIT?
         BNE   CONTINUE                         IF NOT ->
         CLI   NUMMANFV,C'3'                    VSN O.K.?
         BNE   CANCEL                           IF NOT - REJECT
         B     UPDATE
CONTINUE MVC   NUMMANFV,=CL6'3'                 SET FROM-OPERAND
         MVC   NUMMEND,=CL6'399999'             SET TO-OPERAND
UPDATE   MVC   USERFELD,=CL54'** EXIT-TEST **'
RETURN   MVC   RZFELD,RZTEXT
         LM    14,12,12(13)
         XR    15,15
         BR    14                               NORMAL-RETURN
CANCEL   LM    14,12,12(13)
         LA    15,4                             INDICATE ERROR
         BR    14                               REQUEST CANCEL
CANUID   DC    CL8'USERID01'
RZTEXT   DC    CL8'MAREN'
         LTORG
         MARENA LAYOUT=V8
         END