Limited supportBMC provides limited support for this version of the product. As a result, BMC no longer accepts comments in this space. If you encounter problems with the product version or the space, contact BMC Support.BMC recommends upgrading to the latest version of the product. To see documentation for that version, see UNLOAD PLUS for DB2 13.1.

Example 2 — Unloading columns in clustering order


This example unloads from the same partitioned table space that was used in example 1 but unloads the data in clustering order.

This job achieves optimum performance through multitasking.

The SYSPRINT shows the following information:

  • Message BMC51701I reports that four tasks can run concurrently, and that each task can use up to 32 sort work data sets.
  • UNLOAD PLUS generates Db2 LOAD control cards by default (because the job does not include a CNTLCARDS option, but the JCL includes a SYSCNTL DD statement).
  • Message 50041I indicates the status of zIIP processing. For this example, the ZIIP installation option is ENABLED, but an XBM subsystem was not specified. UNLOAD PLUS automatically located an available XBM subsystem to provide zIIP processing.

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

Command options used in JCL

Description

ORDER YES

Sorts output records in data-sorting key sequence

LIMIT 2

Unloads two records from each partition

FIXEDVARCHAR YES

Tells UNLOAD PLUS to convert output records that would normally be variable-length to fixed length by padding variable-length columns with spaces

SELECT

Specifies columns to unload and the order in which to unload them

INTO

Specifies names and characteristics of output fields

IF NULL VALUE ('xx')

Eliminates NULL indicator fields and replaces nulls with the value that you specify

FROM

Names the table to unload

The following figure shows the JCL for example 2:

//        JOB
//UNLOAD02 EXEC PGM=ADUUMAIN,REGION=0M,
//         PARM=(DEHJ,'ADUXM02','NEW ',,'MSGLEVEL(1)')
//*********************************************************************
//STEPLIB  DD DISP=SHR,DSN=product.libraries
//         DD DISP=SHR,DSN=DB2.DSNEXIT
//         DD DISP=SHR,DSN=DB2.DSNLOAD
//SYSIN    DD   *
*
 UNLOAD
        ORDER YES
        LIMIT 2
        FIXEDVARCHAR YES
        SELECT DEPT_NO,
               EMPL_LNAME,
               SSN,
               HIRE_DATE,
               JOB_CODE,
               SALARY_HRLY,
               PART_401K
        INTO
                 ,
                 ,
                 ,
               HIRE_DATE IF NULL VALUE('01/01/1991'),
               JOB_CODE CHARACTER(2) IF NULL VALUE(' '),
               SALARY_HRLY DECIMAL EXTERNAL(9,2) IF NULL VALUE(999.99),
               PART_401K
                 IF PART_401K ='0' VALUE('N')
                 IF PART_401K ='1' VALUE('Y')
                 IF PART_401K = NULL VALUE ('N')
        FROM BMC.EMPLS
*
//SYSREC   DD   DSN=ADU.EXAMPLE2.SYSREC,
//         DISP=(,CATLG),SPACE=(TRK,(1,1)),UNIT=SYSDA
//SYSCNTL  DD   DSN=ADU.EXAMPLE2.SYSCNTL,
//         DISP=(,CATLG),SPACE=(TRK,(1,1)),UNIT=SYSDA
//UTPRINT  DD   SYSOUT=*
//SYSPRINT DD   SYSOUT=*

The following table shows the records that the job stream in example 2 produced. UNLOAD PLUS sorts output records by the clustering key, DEPT_NO. The numbers given for POS indicate the start and end positions for each field.

Although UNLOAD PLUS unloads the same table as in example 1, this output does not include NULL indicator fields because the UNLOAD command includes IF NULL clauses for all nullable fields. Also, because FIXEDVARCHAR YES is specified, EMPL_LNAME in the output is a VARCHAR field with a length indicator, but the character part of the field is always 20 bytes long. UNLOAD PLUS pads the character part of this field with blanks.

Record type

Record 1

Record 2

Record 3

Record 4

Record 5

Record 6

Record 7

Record 8

DEPT_NO POS(1,4)

1100

1300

3200

3300

5100

5100

8200

8200

EMPL_LNAME POS(5,*)

Johnson

Broderick

Bronson

Doe

Williamson

George

Kennedy

Wilson

SSN POS(22,30)

490287572

387628543

837625104

463762574

828382664

182864652

583872386

283846563

HIRE_DATE POS(31,40)

01/16/1993

08/23/1992

03/05/1990

01/01/1991

04/03/1992

05/19/1989

03/31/1993

04/25/1992

JOB_CODE POS(41,42)

13

13

44

84

13

24

82

84

SALARY_HRLY POS(43,51)

9.00

44000.00

6.25

32000.00

5.75

7.50

36000.00

45000.00

PART_401K POS(52,52)

N

Y

N

Y

Y

N

Y

N

SYSPRINT for example 2

The following figure shows the SYSPRINT for example 2:

                                *****  B M C   U N L O A D   P L U S   F O R   D B 2    V11R1.00 *****
                                             (C) COPYRIGHT 1991 - 2013 BMC SOFTWARE, INC.
 BMC50001I UTILITY EXECUTION STARTING   10/28/2013   13:00:09 ...
 BMC50002I UTILITY ID = 'ADUXM02'.  DB2 SUBSYSTEM ID = 'DEHJ'.  OPTION MODULE = 'ADU$OPTS'.
 BMC50471I z/OS 2.1.0,PID=HBB7790,DFSMS FOR Z/OS=2.1.0,DB2=11.1.0
 BMC50471I REGION=0M,BELOW 16M=8844K,ABOVE 16M=1413308K,IEFUSI=NO,CPUS=3
 BMC50471I MEMLIMIT=17592186040320M,AVAILABLE=17592186040311M,MEMLIMIT SET BY:REGION=0

 BMC50471I UNLOAD PLUS FOR DB2--V11.01.00
 BMC50471I   NO MAINTENANCE TO REPORT
 BMC50471I DB2 UTILITIES COMMON CODE--V11.01.00
 BMC50471I   NO MAINTENANCE TO REPORT
 BMC50471I SOLUTION COMMON CODE--V11.01.00
 BMC50471I   MAINT: BPJ0661  BPJ0667  BPJ0671  BPJ0674  BPJ0675  BPJ0676  BPJ0682  BPJ0686  BPJ0689  BPJ0697
 BMC50471I BMCSORT ENGINE--V02.04.01
 BMC50471I   MAINT: BPJ0691
 BMC50471I BMC STATS API--V11.01.00
 BMC50471I   MAINT: BPU5409  BPU5534  BPU5674
 BMC50471I EXTENDED BUFFER MANAGER--V06.01.00
 BMC50471I   MAINT: BPE0401  BPE0403  BPE0405  BPE0407  BPE0410  BPE0412  BPE0416

 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                             TAPEDISP=DELETE
 BMC50471I CONSTRULES=BMC                          LOCKROW=YES                             TASKMAX=200%
 BMC50471I CURRENTDEGREE=NONE                      MAXP=5                                  UBUFFS=25
 BMC50471I DELFILES=YES                            MSGLEVEL=1                              UNLDMAX=200%
 BMC50471I DRNDELAY=1                              NULLCHAR=X'6F'                          UNLOADDN_ACTIVE=(YES,NO)
 BMC50471I DRNRETRY=255                            NULLTYPE=T1                             UNLOADDN=(SYSREC,SYSRED)
 BMC50471I DRNWAIT=NONE                            OPNDB2ID=YES                            USELRECL=NO
 BMC50471I DSPLOCKS=DRNFAIL                        PLAN=ADUQA                              UXSTATE=SUP
 BMC50471I EXCLDUMP=(X37,X22,X06)                  RECFM=AUTO                              WORKUNIT=SYSALLDA
 BMC50471I FILEREFDN=SYSREF                        ROWSETSZ=100                            ZIIP=ENABLED
 BMC50471I FILL=NO                                 SDUMP=YES                               ZONEDDECOVP=(C,D)
 BMC50471I FORCE_AT=(START,3)                      SHRLEVEL=REFERENCE


 BMC50471I TAPES=NONE

 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

 BMC50483I SYSREC     DSNAME=&USERID.&TYPE.S&SELNUM
 BMC50483I SYSRED     DSNAME=&USERID.&TYPE.S&SELNUM
 BMC50483I SYSREF     DSNAME=&USERID.BMC


 BMC50471I DB2 DSNHDECP MODULE SETTINGS:
 BMC50471I VERSION                 = 1110
 BMC50471I SUBSYSTEM DEFAULT       = DEHJ
 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 (-05:00)

 BMC50028I DB2 MODE = NFM
 BMC50471I BMC_BMCUTIL       ='BMCUTIL.CMN_BMCUTIL'
 BMC50471I BMC_BMCSYNC       ='BMCUTIL.CMN_BMCSYNC'
 BMC50471I BMC_BMCHIST       ='BMCUTIL.CMN_BMCHIST'
 BMC50471I BMC_BMCXCOPY      ='BMCUTIL.CMN_BMCXCOPY'


 BMC50102I *
 BMC50102I  UNLOAD
 BMC50102I         ORDER YES
 BMC50102I         LIMIT 2
 BMC50102I         FIXEDVARCHAR YES
 BMC50102I         SELECT DEPT_NO,
 BMC50102I                EMPL_LNAME,
 BMC50102I                SSN,
 BMC50102I                HIRE_DATE,
 BMC50102I                JOB_CODE,
 BMC50102I                SALARY_HRLY,
 BMC50102I                PART_401K
 BMC50102I         INTO
 BMC50102I                  ,
 BMC50102I                  ,
 BMC50102I                  ,
 BMC50102I                HIRE_DATE IF NULL VALUE('01/01/1991'),
 BMC50102I                JOB_CODE CHARACTER(2) IF NULL VALUE(' '),
 BMC50102I                SALARY_HRLY DECIMAL EXTERNAL(9,2) IF NULL VALUE(999.99),
 BMC50102I                PART_401K
 BMC50102I                  IF PART_401K ='0' VALUE('N')
 BMC50102I                  IF PART_401K ='1' VALUE('Y')
 BMC50102I                  IF PART_401K = NULL VALUE ('N')
 BMC50102I         FROM BMC.EMPLS
 BMC50102I *

 BMC51654I DIRECT YES IN EFFECT

 BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 1 IS 8 FROM DB2STATS
 BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 2 IS 5 FROM DB2STATS
 BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 3 IS 5 FROM DB2STATS
 BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 4 IS 2 FROM DB2STATS
 BMC51688I ESTIMATED ROWS FOR TABLE     BMC.EMPLS IS 20 FROM DB2STATS
 BMC51689I ESTIMATED ROWS FOR SELECT 1 IS 8

 BMC50004I UTILINIT PHASE COMPLETE.  ELAPSED TIME = 00:00:01

 BMC51639I FOR DDNAME 'SYSREC' DSN=ADU.EXAMPLE2.SYSREC,DCB=(RECFM=FB,BLKSIZE=27984,LRECL=53)
 BMC50394I UNABLE TO LOCATE SORT WORK DATASETS, DDNAME = 'SORTWKNN'

 BMC50894I PAGE EXTERNALIZATION PROCESS STARTING AT  10/28/2013  13:00:10

 BMC50650I ESTABLISHING A POINT OF CONSISTENCY FOR:
 BMC50651I SPACE BMCEXDB.BMCEXATS PART(0) PSID(0002)

 BMC50895I PAGE EXTERNALIZATION PROCESS COMPLETE.  ELAPSED TIME =  00:00:00

 BMC50041I 0: ZIIP  ENABLED (0) USING XBM SUBSYSTEM XBMB
 BMC50474I BELOW 16M = 8492K, ABOVE 16M = 1406216K, CPUS = 3
 BMC51701I MAX TASKS = 4, MAX PARTITIONS PER TASK = 1, SORTWKS PER TASK = 32, MAX OPEN PARTITIONS PER TASK = 1
 BMC51680I UNLOAD LIMIT OF 2 REACHED FOR PARTITION 1
 BMC51680I UNLOAD LIMIT OF 2 REACHED FOR PARTITION 4
 BMC51680I UNLOAD LIMIT OF 2 REACHED FOR PARTITION 3
 BMC50477I 1: PARTITION =    1, ROWS/KEYS = 2, I/O WAITS = 2 ,DDNAME = SYS00005
 BMC50477I 3: PARTITION =    3, ROWS/KEYS = 2, I/O WAITS = 2 ,DDNAME = SYS00004
 BMC50477I 4: PARTITION =    4, ROWS/KEYS = 2, I/O WAITS = 2 ,DDNAME = SYS00003
 BMC50478I 1: RDB LOCK WAITS = 0
 BMC51680I UNLOAD LIMIT OF 2 REACHED FOR PARTITION 2
 BMC50477I 2: PARTITION =    2, ROWS/KEYS = 2, I/O WAITS = 2 ,DDNAME = SYS00002
 BMC50478I 2: RDB LOCK WAITS = 0
 BMC50478I 3: RDB LOCK WAITS = 0
 BMC50478I 4: RDB LOCK WAITS = 0
 BMC50476I DDNAME = SYSREC, I/OS = 4, I/O WAITS = 4, RDB LOCK WAITS = 0
 BMC51671I UNLOAD STATISTICS:  2 ROWS PROCESSED FROM PARTITION 1
 BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A001' READ 3 PAGES
 BMC51671I UNLOAD STATISTICS:  2 ROWS PROCESSED FROM PARTITION 2
 BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A002' READ 3 PAGES
 BMC51671I UNLOAD STATISTICS:  2 ROWS PROCESSED FROM PARTITION 3
 BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A003' READ 3 PAGES
 BMC51671I UNLOAD STATISTICS:  2 ROWS PROCESSED FROM PARTITION 4
 BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A004' READ 3 PAGES
 BMC51672I UNLOAD STATISTICS:  8 ROWS PROCESSED FROM SPACE 'BMCEXDB.BMCEXATS', 0 NOT SELECTED, 0 DISCARDED
 BMC51674I UNLOAD STATISTICS:  8 RECORDS WRITTEN TO DDNAME 'SYSREC'
 BMC51675I UNLOAD STATISTICS:  0 RECORDS DISCARDED DUE TO ERRORS
 BMC50041I 0: ZIIP NOT ENABLED (0) USING XBM SUBSYSTEM XBMB
 BMC50004I UNLOAD PHASE COMPLETE.  ELAPSED TIME = 00:00:01


 BMC51639I FOR DDNAME 'SYSCNTL' DSN=ADU.EXAMPLE2.SYSCNTL,DCB=(RECFM=FB,BLKSIZE=3120,LRECL=80)
 BMC51801I LOAD TABLE STATEMENTS WRITTEN TO DDNAME 'SYSCNTL'

 BMC51810I LOAD DATA INDDN SYSREC
 BMC51940I      EBCDIC CCSID(37,65534,65534)
 BMC51811I   INTO TABLE
 BMC51809I BMC.EMPLS
 BMC51815I (DEPT_NO POSITION(1:4) CHAR  (4)
 BMC51813I ,EMPL_LNAME POSITION(5:*) VARCHAR
 BMC51815I ,SSN POSITION(22:30) CHAR  (9)
 BMC51815I ,HIRE_DATE POSITION(31:40) DATE  EXTERNAL(10)
 BMC51815I ,JOB_CODE POSITION(41:42) CHAR  (2)
 BMC51816I ,SALARY_HRLY POSITION(43:51) DECIMAL EXTERNAL(9,2)
 BMC51815I ,PART_401K POSITION(52:52) CHAR  (1)
 BMC51814I       NULLIF BMC_NULL1=X'6F'
 BMC51819I     ,     BMC_NULL1 POSITION(53) CHAR(1)
 BMC51809I )

 BMC50476I DDNAME = SYSCNTL, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
 BMC50006I UTILITY EXECUTION COMPLETE, RETURN CODE = 0

 

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