Example 14 — Handling an abnormal termination


This example illustrates how to set up UNLOAD PLUS to delete specific files and issue a particular return code should an abnormal termination occur.

This job illustrates the following features:

  • If the unload is unsuccessful and you specify ON FAILURE ALL TERMINATE UTILITY RETCODE returnCode, UNLOAD PLUS terminates and issues the return code that you specify. Having UNLOAD PLUS issue a particular return code enables you to perform an additional step based on that return code.
  • If you also specify DELETEFILES YES, UNLOAD PLUS deletes all SYSREC, SYSRED, and SORTWK files. Using this feature reduces DASD overhead and results in better data integrity by eliminating data sets that could contain only part of the data.

Message 50041I indicates the status of zIIP processing. For this example, the ZIIP installation option is ENABLED, but an SUF (also known as XBM) subsystem was not specified. UNLOAD PLUS automatically located an available SUF (also known as XBM) subsystem to provide zIIP processing.

The following table describes the key command options for this job:

Command options used in JCL

Description

DIRECT NO

Tells UNLOAD PLUS to use Db2 dynamic SQL to process the SELECT statements and read the table data

Using DIRECT NO allows you to unload data by using the full range of functionality that the Db2 SQL SELECT statement provides. However, be aware that DIRECT NO is not a high-performance solution for unloading large volumes of data.

ON FAILURE

Tells UNLOAD PLUS how to handle an abnormal termination (when UNLOAD PLUS ends with a return code that is greater than or equal to 8, or when it abends)

ALL TERMINATE UTILITY RETCODE 11

Specifies that, if a failure occurs in any phase, you want the utility to terminate and issue return code 11

DELETEFILES YES

Deletes the SYSREC, SYSRED, and SORTWK files if a failure occurs

UNLOADDN SYSREC ACTIVE NO

Disables dynamic allocation for the primary unload data set, overriding the default in the installation options module

SELECT *

Unloads all columns

FROM

Specifies the table to unload

WHERE

Qualifies the data to unload

The following figure shows the JCL for example 14:

//    JOBCARD
//********************** ADUEX14 ************************************
//*******************************************************************
//**********   Handling an abnormal termination           ***********
//*******************************************************************
//*  Replace "DB2SYS" by your DB2 subsystem name.                   *
//*  Use your DB2 product install libraries for STEPLIBS :          *
//*     PRODUCT.LIBRARIES                                           *
//*     DB2.DSNEXIT                                                 *
//*     DB2.DSNLOAD                                                 *
//*********************************************************************
//UNLOAD14 EXEC PGM=ADUUMAIN,REGION=0M,
//         PARM=(DB2SYS,'ADUEX14','NEW ',,'MSGLEVEL(1)')
//*********************************************************************
//STEPLIB  DD DISP=SHR,DSN=PRODUCT.LIBRARIES
//         DD DSN=DB2.DSNEXIT,DISP=SHR
//         DD DSN=DB2.DSNLOAD,DISP=SHR
//SYSIN    DD   *
  UNLOAD
         DIRECT NO
         ON FAILURE ALL TERMINATE UTILITY RETCODE 11
         DELETEFILES YES
         UNLOADDN SYSREC ACTIVE NO
*
    SELECT *
           FROM SYSIBM.SYSCOLUMNS A
           WHERE TBCREATOR = 'SYSIBM';
/*
//SYSREC01 DD DSN=ADU.EXAMPL14.SYSREC01,DISP=(NEW,CATLG),
//            UNIT=SYSDA,SPACE=(TRK,(9,2),RLSE)
//X37IGN   DD  DUMMY
//SYSPRINT DD DSN=ADU.EXAMPL14.SYSPRINT,DISP=(NEW,CATLG),
//            UNIT=SYSDA,SPACE=(CYL,(9,2),RLSE)

SYSPRINT for example 14

The following figure shows the SYSPRINT for example 14:

1                               *****  B M C   U N L O A D   P L U S   F O R   D B 2    V13R1.00 *****
                                             (C) COPYRIGHT 1991 - 2022 BMC SOFTWARE, INC.
-BMC50001I UTILITY EXECUTION STARTING    2/21/2022    3:33:28 ...
 BMC50002I UTILITY ID = 'ADUXM14'.  DB2 SUBSYSTEM ID = 'DEND'.  OPTION MODULE = 'ADU$OPTS'.
 BMC50471I z/OS 2.4.0,PID=HBB77C0,DFSMS FOR Z/OS=2.4.0,DB2=12.1.510
 BMC50471I REGION=0M,BELOW 16M=8.6M,ABOVE 16M=1,007.1M,IEFUSI=NO,CPUs=7,GPs=5,zIIPs=2
 BMC50471I MEMLIMIT=15.9E,AVAILABLE=15.9E,MEMLIMIT SET BY:REGION=0
 BMC50471I SMFID=DB2B,JOBID=J0212350,JOB=ADUEX14,STEP=UNLOAD14,CPU=8561-615 (z15)/1.71,72.0G
0
 BMC50471I UNLOAD PLUS FOR DB2--V13.01.00 BASE
 BMC50471I   NO MAINTENANCE TO REPORT
 BMC50471I DB2 UTILITIES COMMON CODE--V13.01.00 BASE
 BMC50471I   NO MAINTENANCE TO REPORT
 BMC50471I SOLUTION COMMON CODE--V13.01.00 BASE
 BMC50471I   MAINT: BPJ1541  BPJ1713  BPJ2211
 BMC50471I BMCSORT ENGINE--V02.04.01
 BMC50471I   MAINT: BPJ0691  BPJ0718  BPJ0881  BPJ0922  BPJ0996  BPJ1164  BPJ1309  BPJ1386  BPJ1497  BPJ1594  BPJ1724  BPJ1809
 BMC50471I          BPJ1833  BPJ1891  BPJ1905  BPJ2109  BPJ2232  BPJ2297
 BMC50471I BMC STATS API--V13.01.00 BASE
 BMC50471I   NO MAINTENANCE TO REPORT
 BMC50471I EXTENDED BUFFER MANAGER--V06.02.01
 BMC50471I   MAINT: BPE0443  BPE0445  BPE0447  BPE0449  BPE0450  BPE0451  BPE0452  BPE0455  BPE0456  BPE0457  BPE0460  BPE0463
 BMC50471I          BPE0467  BPE0468  BPE0469  BPE0473  BPE0474  BPE0475  BPE0479  BPE0480  BPE0482  BPE0487  BPE0488  BPE0489
 BMC50471I          BPE0493  BPE0497  BPE0498  BPE0501  BPE0503  BPE0507  BPE0512  BPE0513  BPE0517  BPE0518  BPE0519  BPE0523
 BMC50471I          BPE0524  BPE0527  BPE0528  BPE0530  BPE0531  BPE0534  BPE0535  BPE0540  BPE0541  BPE0542  BPE0545  BPE0549
 BMC50471I          BPE0551  BPE0552  BPE0555  BPE0556  BPE0557  BPE0560
0
 BMC50471I ANALYZE=(DB2STATS,NOLIMIT)              FORCE_RPT=NO                            SMAX=16
 BMC50471I CENTURY=(1950,2049)                     FORCE=NONE                              SMCORE=(0K,0K)
 BMC50471I CHANGE_CONSISTENT=NO                    HISTORY=YES                             SORTNUM=32
 BMC50471I CHANGE_QUIESCE=NO                       IBUFFS=25                               SQLDELAY=3
 BMC50471I CMAX=16                                 INLINE=NO                               SQLRETRY=100
 BMC50471I CMRATIO=50                              LOADDECP=NO                             SSREPORT=REPORT_SWITCH
 BMC50471I CONSTRULES=BMC                          LOCKROW=YES                             TAPEDISP=DELETE
 BMC50471I CURRENTDEGREE=NONE                      MAXP=5                                  TASKMAX=200%
 BMC50471I DELFILES=NO                             MSGLEVEL=1                              UBUFFS=25
 BMC50471I DRNDELAY=3                              NULLCHAR=X'6F'                          UNLDMAX=200%
 BMC50471I DRNRETRY=10                             NULLTYPE=T1                             UNLOADDN_ACTIVE=(NO,NO)
 BMC50471I DRNWAIT=UTIL                            OPNDB2ID=YES                            UNLOADDN=(SYSREC,SYSRED)
 BMC50471I DSPLOCKS=NONE                           PLAN=ADU1310T                           USELRECL=NO
 BMC50471I EXCLDUMP=(X37,X22,X06)                  RECFM=AUTO                              UXSTATE=SUP
 BMC50471I FILEREFDN=SYSREF                        ROWSETSZ=100                            WORKUNIT=SYSALLDA
 BMC50471I FILL=NO                                 SDUMP=YES                               ZIIP=ENABLED
 BMC50471I FORCE_AT=(START,3)                      SHRLEVEL=REFERENCE                      ZONEDDECOVP=(C,D)
0
0
 BMC50471I TAPES=NONE
0
 BMC50470I OUTPUT   = SYSREC                             SYSRED                               SYSREF
 BMC50470I UNIT     = SYSALLDA                           SYSALLDA                             SYSALLDA
 BMC50470I VOLCNT   = 25                                 25                                   25
 BMC50470I GDGLIMIT = 5                                  5                                    5
 BMC50470I GDGEMPTY = NO                                 NO                                   NO
 BMC50470I GDGSCRAT = NO                                 NO                                   NO
 BMC50470I STORCLAS = NONE                               NONE                                 NONE
 BMC50470I DATACLAS = NONE                               NONE                                 NONE
 BMC50470I MGMTCLAS = NONE                               NONE                                 NONE
 BMC50470I UNITCNT  = 0                                  0                                    0
 BMC50470I SPACE    = CYL                                CYL                                  CYL
 BMC50470I PCTPRIM  = AUTO                               AUTO                                 AUTO
 BMC50470I MAXPRIM  = 0                                  0                                    0
 BMC50470I MAXSECD  = 0                                  0                                    0
 BMC50470I FILESZPCT  100                                100                                  100
 BMC50470I NBRSECD  = AUTO                               AUTO                                 AUTO
 BMC50470I DISKRETN = NONE                               NONE                                 NONE
 BMC50470I DISKEXPD = NONE                               NONE                                 NONE
 BMC50470I RETPD    = NONE                               NONE                                 NONE
 BMC50470I EXPDT    = 99000                              99000                                99000
 BMC50470I TRTCH    = NONE                               NONE                                 NONE
 BMC50470I DSNTYPE  = NONE                               NONE                                 PDS
 BMC50483I SYSREC     VOLUMES=NONE
 BMC50483I SYSRED     VOLUMES=NONE
 BMC50483I SYSREF     VOLUMES=NONE
0
 BMC50483I SYSREC     DSNAME=&USERID.&TYPE.S&SELNUM
 BMC50483I SYSRED     DSNAME=&USERID.&TYPE.S&SELNUM
 BMC50483I SYSREF     DSNAME=&USERID.&TYPE.S&SELNUM.P&POSNUM
0
 BMC50471I DB2 DSNHDECP MODULE SETTINGS:
 BMC50471I VERSION                 = 1310
 BMC50471I SUBSYSTEM DEFAULT       = DEND
 BMC50471I CHARACTER SET           = ALPHANUM
 BMC50471I DATE FORMAT             = USA
 BMC50471I TIME FORMAT             = USA
 BMC50471I LOCAL DATE LENGTH       = 0
 BMC50471I LOCAL TIME LENGTH       = 0
 BMC50471I DECIMAL POINT           = PERIOD
 BMC50471I DECIMAL ARITHMETIC      = 15
 BMC50471I DELIMITER               = DEFAULT
 BMC50471I SQL DELIMITER           = DEFAULT
 BMC50471I ENCODING SCHEME         = EBCDIC
 BMC50471I APPL. ENCODING SCHEME   = EBCDIC
 BMC50471I MIXED                   = NO
 BMC50471I EBCDIC CCSID            = (37,65534,65534)
 BMC50471I ASCII CCSID             = (819,65534,65534)
 BMC50471I UNICODE CCSID           = (367,1208,1200)
 BMC50471I IMPLICIT TIME ZONE      = CURRENT (-06:00)
 BMC50658I DB2 CURRENT FUNCTION LEVEL IS V12R1M509
 BMC50659I DB2 CATALOG LEVEL IS V12R1M509
 BMC50660I DB2 HIGHEST ACTIVATED FUNCTION LEVEL IS V12R1M509
 BMC50661I DB2 CODE LEVEL IS V12R1M510
 BMC50471I BMC_BMCUTIL       ='BMCUTIL.CMN_BMCUTIL'
 BMC50471I BMC_BMCSYNC       ='BMCUTIL.CMN_BMCSYNC'
 BMC50471I BMC_BMCHIST       ='BMCUTIL.CMN_BMCHIST'
 BMC50471I BMC_BMCXCOPY      ='BMCUTIL.CMN_BMCXCOPY'
 BMC50471I BMC_BMCSMARTSWITCH='BMCUTIL.CMN_BMCSWITCH'
 BMC50471I BMC_BMCSSTRACKING ='BMCUTIL.CMN_BMCSSTRACK'
0
0
 BMC50102I   UNLOAD
 BMC50102I          DIRECT NO
 BMC50102I          ON FAILURE ALL TERMINATE UTILITY RETCODE 11
 BMC50102I          DELETEFILES YES
 BMC50102I          UNLOADDN SYSREC ACTIVE NO
 BMC50102I *
 BMC50102I     SELECT *
 BMC50102I            FROM SYSIBM.SYSCOLUMNS A
 BMC50102I            WHERE TBCREATOR = 'SYSIBM';

 BMC51654I DIRECT NO IN EFFECT

 BMC50109I 'DIRECT NO' OPTION SPECIFIED.  OPTION 'SHRLEVEL' IGNORED
 BMC50353I FOR BIT DATA COLUMN HIGH2KEY WILL NOT BE TRANSLATED
 BMC50353I FOR BIT DATA COLUMN LOW2KEY WILL NOT BE TRANSLATED
 BMC50004I UTILINIT PHASE COMPLETE.  ELAPSED TIME = 00:00:00

 BMC51684I TABLE "SYSIBM.SYSCOLUMNS" IS IN TS "DSNDB06.SYSTSCOL"

 BMC54000I SMARTSWITCH NOT SUPPORTED - NO BMC AMI UTILITIES VERSION FOUND
 BMC54003I SMARTSWITCH RULE: FORCE_NO_SWITCH  COMMENT: SMARTSWITCH NOT ACTIVATED, TABLE/ALIAS DOES NOT EXIST  

 BMC50199I UNLOAD PLUS PROCESSING CONTINUES

 BMC51689I ESTIMATED ROWS FOR SELECT 1 IS 0

 BMC51639I FOR DDNAME 'SYSREC01' DSN=ADU.EXAMPL14.SYSREC01,DCB=(RECFM=VB,BLKSIZE=27998,LRECL=7200)
 BMC50041I 0: ZIIP  ENABLED (0) USING XBM SUBSYSTEM XBMB
 BMC50474I BELOW 16M = 8504K, ABOVE 16M = 1025104K, CPUS = 5
 BMC51702I MAX TASKS = 1
 BMC51685I CURRENT QUERY ACCELERATION = 'NONE'
 BMC50416W SYSTEM DUMP CREATION FAILED WITH RETURN CODE = 00000008, REASON CODE = 00000004, TITLE="BMC UNLOAD PLUS ABEND SYSTEM D37"
 BMC50411U UNLOAD TASK NUMBER 1 ABNORMALLY TERMINATED WITH SYSTEM ABEND CODE = D37, REASON CODE = 00000004
 BMC50476I DDNAME = SYSREC01, I/OS = 1, I/O WAITS = 0, RDB LOCK WAITS = 0
 BMC51676I UNLOAD STATISTICS:  0 ROWS PROCESSED FOR SELECT STATEMENT NO. 1, 0 DISCARDED
 BMC51674I UNLOAD STATISTICS:  3398 RECORDS WRITTEN TO DDNAME 'SYSREC01'
 BMC51675I UNLOAD STATISTICS:  0 RECORDS DISCARDED DUE TO ERRORS
 BMC50041I 0: ZIIP NOT ENABLED (0) USING XBM SUBSYSTEM XBMB
 BMC50019I UTILITY REQUESTED TO TERMINATE DUE TO FAILURE IN PHASE 'UNLOAD'

 BMC50894I DELETE FILES PROCESS STARTING AT   2/21/2022   3:33:28
 BMC50318I DATASET SUCCESSFULLY DELETED, DDNAME = 'SYSREC01', DSNAME = 'ADU.EXAMPL14.SYSREC01'
 BMC50895I DELETE FILES PROCESS COMPLETE.  ELAPSED TIME =  00:00:00

0BMC50006I UTILITY EXECUTION COMPLETE, RETURN CODE = 11

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*