Example 14 — Handling an abnormal termination
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:
//********************** 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:
(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