z/OS DFSMS OAM Planning, Installation, and Storage Administration Guide for Tape Libraries
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SAMPLIB member CBRSPUXV

z/OS DFSMS OAM Planning, Installation, and Storage Administration Guide for Tape Libraries
SC23-6867-00

This SAMPLIB member is a sample volume not in library installation exit.

UXVNL    TITLE 'CBRUXVNL - VOLUME NOT IN LIBRARY INSTALLATION EXIT'
CBRUXVNL START 0                    VOLUME NOT IN LIBRARY INST EXIT
         SPACE 2
**** START OF SPECIFICATIONS ******************************************
*                                                                     *
*    MODULE NAME:       CBRUXVNL                                      *
*                                                                     *
*    DESCRIPTIVE NAME:  SAMPLE VOLUME NOT IN LIBRARY INSTALLATION     *
*                       EXIT                                          *
*                                                                     *
***********************************************************************
*                                                                     *
*      THIS SAMPLE INSTALLATION EXIT MAY BE USED TO PROVIDE VOLUME    *
*      NOT IN LIBRARY RECOVERY WHILE THE CUSTOMER IS DEVELOPING AN    *
*      EXIT WHICH IS MORE CLOSELY TAILORED TO INSTALLATION NEEDS.     *
*                                                                     *
*      A DEFAULT VERSION OF CBRUXVNL IS DISTRIBUTED AS PART OF        *
*      DFSMSrmm.                                                      *
*                                                                     *
***********************************************************************
*                                                                     *
*    FUNCTION:                                                        *
*      MODULE CBRUXVNL IS INVOKED TO ALLOW THE INSTALLATION TO        *
*      ENTER A TAPE VOLUME INTO A LIBRARY DURING PROCESSING FOR       *
*      THE JOB STEP WHICH REQUIRES THE VOLUME.                        *
*                                                                     *
*      THE EXIT IS ENTERED AT THE FOLLOWING TIMES:                    *
*                                                                     *
*        1. JOB STEP SETUP PROCESSING                                 *
*                                                                     *
*           THE DEVICE AND VOLUME REQUIREMENTS FOR THE JOB STEP ARE   *
*           BEING DETERMINED.                                         *
*                                                                     *
*           THE VOLUME MAY HAVE ONE OF THREE STATES:                  *
*             A. THE VOLUME IS KNOWN TO BE SHELF-RESIDENT.  THERE IS  *
*                A TAPE VOLUME RECORD FOR THE VOLUME IN THE TAPE      *
*                CONFIGURATION DATA BASE.                             *
*             B. THE VOLUME IS KNOWN TO BE AN EXPORTED LOGICAL        *
*                VOLUME. THERE IS A TAPE VOLUME RECORD IN THE         *
*                TAPE CONFIGURATION DATABASE WITH STACKED=VOLSER      *
*                IN THE SHELF LOCATION FIELD.                         *
*             C. THE VOLUME IS UNKNOWN TO THE SYSTEM.  THERE IS NO    *
*                TAPE VOLUME RECORD FOR THE VOLUME IN THE TCDB, THE   *
*                VOLUME IS NOT A CURRENTLY MOUNTED DASD VOLUME, AND   *
*                THE VOLUME IS NOT AN SMS-MANAGED DASD VOLUME.        *
*                                                                     *
*           IF THE EXIT CAUSES THE VOLUME TO BE ENTERED INTO A TAPE   *
*           LIBRARY:                                                  *
*             A. FOR AN EXISTING DATASET, THE REQUEST WILL BE         *
*                SMS-MANAGED MOUNTABLE, AND A LIBRARY-RESIDENT TAPE   *
*                DRIVE WILL BE ALLOCATED.                             *
*             B. FOR A NEW DATASET, THE LIBRARY NAME IS PASSED TO     *
*                THE ACS FILTER ROUTINES:                             *
*                1. IF THE FILTER ROUTINES DO NOT MAKE THE REQUEST    *
*                   SMS-MANAGED MOUNTABLE, A NON-LIBRARY-RESIDENT     *
*                   TAPE DRIVE IS ALLOCATED.  WHEN A MOUNT REQUEST    *
*                   IS LATER ISSUED, THE VOLUME WILL HAVE TO BE       *
*                   EJECTED FROM THE LIBRARY BEFORE IT CAN BE         *
*                   MOUNTED ON THE DRIVE.                             *
*                2. IF THE FILTER ROUTINES MAKE THE REQUEST           *
*                   SMS-MANAGED MOUNTABLE, AND THE LIBRARY INTO       *
*                   WHICH THE VOLUME WAS ENTERED IS NOT INCLUDED IN   *
*                   ANY OF THE SELECTED TAPE STORAGE GROUPS, SMS      *
*                   FAILS THE JOB.                                    *
*                3. IF THE FILTER ROUTINES MAKE THE REQUEST           *
*                   SMS-MANAGED MOUNTABLE, AND THE LIBRARY INTO       *
*                   WHICH THE VOLUME WAS ENTERED IS INCLUDED IN ONE   *
*                   OF THE SELECTED TAPE STORAGE GROUPS, A LIBRARY-   *
*                   RESIDENT TAPE DRIVE WILL BE ALLOCATED.            *
*                                                                     *
*           IF THE EXIT TAKES NO ACTION:                              *
*             A. FOR AN EXISTING DATASET, THE REQUEST WILL BE         *
*                NON-SMS-MANAGED, AND A NON-LIBRARY-RESIDENT TAPE     *
*                DRIVE WILL ULTIMATELY BE ALLOCATED.                  *
*             B. FOR A NEW DATASET, A NULL LIBRARY NAME IS PASSED TO  *
*                THE ACS FILTER ROUTINES:                             *
*                1. IF THE FILTER ROUTINES MAKE THE REQUEST SMS-      *
*                   MANAGED MOUNTABLE, SMS FAILS THE JOB.             *
*                2. IF THE FILTER ROUTINES DO NOT MAKE THE REQUEST    *
*                   SMS-MANAGED MOUNTABLE, A NON-LIBRARY-RESIDENT     *
*                   TAPE DRIVE IS ALLOCATED.                          *
*                                                                     *
*        2. DEVICE ALLOCATION PROCESSING                              *
*                                                                     *
*           JOB STEP SETUP PROCESSING HAS DESIGNATED THE REQUEST AS   *
*           SMS-MANAGED MOUNTABLE, BUT THE VOLUME HAS BEEN EJECTED    *
*           FROM ITS LIBRARY.                                         *
*                                                                     *
*           THE VOLUME STATES ARE THE SAME AS FOR JOB STEP SETUP      *
*           PROCESSING.                                               *
*                                                                     *
*           IN A JES2 ENVIRONMENT, IF THE EXIT CAUSES THE VOLUME TO   *
*           BE ENTERED INTO ANY TAPE LIBRARY, THEN A LIBRARY-         *
*           RESIDENT TAPE DRIVE WILL BE ALLOCATED.                    *
*                                                                     *
*           IN A JES3 ENVIRONMENT, THE EXIT MUST CAUSE THE VOLUME TO  *
*           BE ENTERED INTO THE SAME LIBRARY IN WHICH IT RESIDED      *
*           DURING JOB STEP SETUP PROCESSING.  IN THIS CASE, A        *
*           LIBRARY-RESIDENT TAPE DRIVE WILL BE SUCCESSFULLY          *
*           ALLOCATED.  IF THE EXIT CAUSES THE VOLUME TO BE ENTERED   *
*           INTO A DIFFERENT LIBRARY, THEN THE JOB STEP WILL FAIL.    *
*                                                                     *
*           IF THE EXIT TAKES NO ACTION, THEN THE JOB STEP WILL       *
*           FAIL.                                                     *
*                                                                     *
*        3. LIBRARY MOUNT PROCESSING                                  *
*                                                                     *
*           THE SYSTEM IS ATTEMPTING TO MOUNT THE VOLUME ON A         *
*           LIBRARY-RESIDENT TAPE DRIVE.                              *
*                                                                     *
*           THE VOLUME MAY HAVE ONE OF FIVE STATES:                   *
*             A. THE VOLUME IS KNOWN TO BE SHELF-RESIDENT.  THERE IS  *
*                A TAPE VOLUME RECORD FOR THE VOLUME IN THE TCDB.     *
*             B. THE VOLUME IS KNOWN TO RESIDE IN A DIFFERENT         *
*                LIBRARY.  THERE IS A TAPE VOLUME RECORD FOR THE      *
*                VOLUME IN THE TCDB.                                  *
*             C. THE VOLUME IS KNOWN TO RESIDE IN THE CORRECT         *
*                LIBRARY, BUT VOLUME EJECTION IS ALREADY IN PROGRESS  *
*                AND CANNOT BE CANCELED.  THERE IS CURRENTLY A TAPE   *
*                VOLUME RECORD IN THE TCDB, BUT THIS MAY BE PURGED    *
*                WHEN VOLUME EJECTION COMPLETES.                      *
*             D. THE VOLUME IS UNKNOWN TO THE SYSTEM.  THERE IS NO    *
*                TAPE VOLUME RECORD FOR THE VOLUME IN THE TCDB.       *
*             E. THE VOLUME IS KNOWN TO BE AN EXPORTED LOGICAL        *
*                VOLUME. THERE IS A TAPE VOLUME RECORD IN THE         *
*                TAPE CONFIGURATION DATABASE WITH STACKED=VOLSER      *
*                IN THE SHELF LOCATION FIELD.                         *
*                                                                     *
*           NOTE: IF A LOGICAL VOLUME IS EXPORT PENDING OR IN         *
*           PROCESS OF BEING EXPORTED, THE VOLUME NOT IN LIBRARY      *
*           INSTALLATION EXIT WILL NOT BE INVOKED. FOR THE EXIT       *
*           TO BE INVOKED FOR A LOGICAL VOLUME, IT MUST HAVE          *
*           COMPLETED THE EXPORT PROCESS.                             *
*                                                                     *
*           IF THE EXIT CAUSES THE VOLUME TO BE ENTERED INTO THE      *
*           TAPE LIBRARY WHERE THE DRIVE RESIDES, THE VOLUME MOUNT    *
*           WILL BE RETRIED.                                          *
*                                                                     *
*           IF THE EXIT TAKES NO ACTION, THEN THE JOB STEP WILL       *
*           FAIL.                                                     *
*                                                                     *
*                                                                     *
*    NOTES:                                                           *
*                                                                     *
*      CHARACTER CODE:        EBCDIC                                  *
*                                                                     *
*      RESTRICTIONS:          NONE                                    *
*                                                                     *
*      REGISTER CONVENTIONS:                                          *
*        R0  - WORK REGISTER                                          *
*        R1  - STANDARD LINKAGE REGISTER                              *
*            - PARAMETER LIST ADDRESS                                 *
*            - WORK REGISTER                                          *
*        R2  - NOT USED                                               *
*        R3  - NOT USED                                               *
*        R4  - NOT USED                                               *
*        R5  - NOT USED                                               *
*        R6  - NOT USED                                               *
*        R7  - NOT USED                                               *
*        R8  - SHFLOCFD BASE REGISTER                                 *
*        R9  - RETURN CODE WORK REGISTER                              *
*        R10 - CBRUXVNL WORKING STORAGE BASE REGISTER                 *
*        R11 - UXNPL BASE REGISTER                                    *
*        R12 - CBRUXVNL BASE REGISTER                                 *
*        R13 - STANDARD LINKAGE REGISTER                              *
*            - SAVE AREA ADDRESS                                      *
*        R14 - STANDARD LINKAGE REGISTER                              *
*            - RETURN POINT ADDRESS                                   *
*            - WORK REGISTER                                          *
*        R15 - STANDARD LINKAGE REGISTER                              *
*            - ENTRY POINT ADDRESS                                    *
*            - RETURN CODE                                            *
*            - WORK REGISTER                                          *
*                                                                     *
*    MODULE TYPE:             CONTROL SECTION                         *
*                                                                     *
*      PROCESSOR:             ASSEMBLER H                             *
*                                                                     *
*      ATTRIBUTES:                                                    *
*                                                                     *
*        LOCATION:            JOB PACK AREA SUBPOOL 252               *
*        STATE:               CALLER'S                                *
*        AMODE:               31                                      *
*        RMODE:               ANY                                     *
*        KEY:                 CALLER'S                                *
*                             MAY BE DIFFERENT FROM JOB KEY           *
*        MODE:                TASK                                    *
*        SERIALIZATION:       UNLOCKED                                *
*        TYPE:                REUSABLE                                *
*                             REENTRANT                               *
*                             REFRESHABLE                             *
*        AUTHORIZATION:       APF AUTHORIZED                          *
*                                                                     *
*      LINKAGE:               STANDARD LINKAGE CONVENTIONS            *
*                                                                     *
*      CALLING SEQUENCE:                                              *
*        CBRUXVNL IS INVOKED USING THE MVS LINK MACRO.                *
*                                                                     *
*      INPUT:                                                         *
*        AT ENTRY TO CBRUXVNL, REGISTER 1 CONTAINS THE ADDRESS OF     *
*        THE VOLUME NOT IN LIBRARY INSTALLATION EXIT PARAMETER LIST.  *
*        THE PARAMETER LIST FORMAT IS GIVEN BY MAPPING MACRO          *
*        CBRUXNPL.                                                    *
*                                                                     *
*      OUTPUT:                                                        *
*        A RETURN CODE IS PLACED IN REGISTER 15:                      *
*          CODE  MEANING                                              *
*            0   CONTINUE NORMAL PROCESSING OF THIS REQUEST.  NO      *
*                CHANGE HAS BEEN MADE TO TAPE VOLUME RESIDENCE.       *
*            4   RETRY THE CURRENT OPERATION.  THE TAPE VOLUME HAS    *
*                BEEN ENTERED INTO THE APPROPRIATE LIBRARY.           *
*            8   CANCEL THE JOB IMMEDIATELY.                          *
*           12   NOT USED.                                            *
*           16   DO NOT INVOKE THE VOLUME NOT IN LIBRARY              *
*                INSTALLATION EXIT AGAIN.  CONTINUE NORMAL            *
*                PROCESSING OF THE CURRENT REQUEST.  NO CHANGE HAS    *
*                BEEN MADE TO TAPE VOLUME RESIDENCE.                  *
*                                                                     *
*      EXIT NORMAL:                                                   *
*        RETURN TO THE CALLER WITH ONE OF THE RETURN CODES DESCRIBED  *
*        ABOVE.                                                       *
*                                                                     *
*      EXIT ERROR:  NONE                                              *
*                                                                     *
*    EXTERNAL REFERENCES:                                             *
*                                                                     *
*      ROUTINES:  NONE                                                *
*                                                                     *
*      CONTROL BLOCKS:                                                *
*        CBRUXNPL - VOLUME NOT IN LIBRARY INSTALLATION                *
*                   EXIT PARAMETER LIST                   - R/O       *
*                                                                     *
*    EXECUTABLE MACROS:                                               *
*      FREEMAIN                                                       *
*      GETMAIN                                                        *
*      RETURN                                                         *
*      SAVE                                                           *
*      WAIT                                                           *
*      WTO                                                            *
*      WTOR                                                           *
*                                                                     *
*    MESSAGES:  VNL001 VOLUME NOT IN LIBRARY EXIT                     *
*                      VOLUME (VOLSER) UNKNOWN TO SYSTEM              *
*                                      ON STACKED (VOLSER)            *
*                                      SHELF-RESIDENT                 *
*                                      EJECT IN PROGRESS              *
*                                      IN LIBRARY (LIBNAME)           *
*                      DURING JOB STEP SETUP                          *
*                             DEVICE ALLOCATION                       *
*                             LIBRARY MOUNT                           *
*                      ENTER INTO ANY LIBRARY                         *
*                                 LIBRARY (LIBNAME)                   *
*                                                                     *
*               VNL002 REPLY 'CONT', 'RETRY', 'CANCEL', OR 'DISABLE'  *
*                                                                     *
*    ABEND CODES:  NONE                                               *
**** END OF SPECIFICATIONS ********************************************
         TITLE 'CBRUXNPL - VOLUME NOT IN LIBRARY EXIT PARAMETER LIST'
         CBRUXNPL  ,                VOLUME NOT IN LIBRARY PARAMETERS
         TITLE 'STANDARD REGISTER DEFINITIONS'
*---------------------------------------------------------------------*
*                                                                     *
*        STANDARD REGISTER DEFINITIONS                                *
*                                                                     *
*---------------------------------------------------------------------*
R0       EQU   0                    GENERAL REGISTER 0
R1       EQU   1                    GENERAL REGISTER 1
R2       EQU   2                    GENERAL REGISTER 2
R3       EQU   3                    GENERAL REGISTER 3
R4       EQU   4                    GENERAL REGISTER 4
R5       EQU   5                    GENERAL REGISTER 5
R6       EQU   6                    GENERAL REGISTER 6
R7       EQU   7                    GENERAL REGISTER 7
R8       EQU   8                    GENERAL REGISTER 8
R9       EQU   9                    GENERAL REGISTER 9
R10      EQU   10                   GENERAL REGISTER 10
R11      EQU   11                   GENERAL REGISTER 11
R12      EQU   12                   GENERAL REGISTER 12
R13      EQU   13                   GENERAL REGISTER 13
R14      EQU   14                   GENERAL REGISTER 14
R15      EQU   15                   GENERAL REGISTER 15
 
        TITLE 'SHELF LOCATION FIELD FORMAT'
*---------------------------------------------------------------------*
*                                                                     *
*         SHELF LOCATION FIELD FORMAT. THE FOLLOWING DSECT            *
*         MAPS TO THE DEFAULT SHELF LOCATION FIELD.                   *
*                                                                     *
*---------------------------------------------------------------------*
SHFLOCFD DSECT ,                    MAPS THE TCDB SHELF LOC FIELD
STKVOLTX DS    CL8                  STACKED= VOLUME TEXT
STKVOLSR DS    CL6                  VOLSER FOR THE STACKED VOLUME
         DS    CL18                 AVAILABLE
         SPACE 2
         TITLE 'CBRUXVNL WORKING STORAGE'
*---------------------------------------------------------------------*
*                                                                     *
*        CBRUXVNL WORKING STORAGE                                     *
*                                                                     *
*---------------------------------------------------------------------*
VNLWORK  DSECT ,                    CBRUXVNL WORKING STORAGE
         SPACE 2
SAVE     DS    18F                  CBRUXVNL SAVE AREA
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        MULTI-LINE WTO PARAMETER LIST                                *
*                                                                     *
*---------------------------------------------------------------------*
WTOLIST  WTO   TEXT=((,C),(,D),(,D),(,DE)),                            +
               ROUTCDE=(3,5),                                          +
               CONSNAME=,                                              +
               MF=L
WTOLISTL EQU   *-WTOLIST
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        MULTI-LINE WTO TEXT LINES                                    *
*                                                                     *
*---------------------------------------------------------------------*
CTRLLINE DS    0F                   MLWTO CONTROL LINE
         DS    AL2                  LENGTH OF MESSAGE TEXT
         DS    C'VNL001 VOLUME NOT IN LIBRARY EXIT'
CTRLLEN  EQU   *-CTRLLINE           LENGTH OF CONTROL LINE
         SPACE 2
VOLLINE  DS    0F                   VOLUME INFORMATION LINE
         DS    AL2                  LENGTH OF MESSAGE TEXT
         DS    C'VOLUME '
VOLSER   DS    CL6                  MISSING VOLUME SERIAL NUMBER
         DS    C' '
VOLSTATE DS    CL19'UNKNOWN TO SYSTEM  '  ERROR ASSOCIATED WITH VOLUME
VOLLEN   EQU   *-VOLLINE            LENGTH OF VOLUME INFORMATION LINE
         SPACE 2
VOLLOGCL DS    0CL19                WHERE THE LOGICAL VOLUME LIVES
         DS    C'ON STACKED '
VOLSTKVS DS    CL6                  VOLSER FOR THE STACKED VOLUME
         DS    CL2' '
         SPACE 2
VOLLIBER DS    0CL19                VOLUME IN WRONG LIBRARY ERROR
         DS    C'IN LIBRARY '
VOLCLIB  DS    CL8                  LIBRARY WHERE VOLUME RESIDES
         SPACE 2
STAGLINE DS    0F                   PROCESSING STAGE LINE
         DS    AL2                  LENGTH OF MESSAGE TEXT
         DS    C'DURING '
STAGE    DS    CL17'JOB STEP SETUP   '  PROCESSING STAGE
STAGLEN  EQU   *-STAGLINE           LENGTH OF PROCESSING STAGE LINE
         SPACE 2
ACTLINE  DS    0F                   ACTION REQUIRED LINE
         DS    AL2                  LENGTH OF MESSAGE TEXT
         DS    C'ENTER INTO '
ACTLIB   DS    CL16'ANY LIBRARY     '  TARGET LIBRARY IDENTIFICATION
ACTLEN   EQU   *-ACTLINE            LENGTH OF ACTION REQUIRED LINE
         SPACE 2
ACTSPLIB DS    0CL16                SPECIFIC TARGET LIBRARY TEXT
         DS    C'LIBRARY '
ACTTLIB  DS    CL8                  TARGET LIBRARY NAME
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        WTOR PARAMETER LIST AND RELATED FIELDS                       *
*                                                                     *
*---------------------------------------------------------------------*
WTORLIST WTOR  TEXT=(,,,),                                             +
               ROUTCDE=(3,5),                                          +
               CONSNAME=,                                              +
               MF=L
WTORLSTL EQU   *-WTORLIST
         SPACE 2
WTORECB  DS    F                    WTOR EVENT CONTROL BLOCK
WTORREP  DS    CL7                  WTOR REPLY AREA
         SPACE 2
WORKEND  DS    0D                   END OF CBRUXVNL WORKING STORAGE
WORKLEN  EQU   *-VNLWORK            CBRUXVNL WORKING STORAGE LENGTH
         TITLE 'CBRUXVNL - VOLUME NOT IN LIBRARY INSTALLATION EXIT'
*---------------------------------------------------------------------*
*                                                                     *
*        CBRUXVNL ENTRY POINT                                         *
*                                                                     *
*---------------------------------------------------------------------*
CBRUXVNL CSECT ,                    VOLUME NOT IN LIBRARY INST EXIT
CBRUXVNL AMODE 31
CBRUXVNL RMODE ANY
         SAVE  (14,12),,            SAVE CALLER'S REGISTERS AND        +
               'CBRUXVNL&SYSDATE'     MARK ENTRY POINT
         LR    R12,R15              COPY ENTRY POINT ADDRESS
         USING CBRUXVNL,R12         CBRUXVNL BASE REGISTER
         LR    R11,R1               COPY PARAMETER ADDRESS
         USING UXNPL,R11            VOLUME NOT IN LIBRARY PARAMETERS
         LA    R8,UXNSHLOC          ADDRESS OF THE TCDB SHELF LOC
         USING SHFLOCFD,R8          SHELF LOCATION FIELD
         GETMAIN  RU,               GETMAIN WORKING STORAGE FROM       +
               LV=WORKLEN,            SUBPOOL 230 TO GET PSW KEY       +
               SP=230                 STORAGE
         LR    R10,R1               SAVE WORKING STORAGE ADDRESS
         USING VNLWORK,R10          CBRUXVNL WORKING STORAGE
         LR    R14,R1               START ADDRESS OF TARGET AREA
         LA    R15,WORKLEN          TARGET LENGTH
         LR    R0,R1                START ADDRESS OF SOURCE AREA
         SR    R1,R1                ZERO SOURCE LENGTH AND PAD BYTE
         MVCL  R14,R0               CLEAR WORKING STORAGE
         ST    R13,SAVE+4           BACKWARD CHAIN SAVE AREAS
         LA    R0,SAVE              CBRUXVNL SAVE AREA ADDRESS
         ST    R0,8(,R13)           FORWARD CHAIN SAVE AREAS
         LR    R13,R0               SET CBRUXVNL SAVE AREA ADDRESS
         EJECT ,
***********************************************************************
***********************************************************************
*                                                                     *
*        AT THIS POINT, A CALL TO THE INSTALLATION TAPE MANAGEMENT    *
*        SYSTEM SHOULD BE MADE TO GATHER INFORMATION ABOUT THE        *
*        VOLUME.                                                      *
*                                                                     *
***********************************************************************
***********************************************************************
         EJECT ,
*---------------------------------------------------------------------*
*                                                                     *
*        COPY THE MODEL WTO PARAMETER LIST TO DYNAMIC STORAGE         *
*                                                                     *
*---------------------------------------------------------------------*
         MVC   WTOLIST(WTOLISTL),WTOMODEL  WTO PARAMETER LIST
         MVC   CTRLLINE(CTRLLEN),CTRLMODL  MLWTO CONTROL LINE
         MVC   VOLLINE(VOLLEN),VOLMODL     VOLUME INFORMATION LINE
         MVC   STAGLINE(STAGLEN),STAGMODL  PROCESSING STAGE LINE
         MVC   ACTLINE(ACTLEN),ACTMODL     ACTION REQUIRED LINE
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        COMPLETE THE TEXT INSERTS FOR THE MULTI-LINE WTO             *
*                                                                     *
*---------------------------------------------------------------------*
         MVC   VOLSER,UXNVOLSR      SET VOLUME SERIAL NUMBER
         CLI   UXNERROR,UXNNTCDB    VOLUME UNKNOWN TO SYSTEM?
         BE    VNL1600              YES. GO CHECK PROCESSING STAGE
         CLI   UXNERROR,UXNSHELF    VOLUME SHELF-RESIDENT?
         BE    VNL1200              YES. GO SET INSERT
         CLI   UXNERROR,UXNEJECT    VOLUME EJECT IN PROGRESS?
         BE    VNL1400              YES. GO SET INSERT
         MVC   VOLLIBER,=CL19'IN LIBRARY LIB-NAME'  WRONG LIBRARY
         MVC   VOLCLIB,UXNLIBRS     LIBRARY WHERE VOLUME NOW RESIDES
         MVC   VOLSTATE,VOLLIBER    SET DIFFERENT LIBRARY INSERT
         B     VNL1600              GO CHECK PROCESSING STAGE
VNL1200  DS    0H
         CLC   STKVOLTX,=CL8'STACKED=' COMPARE SHELF LOC FIELD
         BE    VNL1300              YES. GO SET SHELF LOCATION
         MVC   VOLSTATE,=CL19'SHELF-RESIDENT'
         B     VNL1600              GO CHECK PROCESSING STAGE
VNL1300  DS    0H
         MVC   VOLLOGCL,=CL19'ON STACKED VOLSER  '  STACKED VOLUME
         MVC   VOLSTKVS,STKVOLSR
         MVC   VOLSTATE,VOLLOGCL
         B     VNL1600              GO CHECK PROCESSING STAGE
VNL1400  DS    0H
         MVC   VOLSTATE,=CL19'EJECT IN PROGRESS'
VNL1600  DS    0H
         CLI   UXNWHERE,UXNSETUP    JOB STEP SETUP PROCESSING?
         BE    VNL2000              YES. GO SET ACTION
         CLI   UXNWHERE,UXNALLOC    DEVICE ALLOCATION PROCESSING?
         BE    VNL1800              YES. GO SET INSERT
         MVC   STAGE,=CL17'LIBRARY MOUNT'  SET LIBRARY MOUNT INSERT
         B     VNL2000              GO SET ACTION
VNL1800  DS    0H
         MVC   STAGE,=CL17'DEVICE ALLOCATION'  SET ALLOCATION INSERT
VNL2000  DS    0H
         CLC   UXNLIB,=CL8' '       TARGET LIBRARY UNKNOWN?
         BE    VNL3000              YES. GO ISSUE MLWTO
         MVC   ACTSPLIB,=CL16'LIBRARY LIB-NAME'  TARGET LIBRARY TEXT
         MVC   ACTTLIB,UXNLIB       LIBRARY WHERE VOLUME NEEDED
         MVC   ACTLIB,ACTSPLIB      SET TARGET LIBRARY INSERT
         EJECT ,
*---------------------------------------------------------------------*
*                                                                     *
*        ISSUE THE MULTI-LINE WTO                                     *
*                                                                     *
*---------------------------------------------------------------------*
VNL3000  DS    0H
         SR    R0,R0                CLEAR R0 BEFORE MULTI-LINE WTO
         WTO   TEXT=(CTRLLINE,VOLLINE,STAGLINE,ACTLINE),               +
               CONSNAME=UXNLCON,                                       +
               MF=(E,WTOLIST)
         EJECT ,
*---------------------------------------------------------------------*
*                                                                     *
*        ISSUE THE WTOR                                               *
*                                                                     *
*---------------------------------------------------------------------*
         MVC   WTORLIST(WTORLSTL),WTORMODL  COPY WTOR PARAMETER LIST
         SR    R15,R15              GET CONSTANT ZERO
         ST    R15,WTORECB          CLEAR WTOR ECB
         MVC   WTORREP,=CL7' '      SET WTOR REPLY AREA TO BLANKS
         SR    R0,R0                CLEAR R0 BEFORE WTOR
         WTOR  TEXT=(WTORLINE,WTORREP,L'WTORREP,WTORECB),              +
               CONSNAME=UXNLCON,                                       +
               MF=(E,WTORLIST,EXTENDED)
         WAIT  1,                   WAIT FOR OPERATOR REPLY            +
               ECB=WTORECB
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        CHECK THE OPERATOR REPLY                                     *
*                                                                     *
*---------------------------------------------------------------------*
         OC    WTORREP,=CL7' '      CONVERT RESPONSE TO UPPER CASE
         LA    R9,UXNNORML          SET CONTINUE RETURN CODE
         CLC   WTORREP,=CL7'CONT'   CONTINUE (VOLUME NOT ENTERED)?
         BE    VNLEXIT              YES. EXIT WITH PRESET RETURN CODE
         LA    R9,UXNRETRY          SET RETRY RETURN CODE
         CLC   WTORREP,=CL7'RETRY'  RETRY (VOLUME ENTERED)?
         BE    VNLEXIT              YES. EXIT WITH PRESET RETURN CODE
         LA    R9,UXNFAIL           SET CANCEL RETURN CODE
         CLC   WTORREP,=CL7'CANCEL' CANCEL JOB STEP?
         BE    VNLEXIT              YES. EXIT WITH PRESET RETURN CODE
         LA    R9,UXNDONT           SET DISABLE EXIT RETURN CODE
         CLC   WTORREP,=CL7'DISABLE'  DISABLE EXIT?
         BNE   VNL3000              NO. REISSUE MLWTO AND WTOR
         EJECT ,
*---------------------------------------------------------------------*
*                                                                     *
*        RETURN TO THE CALLER                                         *
*                                                                     *
*---------------------------------------------------------------------*
VNLEXIT  DS    0H
         L     R13,SAVE+4           RESTORE CALLER'S SAVE AREA ADDRESS
         FREEMAIN  RU,              RELEASE WORKING STORAGE            +
               LV=WORKLEN,                                             +
               A=(R10),                                                +
               SP=230
         LR    R15,R9               SET RETURN CODE
         RETURN  (14,12),           RESTORE CALLER'S REGISTERS, THEN   +
               RC=(15)                RETURN TO CALLER
         TITLE 'CBRUXVNL CONSTANTS'
*---------------------------------------------------------------------*
*                                                                     *
*        CBRUXVNL CONSTANTS                                           *
*                                                                     *
*---------------------------------------------------------------------*
         SPACE 2
         LTORG ,                    LITERAL CONSTANTS
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        MODEL MULTI-LINE WTO PARAMETER LIST                          *
*                                                                     *
*---------------------------------------------------------------------*
WTOMODEL WTO   TEXT=((,C),(,D),(,D),(,DE)),                            +
               ROUTCDE=(3,5),                                          +
               CONSNAME=,                                              +
               MF=L
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        MODEL MULTI-LINE WTO TEXT LINES                              *
*                                                                     *
*---------------------------------------------------------------------*
CTRLMODL DC    0F'0'                MLWTO CONTROL LINE MODEL
         DC    AL2(CTRLMLEN-2)
         DC    C'VNL001 VOLUME NOT IN LIBRARY EXIT'
CTRLMLEN EQU   *-CTRLMODL
         SPACE 2
VOLMODL  DC    0F'0'                VOLUME INFORMATION LINE MODEL
         DC    AL2(VOLMLEN-2)
         DC    C'VOLUME '
         DC    C'VOLSER'
         DC    C' '
         DC    CL19'UNKNOWN TO SYSTEM  '
VOLMLEN  EQU   *-VOLMODL
         SPACE 2
STAGMODL DC    0F'0'                PROCESSING STAGE LINE MODEL
         DC    AL2(STAGMLEN-2)
         DC    C'DURING '
         DC    CL17'JOB STEP SETUP   '
STAGMLEN EQU   *-STAGMODL
         SPACE 2
ACTMODL  DC    0F'0'                ACTION REQUIRED LINE MODEL
         DC    AL2(ACTMLEN-2)
         DC    C'ENTER INTO '
         DC    CL16'ANY LIBRARY     '
ACTMLEN  EQU   *-ACTMODL
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        MODEL WTOR PARAMETER LIST                                    *
*                                                                     *
*---------------------------------------------------------------------*
WTORMODL WTOR  TEXT=(,,,),                                             +
               ROUTCDE=(3,5),                                          +
               CONSNAME=,                                              +
               MF=L
         SPACE 2
*---------------------------------------------------------------------*
*                                                                     *
*        MODEL WTOR TEXT LINE                                         *
*                                                                     *
*---------------------------------------------------------------------*
WTORLINE DC    0F'0'                WTOR MESSAGE TEXT
         DC    AL2(WTORLEN-2)
         DC    C'VNL002 REPLY ''CONT'', ''RETRY'', ''CANCEL'', OR ''DIS+
               ABLE'''
WTORLEN  EQU   *-WTORLINE
         SPACE 2
         END   CBRUXVNL

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014