DA$MPF03 TITLE 'Change selected message route codes'
***********************************************************************
***                                                                 ***
**                                                                   **
**    Module Name       = DA$MPF03                                   **
**                                                                   **
**    Descriptive Name  = Change route codes                         **
**                                                                   **
**    Functions         = To Wit:                                    **
**                        - MAKES MESSAGE IEF450I IEF451I IEF452I    **
**                          AND IEF453I DESC=2 FOR PRODUCTION JOBS.  **
**                          THIS PREVENTS 'JOB ABEND' AND 'JCL       **
**                          ERROR' MESSAGES FROM ROLLING OFF THE FOR **
**                          A PRODUCTION JOB.  A PRODUCTION JOB IS   **
**                          ANY JOB THAT DOES NOT HAVE 'TSO' IN      **
**                          POSITIONS 2 TO 4 OF THE JOB NAME AND     **
**                          DOES HAVE A 'D' IN POSITION 1 OF THE JOB **
**                          NAME MEANING DALLAS JOBS.  IT ALSO       **
**                          CHANGES THE ROUTE CODE TO (1,2,3,4).     **
**                          IEF451I IS A CONDTION CODE MESSAGE.  THE **
**                          CONDTION CODE HAS TO BE IN THE JOBCARD   **
**                          FOR THIS MESSAGE TO BE PRODUCED.  IF A   **
**                          CONDITION CODE IS SATISFIED ON AN EXEC   **
**                          CARD, FLUSH MESSAGES WILL BE ISSUED AND  **
**                          NOT IEF451I, PREVENTING THIS EXIT FROM   **
**                          CHANGING ROUTE AND DESCRIPTOR.           **
**                                                                   **
**                        - IT ALSO CHANGES THE SPOOL OFFLOAD        **
**                          WRITER WAITING FOR MESSAGE 'IEF176I'     **
**                          TO BE HIGH-LIGHTED.                      **
**                                                                   **
**                                                                   **
**    Reference         = GC28-1147 MVS-XA SPL: User Exits           **
**                                                                   **
**    Activated by      = SET MFP=XX  (MVS operator command)         **
**                        - Where XX is a member in 'SYS1.PARMLIB':  **
**                          'SYS1.PARMLIB(MPFLSTXX)'                 **
**                        - REFERENCE IN MPFLSTXX:                   **
**                          IEF176I,SUP(NO),USEREXIT(DA$MPF03)       **
**                          IEF450I,SUP(NO),USEREXIT(DA$MPF03)       **
**                          IEF451I,SUP(NO),USEREXIT(DA$MPF03)       **
**                          IEF452I,SUP(NO),USEREXIT(DA$MPF03)       **
**                          IEF453I,SUP(NO),USEREXIT(DA$MPF03)       **
***                                                                 ***
***********************************************************************
         SPACE 2
***********************************************************************
***
**           M o d i f i c a t i o n   H i s t o r y
**
** Person     Date        Description
** ---------- ----------- ------------------------------------------
** DGAlcock   28-AUG-1998 For CBT tape and Internet distribution,
**                        our installation checks were disabled,
**                        See the lines marked "*Check->";
** DGAlcock   22-APR-1992 Changed from IEAVMXT1 to new DA$MPF03 name;
***
***********************************************************************
DA$MPF03 CSECT
DA$MPF03 RMODE ANY
DA$MPF03 AMODE 31
         SAVE  (14,12),,DA$MPF03_&SYSDATE._&SYSTIME
         LR    R10,R15          R10 = BASE REG
         USING DA$MPF03,R10
*
** Locate control blocks
*
         L     R1,0(,R1)        R1 ---> ADDRESS OF CTXT PARAMETER LIST
         L     R2,8(,R1)        R2 ---> ADDRESS OF TEXT OF MESSAGE
         L     R3,36(,R1)       R3 ---> ADDRESS OF DESCRIPTOR CODES
         L     R4,32(,R1)       R4 ---> ADDRESS OF ROUTE CODES
IEAVM020 DS    0H
*Check-> CLC   15(3,R2),=C'TSO'     IS THIS A TEST JOB ?
*Check-> BE    IEAVM100             YES DO NOT PROCESS.
*Check-> CLC   14(3,R2),=C'WTR'     IS THIS A SPOOL OFFLOAD MSG?
*Check-> BE    IEAVM030             YES PROCESS.
*Check-> CLC   14(1,R2),=C'D'       IS THIS A DALLAS JOB ?
*Check-> BNE   IEAVM100             NO - DO NOT PROCESS.
         MVI   48(R1),B'01100000'   NOTIFY TO CHANGE DESCRIPTOR & ROUTE
         OI    0(R4),X'F0'          SET ALL ROUTE CODES (1,2,3,4)
         MVI   0(R3),B'01000000'    SET DESC=2
         B     IEAVM100             YES DO NOT PROCESS.
IEAVM030 MVI   48(R1),B'01100000'   NOTIFY TO CHANGE DESCRIPTOR & ROUTE
         OI    0(R4),X'F0'          SET ALL ROUTE CODES (1,2,3,4)
         MVI   0(R3),B'01000000'    SET DESC=2
IEAVM100 DS    0H
*
** Return to caller
*
         RETURN (14,12)             SET UP RETURN
*
** Data constants
*
         LTORG ,
         YREGS ,                    Register Equates
         END
