z/OS JES3 Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Example of the Use of Some Fields in Validation

z/OS JES3 Customization
SA32-1006-00

Figure 1 shows a list of the fields that are most involved in job validation. Following the list are some examples of code showing the use of the fields.

Figure 1. Fields Used in Job Validation
JVW fields to be used by a user-written validation/restart 
routine.

   Field         Size          Purpose
   --------------------------------------------------------------
   JVWWORKD      8 bytes       Doubleword work area that can
                               be used as a temporary save area
                               or as a conversion work area

   JVWCONVD      8 bytes       Doubleword work area that can
                               be used as a temporary save area
                               or as a conversion work area

   JVWWORK       4 bytes       Fullword work area that can be
                               used as a temporary save area
                               or as a conversion work area

   JVWJOBNM      8 bytes       The job name

   JVWJOBID      8 bytes       The job identifier

   JVWJCT        4 bytes       The address of the job's JCT

   JVWSTA1-      1 byte each   Job status indicators
    JVWSTA8

   JVWWKFDB     12 bytes       A work FDB - to be used to
                               read in a spool control block

   JVWCHFDB     12 bytes       A work FDB - to be used as a
                               save area to the next FDB of
                               a chain of FDBs

   JVWVFDB      16 bytes       The list form of the IATXVFDB macro
                               that may be used with the execute
                               form of the IATXVFDB or IATXVSRV
                               macros

   JVWWTO      124 bytes       The list form of the WTO macro
                               that may be used with the IATXVSRE
                               and IATXVMSG macros
THE FOLLOWING CODE SAMPLE SHOWS THE USES OF SOME FIELDS:


         L     R7,JVDJVWAD             ADDRESS THE JOB'S JVW
         USING JVWSTART,R7
*
*  THE FDB FOR MY CONTROL BLOCK (MYCB) IS IN THE JCT.
*
         L     R3,JVWJCT               ADDRESS of THE JCT
         USING JCTSTART,R3
         MVC   JVWWKFDB,JCTMYFDB       COPY THE FDB
         DROP  R3                      RELEASE REGISTER 3
*
*  VALIDATE THE FDB
*
         IATXVFDB FDB=JVWWKFDB,        VALIDATE THE FDB
               ID=MYCB,                - CONTROL BLOCK ID
               ROOT=JVWJCFDB,          - ROOT FDB IS THE JCT
               DESC=DESCRIP,           - CONTROL BLOCK DESCRIPTOR
               ERROR=OUT,              - ERROR RETURN
               NAVAIL=OUT,             - UNAVAIL RETURN
               MF=(E,JVWVFDB)          - EXECUTE FORM
*
*  READ THE CONTROL BLOCK INTO STORAGE
*
         JESREAD FDB=JVWWKFDB,         READ THE CONTROL BLOCK
               ID=MYCB,                - CONTROL BLOCK ID
               ERROR=ERRMYCB           - ERROR RETURN
         L     R2,JVWWKFDB             GET THE CONTROL BLOCK ADDRESS
         USING MYCBSTRT,R2
*
*  VALIDATION OF PARTICULAR FIELDS WITH MYCB IS DONE HERE.
*
                      .
                      .
          add code here to validate MYCB fields
                      .
                      .
*
*  IF MYCB IS UPDATED, THEN WRITE MYCB BACK TO SPOOL
*
label1   DS    0H
         AWRITE FDB=JVWWKFDB,          - WRITE THE CB TO SPOOL
               ID=MYCB,                - CONTROL BLOCK ID
               ERROR=ERRMYCB           - ERROR RETURN
         B     OUT                     LEAVE
*
*  RELEASE THE FDB
*
label2   DS    0H
         DROP  R2                      RELEASE REGISTER 2
         ARELEASE FDB=JVWWKFDB         RELEASE THE SPOOL BUFFER
         B     OUT                     LEAVE
*
*  IF ERRORS
*
ERRMYCB  DS    0H
         TM    JVWWKFDB+FDBSPFL1-FDBSTART,FDBONSP CB ON SPOOL?
         BC    ALLON,SKIP               BIY
         ARELEASE FDB=JVWWKFDB          RELEASE THE SPOOL BUFFER
*
*  COPY THE MESSAGE INTO THE WTO WORK AREA AND ISSUE IATXVSRE
*
SKIP     DS    0H
         XC    JVWWTO(JVWWTOL),JVWWTO   CLEAR THE WTO AREA
         MVC   JVWWTO(DSP001L),DSP001   COPY MODEL MESSAGE
         IATXVSRE JVWWTO,               MARK THE JOB FOR DELETION
               FDB=JVWWKFDB             - FDB IN ERROR
         B     OUT                      LEAVE
         DROP  R7
*
*  RETURN TO THE CALLER
*
OUT      DS    0H
         ARETURN ,
*
*  CONSTANTS AND LIST FORM OF WTO'S
*
DESCRIP  DC    CL(SRVDESCL)'MY CONTROL BLOCK'
DSP001   WTO   'MY CONTROL BLOCK (MYCB) FAILED A JESREAD',
                MF=L
DSP001L  EQU   *-DSP001

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2013