Previous Topic: UtilitiesNext Topic: Troubleshooting


The Utility Program Table

The utility program table is built using the $UPT macro. The following example shows the $UPT macros as coded in JCLUPT. To terminate the utility program table, code the $UPT macro without operands.

JCLUPT    CSECT
	  PRINT  GEN
          $UPT   IEBGENER,     IBM SEQUENTIAL COPY UTILITY     -
                 CTL=SYSIN,                                    -
                 VBT=IEBGVBT,                                  -
                 REQ=(SYSPRINT),                               -
                 COPY=(SYSUT1,SYSUT2)
          SPACE  1
          $UPT   IEHPROGM,     IBM CATALOG MANAGEMENT UTILITY  -
                 CTL=SYSIN,                                    -
                 VBT=IEHVBT,                                   -
                 REQ=SYSPRINT
          SPACE  1
          $UPT   IDCAMS,          IBM VSAM UTILITY             -
                 CTL=SYSIN,                                    -
                 VBT=AMSVBT,                                   -
                 REQ=SYSPRINT
          SPACE  1
          $UPT   IEBCOPY,         IBM PDS UTILITY              -
                 CTL=SYSIN,                                    -
                 VBT=IEBCVBT,                                  -
                 EXEPARM=YES,     VALIDATE EXEC PARM           -
                 REQ=SYSPRINT
          SPACE  1
          $UPT   FDR,      INNOVATION BACKUP/RESTORE UTILITY   -
                 REQ=SYSPRINT,                                 -
                 COPY=(DISK1,TAPE1),                           -
                 OPTCOPY=(DISK2,TAPE2,                         -
                 DISK3,TAPE3,                                  -
                 DISK4,TAPE4,                                  -
                 DISK5,TAPE5,                                  -
                 DISK6,TAPE6,                                  -
                 DISK7,TAPE7)
          SPACE  1
          $UPT   IKJEFT01,        IBM DB2                      -
                 CTL=SYSTSIN,                                  -
                 VBT=DB2VBT,                                   -
                 REQ=SYSTSPRT
          $UPT   IKJEFT1A,        IBM DB2                      -
                 CTL=SYSTSIN,                                  -
                 VBT=DB2VBT,                                   -
                 REQ=SYSTSPRT
          $UPT   IKJEFT1B,        IBM DB2                      -
                 CTL=SYSTSIN,                                  -
                 VBT=DB2VBT,                                   -
                 REQ=SYSTSPRT
          $UPT   IEWL,            IBM LINKAGE EDITOR/BINDER    -
                 REQ=(SYSPRINT,SYSLMOD),                       -
                 CTL=SYSLIN,                                   -
                 VBT=IEWVBT
          $UPT   HEWL,            IBM LINKAGE EDITOR/BINDER    -
                 REQ=(SYSPRINT,SYSLMOD),                       -
                 CTL=SYSLIN,                                   -
                 VBT=IEWVBT
          SPACE  1
          $UPT   XCOMJOB,         CA XCOM                      -
                 CTL=SYSIN01,                                  -
                 VBT=XCOMVBT
          SPACE  1
          $UPT   ADRDSSU,         IBM SMS UTILITY              -
                 CTL=SYSIN,                                    -
                 VBT=DSSUVBT,     VBT table for EXEC PARM=     -
                 UCP=JCLCDSSU,    UTILITY CALL PROGRAM         -
                 EXEPARM=YES,     VALIDATE EXEC PARM           -
                 CALLPGM=YES,     CALL VALIDATION PROGRAM      -
                 REQ=SYSPRINT
          $UPT   ICEMAN,          IBM SORT UTILITY             -
                 CTL=(SYMNAMES-O,DFSPARM-C,SYSIN-C,JNF1CNTL-O, -
                 JNF2CNTL-O),     CONTROL STATEMENT DDNAMES    -
                 UCP=JCLCSORT,    UTILITY CALL PROGRAM         -
                 EXEPARM=UCP,     VALIDATE EXEC PARM VIA UCP   -
                 CALLPGM=YES,     CALL VALIDATION PROGRAM      -
                 REQ=SYSOUT
          $UPT   SORT,            IBM DFSORT UTILITY (ALIAS)   -
                 CTL=(SYMNAMES-O,DFSPARM-C,SYSIN-C,JNF1CNTL-O, -
                 JNF2CNTL-O),     CONTROL STATEMENT DDNAMES    -
                 UCP=JCLCSORT,    UTILITY CALL PROGRAM         -
                 EXEPARM=UCP,     VALIDATE EXEC PARM VIA UCP   -
                 CALLPGM=YES,     CALL VALIDATION PROGRAM      -
                 REQ=SYSOUT
          $UPT   IERRCO00,        IBM SORT UTILITY (ALIAS)     -
                 CTL=(SYMNAMES-O,DFSPARM-C,SYSIN-C,JNF1CNTL-O, -
                 JNF2CNTL-O),     CONTROL STMT DDNAMES         -
                 UCP=JCLCSORT,    UTILITY CALL PROGRAM         -
                 EXEPARM=UCP,     VALIDATE EXEC PARM VIA UCP   -
                 CALLPGM=YES,     CALL VALIDATION PROGRAM      -
                 REQ=SYSOUT
          $UPT   IGHRCO00,        IBM SORT UTILITY (ALIAS)     -
                 CTL=(SYMNAMES-O,DFSPARM-C,SYSIN-C,JNF1CNTL-O, -
                 JNF2CNTL-O),     CONTROL STMT DDNAMES         -
                 UCP=JCLCSORT,    UTILITY CALL PROGRAM         -
                 EXEPARM=UCP,     VALIDATE EXEC PARM VIA UCP   -
                 CALLPGM=YES,     CALL VALIDATION PROGRAM      -
                 REQ=SYSOUT
          SPACE  1
          $UPT   USERPROG,        USER PROGRAM                 -
                 CTL=USERCNTL,    INPUT CONTROL FILE DDNAME    -
                 VBT=DUMMYVBT,    "DUMMY" VERB TABLE           -
                 REQ=USERPRNT     USERPROG REQUIRED DDNAMES    -
          $UPT,                   END OF TABLE
          SPACE  1
          $JCLUPT,
          END

You can tailor CA JCLCheck to increase its use in your installation. For example, the following $UPT macro defines the required ddnames for commonly used utility programs at your installation. CA JCLCheck automatically checks that all required DD statements are coded.

$UPT USERPGM,REQ=(SYSUT1,SYSUT2,SYSPRINT,SYSIN)

Another use of the $UPT entry is to define control input files to CA JCLCheck for control statement processing (such as IDCAMS and IEHPROGM). For example, the following $UPT macro defines the control input file for the SORT utility. CA JCLCheck retrieves the control statements and lists them on Report #2.

$UPT SORT,CTL=SYSIN

Use the dummy verb table when you have a program that you would like to list the control cards on reports 1 and 2. The dummy verb table also allows the control cards to be passed to the CAZ1REXX program for your analysis. When using the dummy verb table, CA JCLCheck does not validate the control cards.

Examples of verb tables to validate user utility control statements are provided in members JCLUTIL and JCLUPT in the CAZ2SRC library.