Professional Documents
Culture Documents
for DB2
Reference Manual
Supporting
LOADPLUS for DB2 8.2
Database Administration for DB2 3.2
March 2006
Telephone
Fax
Fax
Copyright 2006 BMC Software, Inc., as an unpublished work. All rights reserved.
BMC Software, the BMC Software logos, and all other BMC Software product or service names are registered trademarks
or trademarks of BMC Software, Inc.
IBM is a registered trademark of International Business Machines Corporation.
DB2 is a registered trademark of International Business Machines Corporation.
All other trademarks belong to their respective companies.
BMC Software considers information included in this documentation to be proprietary and confidential. Your use of this
information is subject to the terms and conditions of the applicable End User License Agreement for the product and the
proprietary and restricted rights notices included in this documentation.
Customer support
You can obtain technical support by using the Support page on the BMC Software website or by contacting Customer
Support by telephone or e-mail. To expedite your inquiry, please see Before Contacting BMC Software.
Support website
You can obtain technical support from BMC Software 24 hours a day, 7 days a week at
http://www.bmc.com/support_home. From this website, you can
s
s
s
s
s
s
s
read overviews about support services and programs that BMC Software offers
find the most current information about BMC Software products
search a database for problems similar to yours and possible solutions
order or download product documentation
report a problem or ask a question
subscribe to receive e-mail notices when new product versions are released
find worldwide BMC Software support center locations and contact information, including e-mail addresses, fax
numbers, and telephone numbers
product information
product name
product version (release number)
license number and password (trial or permanent)
machine type
operating system type, version, and service pack or other maintenance level such as PUT or PTF
system hardware configuration
serial numbers
related software (database, application, and communication) including type, version, and service pack or
maintenance level
messages received (and the time and date that you received them)
Contents
About this book
17
Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
18
19
21
Chapter 1
31
Introduction to LOADPLUS
Overview of LOADPLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The need to load data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The LOADPLUS solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMC Software solution integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Product components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Technology components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tasks that LOADPLUS performs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional and operational differences between LOADPLUS and the IBM DB2
LOAD utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How LOADPLUS works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Processing phases of LOADPLUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common components that LOADPLUS uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
44
45
50
51
Chapter 2
53
Operational considerations
System setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MEMLIMIT system parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Products that prevent x37 abends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Number of DB2 threads that LOADPLUS uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serialization and concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS and other BMC Software products. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multi-data-set DB2 objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dynamic work file allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating sort work data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating copy data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating load file and index work file data sets . . . . . . . . . . . . . . . . . . . . . . . . . .
Running in a worklist environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
31
32
32
32
33
33
33
34
35
54
54
59
59
60
60
60
63
69
69
70
71
72
73
5
125
125
126
129
133
137
137
201
206
215
239
246
248
254
256
Chapter 4
285
257
257
262
285
286
286
286
287
291
291
311
312
312
313
320
320
Chapter 5
325
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 1: LOAD REPLACE of a simple table space . . . . . . . . . . . . . . . . . . . . . . . . .
Output from a two-phase load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output from a single-phase load. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output from a SHRLEVEL REFERENCE load . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 2: LOAD REPLACE of a partitioned table space . . . . . . . . . . . . . . . . . . . . .
Example 3: Single-phase LOAD RESUME YES of a partitioned table space . . . . . .
Example 4: LOAD REPLACE of three tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
326
329
332
334
337
340
347
354
455
Appendix A
511
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Basic LOADPLUS installation options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Dynamic allocation installation options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Appendix B
LOADPLUS database
553
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCUTIL table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCSYNC table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCHIST table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCDICT table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determining table names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining BMCHIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining BMCUTIL and BMCSYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining BMCDICT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
553
554
555
557
558
559
559
560
560
561
Appendix C
563
563
563
564
564
565
566
566
567
567
568
568
569
569
691
Appendix D
731
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DASD capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SORTOUT data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSUT1 data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiple SYSUT1nn data sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single SYSUT1 data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSDISC data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSERR data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SORTWK data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sorting row image data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sorting index information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sorting error records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
732
732
733
735
735
737
738
738
739
742
742
743
759
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Comparison operators allowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
WHEN, NULLIF, and DEFAULTIF processing order . . . . . . . . . . . . . . . . . . . . . . . . . 760
Error conditions with RULES=STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Invalid operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Invalid constant in predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Error conditions with RULES=BMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Invalid constant in WHEN statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Invalid constant in NULLIF statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Preventing these errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Appendix F
765
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Sample user exits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
User-defined variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
LOADPLUS Assembler user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
Exit parameter block DSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
Variable mapping block DSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
Sample Assembler user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
LOADPLUS COBOL II and LE COBOL user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
COBOL II and LE COBOL exit parameter record . . . . . . . . . . . . . . . . . . . . . . . . . . 782
COBOL II and LE COBOL variable mapping record . . . . . . . . . . . . . . . . . . . . . . . 784
Sample COBOL II and LE COBOL user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
LOADPLUS C user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
C exit parameter structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
C exit variable mapping structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Sample C user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
LOADPLUS LE C user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
LE C exit parameter structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
LE C exit variable mapping structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
Sample LE C user exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
Index
10
811
Figures
Two-phase load processing phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Single-phase load processing phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
SQLAPPLY processing phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Data set renaming process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
CSV field specification mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
LOADPLUS command syntax diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Detail syntax diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
JCL for example 1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
JCL for example 1B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
JCL for example 1C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
SYSPRINT for example 1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
SYSPRINT for example 1B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
SYSPRINT for example 1C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
JCL for example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
SYSPRINT for example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
JCL for example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
SYSPRINT for example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
JCL for example 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
SYSPRINT for example 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
DDL for example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
JCL for example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
SYSREC data set for example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
SYSPRINT for example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Loaded table for example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
JCL for example 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
SYSPRINT for example 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
JCL for example 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
SYSPRINT for example 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
JCL for example 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
SYSPRINT for example 8A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
SYSPRINT for example 8B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
JCL for example 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
SYSPRINT for example 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
JCL for example 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
SYSPRINT for example 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
JCL for example 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
SYSPRINT for example 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
JCL for example 12A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
JCL for example 12B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
SYSPRINT for example 12A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Figures
11
12
Tables
Processing phases of LOADPLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
LOADPLUS data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Components that LOADPLUS uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Authorization verification mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Minimum levels of authority that LOADPLUS requires . . . . . . . . . . . . . . . . . . . . . . . 58
Running BMC Software products concurrently . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Status requirements by load type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
LOAD REPLACE restrictive status restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Summary of status changes during load processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Statuses set or reset by LOADPLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Factors that affect dynamic allocation of sort work data sets . . . . . . . . . . . . . . . . . . . . 71
Example of specifying ddname prefixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Determining which SHRLEVEL option to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Command options that are incompatible with SQLAPPLY . . . . . . . . . . . . . . . . . . . . . 88
Staging data set actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Naming convention for staging data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
How LOADPLUS updates MAXASSIGNEDVAL when loading values from
an input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Considerations for identity columns and related field specifications . . . . . . . . . . . . . 98
How LOADPLUS updates real-time statistics tables . . . . . . . . . . . . . . . . . . . . . . . . . 117
Real-time statistics updates for LOAD RESUME NO, LOAD REPLACE, and
LOAD RESUME YES INTO PART n REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Real-time statistics updates to SYSIBM.TABLESPACESTATS table for LOAD
RESUME YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Real-time statistics updates to SYSIBM.INDEXSPACESTATS table for LOAD
RESUME YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
User-defined return codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Return code hierarchy examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
LOADPLUS command options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Restrictions on use of the UNICODE option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Valid discard types used with the IGNORE option . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Valid discard types used with the REPORT option . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Restrictions for specifying the ORDER option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Which parameter to specify with ENUMROWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
SORTNUM values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Restrictions on use of the CONTINUEIF option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
UNIQUECHECK options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
DB2 objects redefined with REDEFINE YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
How ANALYZE options determine cardinality and average row length
estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Tables
13
14
Tables
498
502
507
510
512
513
520
521
522
536
538
541
543
546
555
556
557
559
565
566
568
732
739
740
740
740
760
769
771
783
784
792
793
801
802
15
16
Like most BMC Software documentation, this book is available in printed and online
formats. Visit the BMC Software Customer Support page at
http://www.bmc.com/support_home to request additional printed books or to view
online books and notices (such as release notes and technical bulletins). Some product
shipments also include the online books on a documentation CD.
NOTE
Online books are formatted as Portable Document Format (PDF) or HTML files. To view,
print, or copy PDF books, use the free Adobe Reader from Adobe Systems. If your product
installation does not install the reader, you can obtain the reader at http://www.adobe.com.
Related publications
The following related publications supplement this book. In addition, LOADPLUS
provides online message information. For details about how to view the messages
that LOADPLUS generates, see Online documentation for messages on page 563.
Category
Document
Description
installation
documents
17
Conventions
Category
Document
Description
product-specific
documents
related documents
Conventions
This book uses the following special conventions:
s
Variable text, for example in system messages or syntax, is displayed in italic text:
testsys/instance/file_name
18
Change bars signify changes that clarify or correct existing information, or that
provide new information corresponding to product changes. This book does not
use change bars to denote editorial and formatting changes or typographical errors
that have been fixed, unless these updates significantly affect your use of the
information.
Syntax diagrams
Syntax diagrams
The following diagrams provide information about the conventions for syntax
diagrams in this book.
Required Keyword
Parameter/Variable
page nn
COMMAND
KEYWORD value
KEYWORD value
Statement Continued
from Previous Line
KEYWORD value
KEYWORD value
KEYWORD value
KEYWORD value
End of Statement
KEYWORD
KEYWORD value
KEYWORD value
block
Default Keyword
In general, MVS commands, keywords, clauses, and data types are displayed in
uppercase letters. However, if an item can be shortened, the minimum portion of
the MVS command or keyword might be displayed in uppercase letters with the
remainder of the word in lowercase letters (for example, CANcel).
If you must select a keyword from two or more required keywords, the first
keyword in the stack appears on the main line.
19
Syntax diagrams
If you can choose from two or more optional keywords, they are vertically stacked
and the entire stack is below the main line.
If an option has a corresponding installation option and you can choose from two
or more keywords or values, the value shipped with the product for that
installation option is the first keyword or value in the stack.
A recursive (left-pointing) arrow above a stack indicates that you may choose more
than one item in the stack.
A part of the syntax diagram that is lowercase and followed by the word block
indicates that the portion of syntax is too large or complex to include in the main
syntax diagram. A numbered reference indicates its location in the Syntax
Diagram Details section.
The following example illustrates the syntax for a hypothetical DELETE statement.
Because the FROM keyword, alias variable, and WHERE clause are optional, they
appear below the main command line. In contrast, the table_name variable appears on
the command line because the table name is required. If the statement includes a
WHERE clause, the clause must contain either a search condition or a CURRENT OF
clause. (The search_condition variable appears on the main line for the WHERE clause,
indicating that this choice is required.)
table_name
DELETE
FROM
alias
;
WHERE
20
search_condition
CURRENT OF
cursor_name
Summary of changes
Summary of changes
This section summarizes changes to the functionality of the product, listing the
changes by product version and release date. The summary includes enhancements
to the product and any major changes to the documentation.
Object and object-related entity name lengths that have been increased to a
limit of 128 bytes in DB2 are limited to 30 bytes in LOADPLUS. For example,
creator names and table names are supported up to 30 bytes.
LOADPLUS checks the name lengths of many related but nonparticipating
objects and entities during processing. If a nonparticipating object or entity
has a name that is greater than 30 bytes, LOADPLUS might terminate. For
example, if the name of a check constraint on a table that LOADPLUS is
loading is greater than 30 bytes, the job might terminate even if LOADPLUS
is not checking constraints.
When you specify BMCSTATS YES, LOADPLUS does not update DASD
MANAGER PLUS tables if the length of any object or entity name is greater
than the length that DASD MANAGER PLUS supports. For details, see
BMCSTATS on page 201.
LOADPLUS no longer requires that you run an ICOPY installation job (AMUssidC)
either during installation or after rebinding the LOADPLUS plan. LOADPLUS
now uses a dynamic bind process rather than the ICOPY job. For information
about the change to required authorization, see DB2 authority on page 55.
21
Summary of changes
LOADPLUS now uses packages to optimize the DBRM bind process, requiring
only one plan name. The installation options for the various plans (PLANxvrmm)
have been replaced by a single option, PLAN. For additional information about
this option, see page 532.
LOADPLUS has added the SORTNUM installation option. This option allows you
to set a default value for the number of sort work files that BMCSORT dynamically
allocates. For additional information, see page 537.
LOADPLUS has added two new command and installation options to provide
additional control over dynamic data set allocation:
The new UNITCNT command and installation options allow you to specify the
number of devices to be allocated when dynamically allocating the data set type
specified with DDTYPE. For additional information, see page 272 and page 544.
The new VOLCNT command and installation options allow you to specify the
maximum number of volumes to use when dynamically allocating the data set
type specified with DDTYPE. For additional information, see page 272 and
page 545.
LOADPLUS now supports nonpadded indexes (that is, indexes that are defined as
NOT PADDED and contain one or more varying length columns) in all cases
except when you specify INDEX UPDATE.
For consistency with other BMC Software products, LOADPLUS now supports the
&JDATE variable for data set name patterns when dynamically allocating data
sets. For more information, see DSNPAT on page 276 or the DSNPAT
installation option on page 546.
22
Summary of changes
The resolution of the &PART symbolic variable has changed. The &PART
symbolic variable, used with the DSNPAT installation and command option
to construct data set names for dynamically allocated data sets, is now either
a 3-byte or 4-byte partition number. For table spaces with 999 partitions or
less, LOADPLUS uses 3-byte partition numbers. For table spaces with more
than 999 partitions, LOADPLUS uses 4-byte partition numbers for all
partitions.
The PART keyword (with the INTO option) now allows you to specify a
range of partitions to load.
23
Summary of changes
LOADPLUS now assigns a return code 4 when placing the table space in CHECK
pending (CHKP) status.
To provide you with the optimal value at installation and for consistency with
other BMC Software products, the value that is shipped with the LOCKROW
installation option has been changed from NO to YES. This value helps eliminate
contention and improves concurrency of your BMC Software utility jobs.
This version of LOADPLUS does not support the DB2 version 8 features of
table-controlled partitioning and data-partitioned secondary indexes. Therefore,
references to indexes in this book refer to the types of indexes that are supported in
DB2 version 7. For example, for partitioned table spaces, this book refers to
secondary indexes and nonpartitioning indexes interchangeably.
Version 7.2.00
July 2004
This release fixes known problems in the product. In addition, it includes the
following enhancements:
s
24
LOADPLUS no longer requires that you load all tables in a segmented table space
when replacing any data in that table space. This feature allows you to specify just
the tables in which you want to replace data, leaving the other tables intact. To use
this feature, specify LOAD RESUME YES INTO TABLE name REPLACE. This
option is particularly useful in an ERP environment such as SAP or PeopleSoft.
Summary of changes
NOTE
BMC Software recommends that you change the values for the following DB2 version 8
system parameters from their defaults:
s
Vary Data Set Control Interval Size (DSVCI)The DSVCI parameter specifies whether
to vary the size of VSAM control intervals for DB2-managed data sets created by
CREATE TABLESPACE. Set the value of the DSVCI parameter to NO. If you use 8-KB,
16-KB, or 32-KB buffer pools and DSVCI is set to YES, LOADPLUS might fail.
Pad Indexes by Default (PADIX)The PADIX parameter specifies whether to define
new indexes as PADDED by default. Set the value of the PADIX parameter to YES. If a
participating index is defined as NOT PADDED, LOADPLUS fails.
LOADPLUS now provides the following command options that allow you to set
user-defined return codes for certain situations. Each option has a comparable
installation option that allows you to establish a default for that option.
The IFDISCARDS command option and its comparable installation option
DISCARDRC allow you to set a user-defined return code that LOADPLUS
returns if your load job completes but has at least one non-ignored discard
violation.
The IFDISCARDLIMIT command option and its comparable installation option
DISCARDLIMRC allow you to set a user-defined return code that LOADPLUS
returns if your load job reaches the discard limit that you set with the
DISCARDS option.
The IFZEROROWS command option and its comparable installation option
ZEROROWRC allow you to set a user-defined return code that LOADPLUS
returns if your load job completes without loading any rows.
25
Summary of changes
LOADPLUS has added the following new installation options that are the
equivalent of existing command options. These installation options allow you to
set a default value for your jobs without having to specify command options on
your JCL.
The ENFORCE option allows you to specify whether to check for violations of
DB2 table check constraints.
The PAUSEDISCARDRC option allows you to specify a user-defined return
code that LOADPLUS returns when the job pauses after the PRELOAD phase
because the job had one or more non-ignored discard violations. This
installation option sets the default value for the PRELOAD PAUSE
ANYDISCARDS RETCODE command option.
The PRELOAD option allows you to specify whether you want to default to
two-phase or single-phase processing for your load jobs.
The SHRLEVEL option allows you to specify the default level of access that DB2
has to the objects that you are loading during LOADPLUS processing.
To reduce the possibility of data translation errors, LOADPLUS now always uses
the CCSID value from the DSNHDECP module that DB2 loads. To ensure that
LOADPLUS uses the correct DSNHDECP module, the LOADDECP installation
option is no longer available.
The default for the ACFORTSS installation option has changed from NO to YES. If
you accept the default value (YES) for this installation option and meet the
minimum version requirements (described on page 55), LOADPLUS uses
Computer Associates CA-ACF2 or eTrust CA-Top Secret to verify authorization
for your load job. If you do not have one of these products installed, LOADPLUS
ignores this option.
Enhancements to I/O handling routines have changed the way that LOADPLUS
uses the values that you specify for the buffer installation options. For information
about these changes, see the following options:
CBUFFS on page 519
IBUFFS on page 525
LBUFFS on page 528
WBUFFS on page 540
26
Summary of changes
NOTE
If, in an earlier release, you changed the values for any of these options from the values that
were shipped with LOADPLUS, review the new information for these options carefully to
ensure that you obtain the results that you intend for this release.
LOADPLUS now always displays the values from the DSNHDECP module when
printing MSGLEVEL(1) messages. (In version 7.1.00, LOADPLUS displayed these
values when printing MSGLEVEL(1) messages only when the value of the
LOADDECP installation option was YES.)
LOADPLUS now issues the following message when reducing the number of
dynamically allocated files due to the value of your MAXTAPES option:
BMC50429I 'ddtype' REDUCED FROM (n) DUE TO MAXTAPES
SPECIFICATION (value)
When generating the default options module during installation, the $C30DOPT
job now assembles the LOADPLUS installation options in alphabetical order.
Message BMC50471I in the SYSPRINT of your load job now displays the default
options in alphabetical order. To reduce the number of messages in your
SYSPRINT, LOADPLUS displays three options per message line.
This version of LOADPLUS requires that you run under OS/390 version 2.10 or
any supported GA version of z/OS.
27
Summary of changes
LOADPLUS now provides the ability to load data into tables whose table spaces or
index spaces are created with DEFINE NO. You do not need to specify any
additional syntax or other options to load these tables; however, the associated
table spaces and index spaces must be in read/write (RW) status and cannot be in
any restrictive status. LOADPLUS materializes the underlying data sets by
performing a DB2 INSERT and ROLLBACK on the table.
LOADPLUS now provides the option to not build or update secondary indexes
that are associated with the table that you are loading. This option can provide
additional flexibility in managing time and DASD resources when loading data. To
use this feature, you specify one of the SKIPIX command options.
LOADPLUS now completes with a return code 0 instead of a return code 8 when
the utility is not found during a TERM execution.
WARNING
If you have jobs that interrogate the condition code of a LOADPLUS TERM step, BMC
Software recommends that you evaluate those jobs to determine whether this change
affects them.
28
Summary of changes
You can now use the DISCARDS command option to limit the number of discard
records during an SQLAPPLY load job.
You can now specify a value for the SYSDISC command option regardless of the
value of the DELETEFILES option. This allows you to specify DELETEFILES NO
SYSDISC YES to delete only the discard file. The DELFILES installation option has
also been modified to allow you to make a comparable SYSDISC specification.
The new STOPRETRY installation option allows you to set the number of times
that LOADPLUS checks an object to determine whether DB2 has changed the
status from stop pending (STOPP) to stopped (STOP). The new STOPDELAY
installation option allows you to set the number of seconds that LOADPLUS waits
between each check.
BMCSORT installation option and error message information has been moved
from this book to the BMCSORT Reference Manual.
29
Summary of changes
30
Chapter
Introduction to LOADPLUS
This chapter presents the following topics:
Overview of LOADPLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The need to load data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The LOADPLUS solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMC Software solution integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Product components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Technology components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tasks that LOADPLUS performs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional and operational differences between LOADPLUS and the IBM DB2
LOAD utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How LOADPLUS works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Processing phases of LOADPLUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common components that LOADPLUS uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
32
32
32
33
33
33
34
35
38
44
45
50
51
Overview of LOADPLUS
DB2 is a powerful relational database management system whose wide success in the
database management community rests on its ability to provide fast application
development and easy data access to the user. As users depend more and more on
DB2 for critical business applications, the need for continuous operations becomes
crucial.
31
In many cases, users load millions of rows. Because data in the table space is often
unavailable to applications during the loading process, the loading process must be
completed as quickly as possible. The DB2 LOAD utility supplied by IBM loads data
from a sequential file into one or more tables or partitions in a table space.
LOADPLUS benefits
LOADPLUS offers you the following significant benefits:
s
increases availability of DB2 data because LOADPLUS reduces the time needed to
load the data
In addition, the online load options allow your tables to remain accessible in either
read-only or read/write status while LOADPLUS loads your data.
32
reduces costs of loading DB2 data because LOADPLUS uses fewer CPU cycles and
EXCPs
expands functionality to eliminate the need to perform additional tasks before and
after data is loaded
provides flexibility by allowing you to load data from a variety of input formats
Product components
s
s
s
s
s
Technology components
s
BMCSORT
(a component that is required for full sort support for LOADPLUS, UNLOAD
PLUS, and RECOVER PLUS)
33
Features
Features
These components provide the following features:
s
increase application availability and optimizes resources by reducing the time that
it takes to perform changes and to administer multiple DB2 environments
use the fastest, most efficient utilities available to copy, unload, and reload data
You can take advantage of the following additional features of the solution that are
available when one component can rely on the presence of other components:
s
34
executes portions of the worklist concurrently, thus reducing the elapsed time
required for executing a worklist that CHANGE MANAGER generates
unloads and loads large object (LOB) data
Resources
s
analyzes and allocates memory and CPU resources for maximum throughput
optionally analyzes data set resources that are needed for the specific load job
optionally allocates input, load data, index work, sort work, discard, error, and
copy files dynamically
Indexes
s
optionally updates indexes, which can improve performance when loading a small
number of rows into an existing table that has a large number of rows
Performance
s
provides an option to order data by table and clustering key or by clustering key
alone
optionally skips checks for duplicate keys in unique indexes or checks for
duplicate keys only in unique clustering indexes
Availability
s
provides an option for the utility to pause in its processing before the data is
loaded if any input records are discarded
35
provides an option to leave tables in read-only status while loading your data
provides an option to leave tables in read/write status while loading your data
Compression
s
builds or keeps a compression dictionary when the object being loaded has the
COMPRESS YES attribute
Loading data
s
loads data from one or more data sets into one or more tables or table space
partitions in a single command execution, either replacing or adding to the existing
data
optionally sorts the input data by the clustering key, if one exists
allows you to load data that was archived by the REORG PLUS product
allows you to load data that was unloaded by the UNLOAD PLUS product in an
internal format
provides powerful selection criteria for specifying which input records to load
optionally deletes and redefines user-defined data sets and data sets that are
defined in DB2 storage groups as part of the load
avoids adding rows and keys to the table spaces and indexes if they cause
duplicate keys in a unique index, so that the rows and keys do not need to be
deleted later in the LOAD phase
Following this process, your table spaces and indexes remain organized.
Copies
s
36
optionally produces inline image copies as it loads your tables, rather than
DSN1COPYs or image copies after it loads your tables
produces a BMCSTATS report and optionally saves the statistics in the BMC
Software DASD MANAGER PLUS tables, if that product is installed
prevents the output of unnecessary discard messages and records by allowing you
to ignore specified types of discards
optionally updates statistics in the DB2 catalog so that the DB2 optimizer can use
them
reports multiple load command errors at one time, reducing the number of runs
needed to correct your load specification
Operations on data
s
provides a comprehensive set of data type conversions and support for userwritten exit routines that perform special data conversions
optionally provides a PRELOAD phase for verifying that your input data is correct
before your existing data is replaced (and lost), without incurring the overhead of
actually loading the data
provides full Boolean logic on the WHEN condition (allows AND, OR, NOT, and
parentheses)
allows you to concatenate separate physical input records into one larger logical
record
37
Functional and operational differences between LOADPLUS and the IBM DB2 LOAD utility
optionally allows you to set user-defined return codes for a range of situations
sets the status of all affected table spaces to CHECK pending (CHKP) if referential
integrity constraints or table check constraints exist and were not checked
Authorization
LOADPLUS does not run as part of the DB2 subsystem. Therefore, you must have
system authorization that is similar to that required by DB2 unless you are using the
Resource Access Control Facility (RACF) and LOADPLUS is installed with
OPNDB2ID=YES.
38
Functional and operational differences between LOADPLUS and the IBM DB2 LOAD utility
Object status
s
For SHRLEVEL NONE, the table space that you are loading is stopped at the
beginning of the PRELOAD or LOAD phase, or during the COMBINED phase.
LOADPLUS starts the table space at the end of the LOAD or COMBINED phase.
See Object status on page 63 for more information.
LOADPLUS allows you to run a LOAD RESUME YES PART REPLACE load of a
table space when any of its partitions are in REORG pending (REORP) status as
long as you are replacing all of the partitions that are in REORP status.
Compression
If the object that you are loading has the COMPRESS YES attribute, LOADPLUS
always reserves enough pages to hold the largest compression dictionary.
Tables
For segmented table spaces, you can specify LOAD RESUME YES INTO TABLE name
REPLACE to load just the tables in which you want to replace data, leaving the other
tables intact.
Indexes
s
For partitioned table spaces, you can tell LOADPLUS to skip the index building
process for secondary indexes that are associated with the table that you are
loading.
DEFINE NO objects
To enable loading data into tables whose table spaces or index spaces were created
with DEFINE NO, LOADPLUS materializes the underlying data sets by performing a
DB2 INSERT and ROLLBACK on the table.
NOTE
For an SQLAPPLY load, DEFINE NO data sets are materialized by the DB2 INSERT
processing that occurs during the COMBINED phase.
39
Functional and operational differences between LOADPLUS and the IBM DB2 LOAD utility
Identity columns
s
LOADPLUS allows you to set the size of the cache that LOADPLUS uses when
loading generated identity column values.
LOADPLUS allows you to specify whether you want to reset the value of
MAXASSIGNEDVAL in the SYSIBM.SYSSEQUENCES table when loading
identity column values from an input file.
NOTE
When generating identity column values, LOADPLUS always updates
MAXASSIGNEDVAL.
For most load types, you can tell LOADPLUS whether to discard or fail when a
generated identity column value would fall outside the range that is defined on the
column.
Unless you tell LOADPLUS not to enforce table check constraints, LOADPLUS
fails when attempting to generate identity column values if the identity column is
referenced in the check condition of a DB2 check constraint.
Availability
s
40
LOADPLUS allows only one LOAD command in the input data set (SYSIN).
For a field specification, LOADPLUS requires that you specify the position before
the data type in the command statement.
Functional and operational differences between LOADPLUS and the IBM DB2 LOAD utility
NOTE
If you are running an SQLAPPLY load, the Apply Plus architecture preserves referential
integrity relationships.
When table check constraint columns contain one or more of the following
conditions, processing continues as though ENFORCE NO had been specified:
floating-point constants
VARCHAR columns with a length greater than 255
LOADPLUS supports all floating-point formats except IEEE Binary Floating Point
(BFP).
41
Functional and operational differences between LOADPLUS and the IBM DB2 LOAD utility
LOADPLUS loads data into base tables that are defined with LOB columns (BLOB,
CLOB, and DBCLOB). LOADPLUS does not load data into the LOB auxiliary
tables. LOADPLUS puts an empty LOB indicator, or a null LOB indicator if the
column allows nulls, into the base table to indicate an empty or null LOB column.
Restrictions: Base tables that are defined with LOB columns have the following
limitations:
You cannot run a LOAD REPLACE job.
On a LOAD RESUME job, you cannot specify PART n REPLACE or TABLE
name REPLACE.
You cannot specify a LOB indicator column as part of your INTO field
specifications.
NOTE
If you have the Database Administration solution installed, you can load LOB data into
auxiliary tables by using the LOB DATA MOVER program from the CHANGE
MANAGER component of the solution.
When allocating SORTOUT data sets, LOADPLUS requires that the total allocation
be large enough to contain the DB2 row images that are created during the
PRELOAD or COMBINED phase.
For most single-phase load jobs, LOADPLUS does not use the SORTOUT and
SYSUT1 work data sets and does not require that you define them in your JCL. For
some single-phase load jobs, however, these data sets are required if you want to
be able to restart the job. For details about when these data sets are required for
restart, see SORTOUT data sets on page 296 and SYSUT1 data sets on
page 305.
Copies
s
42
You can create one or more image copies by using the LOADPLUS COPY YES
option, regardless of whether you specify LOAD REPLACE, LOAD RESUME NO,
or LOAD RESUME YES.
Functional and operational differences between LOADPLUS and the IBM DB2 LOAD utility
NOTE
You cannot create an image copy when you specify LOAD RESUME YES SHRLEVEL
CHANGE SQLAPPLY load (also referred to as an SQLAPPLY load).
When running under DB2 version 8, LOADPLUS creates all image copies, except
inline image copies, with system pages at the beginning of the data set (in the same
way that the IBM COPY utility creates image copies when you specify
SYSTEMPAGES YES). However, LOADPLUS does not support the
SYSTEMPAGES option.
LOADPLUS uses work files until it loads all of the data. Therefore, the work files
should not be temporary data sets if you want to be able to restart the job.
For most types of loads, LOADPLUS does not write to the DB2 log. Therefore, you
must create a full image copy to ensure recoverability of the table space after
loading. You can create a full image copy by using the LOADPLUS COPY YES
option. You can also use the BMC Software COPY PLUS for DB2 product or the
IBM DB2 COPY utility.
NOTE
A LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY load (also referred to as an
SQLAPPLY load) does write to the DB2 log. In addition, you cannot create an image copy
with this type of load in LOADPLUS.
When you specify COPY YES, LOADPLUS resets the COPY pending status after
loading the data and starting the table space.
When you specify COPY NO, LOADPLUS places the table space in COPY pending
status only if the value of COPYPEND is YES. If the value of COPYPEND is NO,
LOADPLUS does not place the table space in COPY pending status.
43
Multiple volumes
For multi-volume STOGROUP-defined table spaces and indexes, LOADPLUS
attempts to reallocate the data set on the volume on which it currently resides if the
volume is still defined in the storage group. After the current volume, the order of the
volumes retrieved from the storage group is unpredictable.
Concurrent utilities
LOADPLUS uses the BMCSYNC table to control access to DB2 spaces by BMC
Software utilities. This allows LOADPLUS and other BMC Software utilities to run
concurrently on DB2 spaces.
Figures 1 through 3, starting on page 47, illustrate the possible input and output data
sets that are associated with each phase of processing. These figures also show, in
some cases, where LOADPLUS calls common components.
44
Phase
Description
UTILINIT
ANALYZE
This optional phase analyzes the objects that are being loaded and optionally
produces statistics to help determine data set sizes for allocating those data sets.
LOADPLUS executes this phase when dynamic work file allocation is active or
when you specify the ANALYZE and ENUMROWS command options.
PRELOAD
This phase reads data from the input data sets. In this phase, LOADPLUS
completes the following processes:
s
writes any input records that are in error to the SYSDISC discard data set
reads the indexes and table space of the table or partition being loaded, if you
are loading rows into tables or partitions that already contain data
The SYSREC and SYSDISC data sets are freed at the end of this phase and you
should not specify FREE=CLOSE for these data sets.
LOAD
redefines the VSAM data sets when the value of the REDEFINE option is YES
reads the rows from the SORTOUT and SYSUT1 data sets
loads the data into the table space and indexes
invokes BMCSORT for indexes that are not sorted in the PRELOAD phase
creates any requested copies and registers them with the DB2 catalog
45
Table 1
Phase
Description
COMBINED
This phase combines all functions of the PRELOAD and LOAD phases into a
single processing phase. The COMBINED phase avoids the intermediate steps of
writing to the SORTOUT and SYSUT1 data sets either by writing data directly to
the table space and index space or by sending data directly to Apply Plus for
inserting to the table space and index space. You do not have to specify the
SORTOUT and SYSUT1 data sets in your JCL, eliminating the need to allocate
disk and tape resources in large environments.
UTILTERM
updates the BMCSTATS tables (if the BMC Software DASD MANAGER
PLUS product is installed)
46
all phases
sets the pending status of all affected tables and table spaces
performs the rename and delete operations that are associated with the
staging data sets for LOAD REPLACE SHRLEVEL REFERENCE and for
LOAD REPLACE SHRLEVEL CHANGE
Figure 1
SYSIN
UTILINIT PHASE
DB2 Catalog
SYSIDCIN
Indexes
ANALYZE PHASE
SYSRECnn
PRELOAD PHASE
SORTWKnn
SYSDISC
SORTOUTn
SYSERR
SYSUT1nn
BMCCPYnn
BMCCPZnn
LOAD PHASE
SORTWKnn
BMCRCYnn
BMCRCZnn
Table Space
or
Staging
Table Space
Indexes
or
Staging
Indexes
Staging data sets are renamed
during the UTILTERM phase.
DASD
MANAGER
UTILTERM PHASE
All phases use the SYSPRINT data set and update the BMCUTIL and
BMCSYNC tables.
All sort processing uses the UTPRINT data set.
DB2 Catalog
47
Figure 2
UTILINIT PHASE
SYSIN
DB2 Catalog
SYSIDCIN
Indexes
ANALYZE PHASE
SORTOUTn
SORTWKnn
SYSRECnn
SYSUT1nn
COMBINED PHASE
BMCCPYnn
SYSERR
BMCCPZnn
BMCRCYnn
SYSDISC
BMCRCZnn
Table Space
or
Staging
Table Space
Indexes
or
Staging
Indexes
Staging data sets are renamed
during the UTILTERM phase.
DASD
MANAGER
UTILTERM PHASE
All phases use the SYSPRINT data set and update the BMCUTIL and
BMCSYNC tables.
All sort processing uses the UTPRINT data set.
48
DB2 Catalog
Figure 3
SYSIN
UTILINIT PHASE
DB2 Catalog
ANALYZE PHASE
SORTWKnn
SYSRECnn
COMBINED PHASE
SYSERR
SYSDISC
Apply Plus
SQL
Agent
SQL
Agent
SQL
Agent
DB2
Table Space
DB2 Log
Indexes
UTILTERM PHASE
All phases use the SYSPRINT data set and update the BMCUTIL and
BMCSYNC tables.
49
Data set
Description
SYSIN
SYSIN is the input data set that contains the LOAD command.
SYSRECnn
SYSRECnn is the input data set that contains the data that you are loading. The nn is
required only if you specify multiple input data sets. LOADPLUS uses the data set in
the PRELOAD phase or COMBINED phase. At the end of the PRELOAD or
COMBINED phase, LOADPLUS deallocates the data set.
SORTWKnn
SORTWKnn is the work data set that is used by BMCSORT. The data set is used in the
PRELOAD and LOAD phases for a two-phase load, and in the COMBINED phase for a
single-phase load. You cannot allocate the sort work files as VIO data sets or tape data
sets. You must allocate each individual work file on a single DASD unit.
SYSUT1nn
SYSUT1nn is the data set that contains index key entries. This data set becomes the
input data set for the index-building process. The nn is required only if you specify
multiple data sets. To free the device, LOADPLUS deallocates the SYSUT1 data set
after building the index.
SORTOUTn
For a two-phase load, SORTOUTn is the data set that contains the output of the
PRELOAD phase. This data set becomes the input data set to the LOAD phase. The n is
required only if you specify multiple data sets. LOADPLUS uses the data set during
the PRELOAD phase through the end of the LOAD phase. After the table space is
loaded, LOADPLUS deallocates the data set to free the device.
Note: You can also use this data set with certain single-phase load jobs if you want to
be able to restart the job.
SYSIDCIN
SYSIDCIN is the input data set that contains the IDCAMS command statements that
LOADPLUS uses to redefine user-defined (VCAT-defined) data sets. These statements
include statements to redefine the VCAT-defined staging data sets that LOADPLUS
uses when running a load with LOAD REPLACE SHRLEVEL REFERENCE or LOAD
REPLACE SHRLEVEL CHANGE. LOADPLUS reads, parses, and partially verifies the
SYSIDCIN data set in the UTILINIT phase. LOADPLUS issues the IDCAMS
commands before loading the VCAT-defined data sets.
SYSDISC
SYSDISC is the data set that contains the discarded input records. LOADPLUS uses
this data set in the PRELOAD phase for two-phase load and the COMBINED phase for
single-phase processing. At the end of the PRELOAD or COMBINED phase,
LOADPLUS deallocates the data set.
SYSERR
SYSERR is the data set that contains information about errors. LOADPLUS uses this
data set in the PRELOAD phase through the end of the LOAD phase for two-phase
load, and throughout the COMBINED phase for single-phase processing.
50
Table 2
Data set
Description
LOADPLUS can create one or more output copy data sets. These output data sets
contain a DSN1COPY or image copy. After completing the copy, LOADPLUS
deallocates the data set to free the device unless you specified VOL=(,RETAIN) in your
JCL.
SYSPRINT
SYSPRINT is the output data set that contains LOADPLUS messages. All phases use
this data set.
UTPRINT
UTPRINT is the data set that indicates that sort messages should be reported.
However, the actual messages for each sort process appear in separate SYSnnnnn data
sets, where nnnnn is a system-assigned sequential number. This data set is required by
any phase that performs a sort.
Warning! JES3 users should be aware of a limitation within JES3 that does not allow
concurrent tasks to share SYSOUT data sets. See UTPRINT data set on page 310 for
more information about this limitation.
LOADPLUS dynamically allocates the DB2 data sets (table spaces or index spaces) that
you are loading. Therefore, you do not need to specify them in your JCL.
Component
Description
Apply Plus is a component of the BMC Software Log Master for DB2 product.
LOADPLUS uses Apply Plus to load data when you specify LOAD RESUME YES
SHRLEVEL CHANGE SQLAPPLY. LOADPLUS passes processing to Apply Plus
during the COMBINED phase. Apply Plus loads the data from LOADPLUS by
performing SQL INSERT processing.
BMCSORT
BMC Software DB2 Solution Common Code (SCC) is a set of technologies that
provide common processes for several BMC Software products for DB2.
LOADPLUS uses SCC technologies for such processes as setting object statuses
and compressing data.
51
52
Chapter
Operational considerations
This chapter presents the following topics:
System setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MEMLIMIT system parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Products that prevent x37 abends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Number of DB2 threads that LOADPLUS uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serialization and concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS and other BMC Software products. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multi-data-set DB2 objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dynamic work file allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating sort work data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating copy data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating load file and index work file data sets . . . . . . . . . . . . . . . . . . . . . . . . . .
Running in a worklist environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generating data set names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying ddname prefixes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reaching the MAXTAPE limit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changing options on restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Frequently asked questions about dynamic work file allocation. . . . . . . . . . . . . .
Finding more information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOADPLUS work file validity and integrity checks . . . . . . . . . . . . . . . . . . . . . . . . . . .
Check for data set attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Check for data integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Secondary extents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHRLEVEL considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHRLEVEL REFERENCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHRLEVEL CHANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Staging data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Large number of partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definition of a large number of partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended command and installation option values . . . . . . . . . . . . . . . . . . . .
Constrained resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 2
Operational considerations
54
54
59
59
60
60
60
63
69
69
70
71
72
73
73
74
75
76
76
79
79
79
81
81
82
83
84
89
92
92
92
93
94
53
System setup
Identity columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
How LOADPLUS generates identity column values . . . . . . . . . . . . . . . . . . . . . . . . 95
How LOADPLUS updates MAXASSIGNEDVAL . . . . . . . . . . . . . . . . . . . . . . . . . . 95
How LOADPLUS handles invalid value errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Additional identity column considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
CSV considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
How to load CSV data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
CSV data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Installation options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
LOAD command limitations with FORMAT CSV . . . . . . . . . . . . . . . . . . . . . . . . . 101
CSV field specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Data from UNLOAD PLUS in internal format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
How to load the data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Table structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Validation errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Incompatible command options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Additional FORMAT BMCUNLOAD considerations . . . . . . . . . . . . . . . . . . . . . . 108
BatchPipe input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Hardware compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Building a dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Keeping a dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Image copies and recoverability of the loaded table space . . . . . . . . . . . . . . . . . . . . . 112
Referential integrity and check constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
SQLAPPLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Other load types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Additional information about check constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . 115
DB2 user exits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
DB2 real-time statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Return code hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Image copies after recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
DB2 features that LOADPLUS does not currently support . . . . . . . . . . . . . . . . . . . . . 122
System setup
Review this section for recommendations and requirements before you use
LOADPLUS.
Authorization
Using the LOADPLUS product requires that you have the appropriate authorization
within DB2 and through your system security package, such as RACF. You need
sufficient authorization to access resources and perform the tasks that are
accomplished during LOADPLUS processing.
54
Authorization
Available authorization
verification mechanism
LOADPLUS actions
DB2 authority
LOADPLUS requires certain authorizations for all types of load jobs. In addition,
some types of load jobs require additional authorizations. This section describes the
authorizations that are required in order to run LOADPLUS.
Chapter 2
Operational considerations
55
Authorization
sufficient DB2 authority to execute all packages that the LOADPLUS plan uses
one of the following authorizations with your primary or secondary authorization
ID:
SYSADM or SYSCTRL authority
DBADM or DBCTRL authority for the database that contains the named tables
and their associated indexes
LOAD authority for the database that contains the named tables and their
indexes
LOAD authority for the named tables, or LOAD authority for all of the tables of
the table space if you specify LOAD REPLACE
LOAD authority means that the tables creator ID matches your authorization
ID or an ID in your secondary authorization ID list.
NOTE
You can use secondary authorization IDs to limit access as necessary for your site.
You usually grant the following DB2 authorizations during Apply Plus installation:
s
56
execute privilege (EXECUTE) for the plan that Apply Plus uses to access its own
restart table and the catalog
execute privilege (EXECUTE) for the Apply Plus restart package
Authorization
You usually grant the following DB2 authorizations after Apply Plus installation:
s
DISPLAYDB authority for any of the tables that you are loading that have
referential integrity (RI) relationships
This authority must also include any RI-related tables that are not participating in
the load.
create privileges (CREATE) for the collections that Apply Plus creates
bind privileges with the add option (BINDADD) for the plans and packages that
Apply Plus creates during apply processing
If you are running Apply Plus version 1.6.00 or later, Apply Plus provides several
ways to grant the CREATE and BINDADD privileges. Some techniques avoid
granting bind privileges to the user ID that runs Apply Plus. These techniques are
described in the Apply Plus Reference Manual.
NOTE
The pre-bound plan option, described in the Apply Plus Reference Manual, is not compatible
with LOADPLUS.
For additional information about authorizations for Apply Plus, see the Apply Plus
Reference Manual.
SYSIBM.SYSSEQUENCES
SYSIBM.SYSSEQUENCESDEP
Operational considerations
57
Authorization
VCAT-defined
CONTROL
UPDATE
STOGROUP-defined
ALTER or CONTROL
UPDATE or CONTROL
If you establish authority at a node lower than the highest node, you must have this
same authority (as shown in Table 5) for the following data sets. LOADPLUS uses
these data sets during the renaming process for LOAD REPLACE SHRLEVEL
CHANGE and LOAD REPLACE SHRLEVEL REFERENCE.
s
s
s
s
s
s
s
s
vcat.BMCDBD.database.object.I0001
vcat.BMCDBC.database.object.I0001
vcat.OLDDBD.database.object.I0001
vcat.OLDDBC.database.object.I0001
vcat.BMCDBD.database.object.J0001
vcat.BMCDBC.database.object.J0001
vcat.OLDDBD.database.object.J0001
vcat.OLDDBC.database.object.J0001
Using security packages other than RACF: The following procedure illustrates one
method for granting these data set authorizations when your site uses a system
security package other than RACF:
58
3 Grant the data set authorizations that are described in Table 5 on page 58 to the
LOADPLUS product program.
BMC Software recommends that you specify a value of at least 1 GB for the
MEMLIMIT parameter.
NOTE
The following tasks are specific to the MAINVIEW SRM StopX37/II product. If you use a
similar product by another vendor, consult their documentation for instructions about how to
activate their support for EXCP processing.
In StopX37, update the System Master Global member (the active SMMSYSxx
member) in UBBPARM to skip the check for EXCP processing for LOADPLUS by
using the following statement:
SKIP=(PROG=AMUUMAIN,CHECK=(EXCP))
Using the SKIP parameter in the SMMSYSxx member eliminates the need to
maintain the code in any subsequent RLST processing.
Chapter 2
Operational considerations
59
60
BMC Software utility products use the BMCSYNC table to coordinate access to DB2
objects. DB2 objects that participate in a BMC Software utility job are registered in the
BMCSYNC table. When each object is registered, the registering utility assigns a
sharing level to control access to that object from other BMC Software utilities. For
partitioned DB2 spaces, registration is performed at the partition level.
This use of the BMCSYNC table allows multiple BMC Software utilities or multiple
instances of a single utility to operate concurrently on different partitions of the same
DB2 space if no nonpartitioning indexes are involved. In addition, some BMC
Software utilities can operate concurrently on the same object or partition. For
information about which products can operate concurrently, see Table 6. For
additional serialization and concurrency issues for each product, see that products
reference manual. For more information about the BMCSYNC table, see BMCSYNC
table on page 555.
The Access level column in Table 6 refers to the value of the SHRLEVEL column in
the BMCSYNC table. The level can be one of the following values:
s
S indicates shared access. Any other utility that registers with shared access (S) can
run against the object.
X indicates exclusive access. No other utility can run against the object.
A blank value indicates that no status is requested and any other utility can run
against the object.
Table 6
Product
Access
level
Additional information
CHECK PLUS
COPY PLUS
S or
blank
none
If you specify COPY IMAGECOPY, COPY PLUS
registers the object with no access status (blank).
Chapter 2
Operational considerations
61
Table 6
Product
Access
level
Additional information
LOADPLUS
X or S
RECOVER PLUS
X, S,
or
blank
RECOVERY MANAGER S
none
REORG PLUS
UNLOAD PLUS
none
WARNING
Do not run an IBM utility that attempts to manipulate data within the same objects on which a
BMC Software utility is currently processing.
62
Object status
Object status
This section describes the initial status requirements for each type of load. The section
also describes how LOADPLUS changes the status of the objects during load
processing and after load processing completes.
Initial status
The database associated with the objects that are participating in the load must have
an initial status of read/write (RW). The initial status that LOADPLUS requires of the
table space and index spaces depends on the type of load job that you are running.
Use Table 7 to locate the information for the job that you are running.
Table 7
Type of load
Page reference
LOAD REPLACE
63
63
64
65
65
NOTE
Objects that are associated with a table whose table space or index spaces are created with
DEFINE NO and are not already materialized must be in RW status and cannot be in any
restrictive status, such as CHECK pending (CHKP).
Chapter 2
Operational considerations
63
Object status
Table 8
Status
Restrictions
RESTP
REORP
If you are running a LOAD RESUME YES PART REPLACE job, nonparticipating
partitions cannot be in REORG pending (REORP) status. If any of the partitions are in
REORP status, you must replace all partitions that are in REORP status.
LPL or WEPR
If the objects are in LPL or WEPR status, they must be in RW,LPL or RW,WEPR status.
For a table space that is in LPL or WEPR status, the LOAD command must include one
of the following options:
s
s
Note: If the value of the COPYPEND installation option is (YES,ENFORCE), you cannot
specify COPYPEND NO on your LOAD command.
If a table space that is in LPL or WEPR status contains a table that is defined with
referential constraints, the value of CHECKPEND must be NO.
An index that is in LPL or WEPR status must not be in informational COPY pending
(ICOPY) status.
If an index that is in LPL or WEPR status was created with COPY YES, you must specify
COPY NO COPYPEND NO on your LOAD command.
Note: If the value of the COPYPEND installation option is (YES,ENFORCE), you cannot
specify COPYPEND NO on your LOAD command.
You can only specify LOAD RESUME YES PART REPLACE if no associated
nonpartitioning indexes are in LPL or WEPR status.
64
The table space must adhere to the restrictive status requirements for a LOAD
RESUME YES (described in LOAD RESUME YES (all other) on page 65).
The participating index spaces must adhere to the restrictive status requirements
for a LOAD REPLACE (described in LOAD REPLACE or LOAD RESUME YES
PART n REPLACE on page 63).
Object status
If objects participating in the load are in any of these statuses, LOADPLUS issues
message BMC50263E and terminates.
NOTE
Objects that are associated with a table whose table space or index spaces are created with
DEFINE NO and are not already materialized must be in RW status and cannot be in any
restrictive status, such as CHECK pending (CHKP).
Status changes
Table 9 on page 66 describes how the object status changes during load processing for
each type of load. The statuses that this table describes apply to all objects that are
participating in the load.
Chapter 2
Operational considerations
65
Object status
Table 9
Load type
Initial
status
PRELOAD
phase
LOAD phase
c
COMBINED
phase
UTILTERM phase
LOAD REPLACE
SHRLEVEL NONE
two phase
RW, RO,
or UTa,b
unchanged
STOP
not applicable
RW, RO,
or UTb
STOPc,d
STOPc,d
not applicable
SHRLEVEL NONE
single phase
RW, RO,
or UTb
not
applicable
not
applicable
STOPc,d
LOAD REPLACE
SHRLEVEL REFERENCE
two phase
RW, RO,
or UTa,b
unchanged
RO
not applicable
LOAD REPLACE
SHRLEVEL REFERENCE
single phase
RW, RO,
or UTa,b
LOAD REPLACE
SHRLEVEL CHANGE
two phase
RW, RO,
or UTa,b
LOAD REPLACE
SHRLEVEL CHANGE
single phase
RW, RO,
or UTa,b
s
s
not
applicable
not
applicable
RO
s
s
unchanged
unchanged
not applicable
s
s
RW
LOAD RESUME YES
SHRLEVEL CHANGE
SQLAPPLY
(always uses single-phase)
not
applicable
not
applicable
unchanged
s
s
not
applicable
not
applicable
unchanged
STOP as renaming
process starts
reset to initial
status after
renaming process
completeb
STOP as renaming
process starts
reset to initial
status after the
renaming process
completesb
STOP as renaming
process starts
reset to initial
status after the
renaming process
completesb
STOP as renaming
process starts
reset to initial
status after the
renaming process
completesb
unchanged
If the objects are in LPL or WEPR pending status, they must be in RW status.
If you specify SKIPIX SIX or SKIPIX NUSIX, the nonparticipating indexes can be in any initial status. They
are placed in a REBUILD pending status (RBDP, RBDP*, or PSRBD) after the load job completes.
STOP status ensures that LOADPLUS has exclusive use of the space while it is being loaded.
When operating on partitioned objects with RESUME YES and the PART REPLACE option specified,
LOADPLUS stops and starts only those partitions that are specified in the LOAD command.
66
Object status
For SHRLEVEL NONE, LOADPLUS changes the status at the beginning of the
UTILTERM phase.
In addition, LOADPLUS takes the actions shown in Table 10, depending on the load
options.
NOTE
Note the following exceptions:
s
Table 10
If the table space is in both COPY and CHKP statuses, the table space status remains
unchanged and LOADPLUS issues message BMC50380I.
If you specify LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY, LOADPLUS does
not set pending statuses.
LOADPLUS actions
any load
sets ICOPY for all participating indexes that are defined with COPY YES
SKIPIX SIX
or SKIPIX NUSIX
COPY YES
COPY NO COPYPEND
COPY NO COPYPEND NO
or
LOG NO NOCOPYPENDb
Chapter 2
Operational considerations
67
Object status
Table 10
LOADPLUS actions
ENFORCE NO
CHECKPEND YESc
places the table space in CHKP status if table check constraints exist
CHECKPEND YESc
resets the following statuses of the table space (or partitions being
LOAD REPLACE
replaced) and participating index spaces if the objects were in that status
or
LOAD RESUME YES INTO PART before the load:
n REPLACE
s AREO*
s GRECP
s PSRCP
s PSRBD
s RBDP
s RBDP*
s RECP
s RECP*
s REFP
s REORP
LOAD RESUME YES INTO PART resets AREO* status of the partition that you are replacing if the partition
n REPLACE
was in that status before the load
LOAD RESUME YES INTO
TABLE name REPLACE
resets the following statuses of the participating index spaces if they were
in that status before the load:
s GRECP
s PSRCP
s PSRBD
s RBDP
s RBDP*
s RECP
s RECP*
s REFP
s REORP
If the value of the COPYPEND installation option is (NO,ENFORCE), you cannot specify COPYPEND YES
on the LOAD command.
If the value of the COPYPEND installation option is (YES,ENFORCE), you cannot specify COPYPEND NO
or NOCOPYPEND on the LOAD command.
If the value of the CHEKPEND installation option is (NO,ENFORCE), you cannot specify CHECKPEND YES
on the LOAD command.
68
If you do not complete one of these tasks, the LOADPLUS job fails.
For STOGROUP-defined multi-data-set objects, LOADPLUS defines additional data
sets if needed for expansion, even if the value of the REDEFINE option is NO.
The PRELOAD phase of a two-phase load uses the data set allocations, the number of
extents allowed, and DB2 restrictions to determine whether the DB2 object can hold
the data that you are loading. If the DB2 object cannot hold the data, the PRELOAD
phase issues message BMC51487E and terminates. However, the COMBINED phase
of a single-phase load cannot make this prediction due to real-time loading of data.
As a result, if the DB2 object is unable to hold the data that you are loading,
LOADPLUS fails with an extent failure or similar condition.
NOTE
You can also have LOADPLUS dynamically allocate your input data sets by using the INDSN
command option. However, LOADPLUS does not analyze requirements for these data sets
and does not use the standard LOADPLUS dynamic allocation options that this section
describes. The considerations in this section do not apply to input data sets. For more
information about dynamically allocating input data sets, see INDSN on page 159.
Chapter 2
Operational considerations
69
If BMCSORT determines that it needs more sort work space than you have allocated,
additional sort work data sets are dynamically allocated. See Dynamically allocating
sort work data sets.
For more information about specifying SORTWK DD statements in your JCL, see
SORTWK data sets on page 298.
BMCSORT determines that it needs more sort work space than other allocation
methods provide (allocated in your JCL, dynamically allocated by LOADPLUS, or
both).
Several factors affect this dynamic allocation. Table 11 on page 71 describes the
results of combinations of these factors.
70
Table 11
LOADPLUS dynamic
allocation options
SORTNUM or
SORTDEVT
BMCSORT DYNALOC
option
Results
ENUMROWSa
ACTIVE YES
IFALLOC FREEb
not applicablec
not applicablec
ACTIVE NO
SORTDEVT
specified or
SORTNUM n
(where n is
greater than 0)
value of third
parameter is ON or
OFFd
SORTDEVT not
specified and
SORTNUM 0
value of third
parameter is ON
SORTDEVT not
specified and
SORTNUM 0
value of third
parameter is OFF
If you do not specify ENUMROWS, dynamic allocation of sort work data sets is done by BMCSORT as if you
specified ACTIVE NO.
If you specify IFALLOC USE, LOADPLUS allocates sort work data sets in addition to the ones specified in
your JCL for a total of 12.
The values for SORTNUM, SORTDEVT, and the DYNALOC option apply for this scenario only if BMCSORT
determines that it needs more than 12 sort work data sets. In this case, these options affect BMCSORT
processing only for the additional data sets as if you specified ACTIVE NO. Refer to the other rows in this table
to determine how BMCSORT allocates the additional data sets.
If the value of the third parameter of the BMCSORT DYNALOC option is OFF, specifying a value greater than
0 for SORTNUM or specifying SORTDEVT changes this value to ON.
for LOAD REPLACE, the value that you specify for ENUMROWS
for LOAD RESUME YES, the high-used relative byte address (RBA) of the table
space that you are loading and the value that you specify for ENUMROWS
Note the following information about dynamically allocating copy data sets:
s
LOADPLUS does not allow dynamically allocated copy data sets to be stacked on
tape.
Chapter 2
Operational considerations
71
You can decide when to delete the dynamically allocated copy data sets by
specifying an expiration date (with the EXPDT command or installation option) or
by specifying a retention period (with the RETPD command or installation option).
For more information about these commands, see EXPDT on page 281 and
RETPD on page 281.
If you are making partition-level copies (in other words, you specify COPYLVL
PART), LOADPLUS appends the partition number to the default ddname prefix. If
you are loading a table space with more than 99 partitions, you must use the
COPYDDN command or installation option (page 211 or page 520) to specify a
ddname prefix for your copy data sets; the prefix plus the highest partition number
must not exceed eight characters. If you are also making remote copies, use the
RECOVERYDDN command option (page 213) or RCVYDDN installation option
(page 533) to specify a ddname prefix for your remote copy data sets; the prefix
plus the highest partition number must not exceed eight characters. For more
information, see Specifying ddname prefixes on page 74.
If you plan to have LOADPLUS allocate more than nine load file (SORTOUT) data
sets, use the LOADDN command or installation option (page 161 or page 529) to
specify a ddname prefix that results in eight characters or less after LOADPLUS
appends the highest data set number.
If you plan to have LOADPLUS allocate more than 99 index work file (SYSUT1)
data sets, use the WORKDDN command or installation option (page 162 or
page 540) to specify a ddname prefix that results in eight characters or less after
LOADPLUS appends the highest data set number.
If you are loading a table space with a large number of indexes, BMC Software
recommends that you specify a single SYSUT1 data set to avoid data set allocation
limitations of the operating system.
For more information about specifying ddname prefixes, see Specifying ddname
prefixes on page 74.
72
Chapter 2
Operational considerations
73
GDG base
LOADPLUS has the following requirements for the number of GDG bases that you
specify:
s
s
If the base does not exist, LOADPLUS creates it for you, using everything in the
pattern up to the open parenthesis as the base name.
When defining the base, LOADPLUS uses the values of the following options:
s
The GDGLIMIT installation or command option allows you to specify the number
of generations to keep.
If the GDGLIMIT value is exceeded, the GDGEMPTY installation option tells the
system to uncatalog either all preexisting generations of this data set or only the
oldest generation.
The GDGSCRATCH installation option tells the system whether to delete the entry
that was just uncataloged from the volumes table of contents (VTOC).
For more information, see the installation option descriptions in Appendix A, starting
on page 551, and the command option description for GDGLIMIT on page 282.
acceptable:
BMCRD
BMCRDWK
74
not acceptable:
BMCRD
BMCRD11
The prefixes that you specify must allow LOADPLUS to add the data set number (or
partition number in the case of copy data sets) and still result in a valid ddname of
eight characters. If the generated name would result in a ddname of less than eight
characters, LOADPLUS pads the data set or partition number with leading zeros.
Table 12 shows an example of how the prefixes that you specify resolve to the
generated ddnames.
Table 12
Generated ddnames
SORTOUT
SORTOUT1...SORTOUT9
SORTOUT
10
WORK
10
WORK0001...WORK0010
Chapter 2
Operational considerations
75
You cannot change the value for the ACTIVE option on any restart.
If you change the value of other dynamic work file allocation options, specify
RESTART(PHASE).
Answer:
With dynamic work file allocation, LOADPLUS analyzes the requirements for the
load (SORTOUT), work (SYSUT1), sort work (SORTWK), discard (SYSDISC), error
(SYSERR), and copy files for the current execution. LOADPLUS uses the optimal
arrangement of these files, dynamically allocating them to produce the highest
multitasking level possible. Using the dynamic work file allocation options, you do
not need to specify any DD statements for these files in the JCL for your LOADPLUS
job.
Question:
Answer:
To quickly and simply enable and use dynamic work file allocation, make the
following specifications:
s
76
To test this feature on existing LOADPLUS jobs without changing your JCL, use
the IFALLOC FREE option for each of the DDTYPEs. You can specify this option
either in your LOAD command or in your installation options.
For additional options that you can use with dynamic work file allocation, see
Dynamic work file allocation options on page 262.
Question:
How do I make my smaller work files go to DASD and my larger work files go to
TAPE?
Answer:
NOTE
Sort work files cannot go to tape.
1 For each DDTYPE for which SMS is set to NO, specify the UNIT option with a
DASD device type for the first parameter and a tape device type for the second.
The following example illustrates a typical UNIT specification:
UNIT(WORK,TAPE)
For each DDTYPE for which SMS is set to YES, specify the DATACLAS,
MGMTCLAS, or STORCLAS option with a DASD device type class for the first
parameter and a tape device type class for the second.
2 For each DDTYPE, specify the THRESHLD option with the largest work file size
(in kilobytes) that you want on DASD. This forces LOADPLUS to send the larger
work files to tape. The following example supplies LOADPLUS with a number
approximately equal to one 3380 volume:
THRESHLD 1890000
3 Specify the MAXTAPE option to control the maximum number of tape devices that
LOADPLUS dynamically allocates. The following example tells LOADPLUS to
dynamically allocate no more than three tape devices:
MAXTAPE 3
NOTE
If work files go to tape, the MAXTAPE value might restrict the multitasking level of
LOADPLUS.
You can find additional information about these options in Dynamic work file
allocation options on page 262.
Chapter 2
Operational considerations
77
Question:
How do I create SMS-managed data sets with dynamic work file allocation?
Answer:
For any DDTYPE, specify SMS YES in your LOADPLUS command or in your
installation options. You can also specify class names using the DATACLAS,
MGMTCLAS, and STORCLAS options. SMS YES instructs LOADPLUS to use these
SMS classes for dynamic work file allocation.
Question:
What if my SMS allocation routines use the UNIT parameter to influence data set
allocation?
Answer:
When you specify SMSUNIT YES, LOADPLUS passes the UNIT option to SMS
allocation in addition to passing the SMS class options and other normally passed
options. When you specify SMSUNIT NO, LOADPLUS does not pass the UNIT
option.
Question:
Answer:
Specify DELETEFILES YES on your LOAD command. After the load job completes
successfully, LOADPLUS automatically deletes the work files that it dynamically
allocated and those allocated in your JCL, except SYSDISC. If you do not specify
DELETEFILES YES, you must manually delete the dynamically allocated work files
when your load completes successfully. DELETEFILES YES does not apply to image
copy data sets that LOADPLUS dynamically allocates.
You can also have LOADPLUS delete SYSDISC, if no records were written to this
data set during the load process, by specifying SYSDISC YES. If LOADPLUS wrote
records to SYSDISC during the load process, LOADPLUS does not automatically
delete SYSDISC, allowing you to correct the discarded records that it contains and
resubmit the job. You must manually delete SYSDISC in this case.
The SYSPRINT from your LOADPLUS job contains a report of the dynamically
allocated work files. When you need to manually delete work files, you can use this
report to determine which files to delete.
These preferences can also be specified at installation with the DELFILES installation
option. For more information about these options, see DELETEFILES on page 185
or the DELFILES installation option on page 522.
Question:
What is the performance cost for using dynamic work file allocation?
Answer:
78
Question:
Answer:
Because LOADPLUS automatically determines the optimal size and number of work
files, dynamically allocates the work files, and (optionally) deletes the work files, you
spend less time performing analysis to set up optimized JCL for LOADPLUS jobs.
Dynamic work file allocation also prevents you from having to modify the JCL for
the LOADPLUS job as DB2 objects change size or structure over time.
Reference
The first check determines whether a work file has been allocated as a temporary
data set or with DISP=MOD.
The second check ensures that the work file that LOADPLUS reads during the
LOAD phase is the same one that was created during the PRELOAD phase.
Chapter 2
Operational considerations
79
LOADPLUS defines a temporary data set as one whose normal or abnormal DISP is
defined with one of the following values:
s
s
s
DELETE
NEW,PASS
OLD,PASS and the original status is not OLD
FILECHK=FAIL
If your installation options specify FILECHK=FAIL and if LOADPLUS finds that any
of the SORTOUT, SYSERR, or SYSUT1 data sets are temporary, LOADPLUS
terminates. On output, if the disposition is MOD, LOADPLUS resets it to empty.
If LOADPLUS is restarting in the LOAD phase and the data set is temporary due to
its normal disposition, LOADPLUS overrides the normal disposition to KEEP to
ensure against data loss after termination.
FILECHK=WARN
You can force LOADPLUS to process the SORTOUT, SYSERR, and SYSUT1 files in
WARN mode by specifying FILECHK=WARN in the LOADPLUS installation
options. In WARN mode, LOADPLUS issues a warning message for each work file
that is allocated as a temporary data set, but continues load processing.
NOTE
If you restart your job after receiving this warning message, unpredictable errors can occur
due to invalid data in the work data set.
80
NOTE
LOADPLUS issues the warning message for the copy data sets when opening them during the
LOAD phase. If you run LOADPLUS in two steps by using the PRELOAD PAUSE option, you
can code the DDs with DUMMY in the PRELOAD phase to avoid receiving message
BMC50391E. This message states that LOADPLUS is unable to locate the copy data set.
Two-phase load
During the PRELOAD phase of two-phase load processing, LOADPLUS creates the
SORTOUT, SYSERR, and SYSUT1 work files with header information about the
current utility execution. During the LOAD phase, LOADPLUS checks this header
information to ensure that the work file is the file it is expecting to load. If the header
information does not match, LOADPLUS terminates and issues an error message.
Single-phase load
During the COMBINED phase of single-phase load processing, LOADPLUS writes
and verifies the header information of the SYSERR file.
For certain single-phase load jobs, if SORTOUT and SYSUT1 files are available,
LOADPLUS writes the header information during the COMBINED phase of the
original load job. If you restart this job, LOADPLUS verifies the header information
during the COMBINED phase of the restarted job. If the header information does not
match, LOADPLUS terminates and issues an error message. For information about
when LOADPLUS uses SORTOUT and SYSUT1 files in a single-phase load, see
SORTOUT data sets on page 296 and SYSUT1 data sets on page 305.
Secondary extents
For DB2 version 8 or later, if applicable, LOADPLUS uses a sliding-scale calculation
for secondary extents, similar to the method that DB2 uses. For the first secondary
extent, LOADPLUS allocates 30 tracks. For each subsequent extent, LOADPLUS
increases the amount by 15 tracks, up to a maximum of 127 cylinders for spaces less
than 32 GB, or 559 cylinders for spaces greater than or equal to 32 GB.
For additional information about this process, see the IBM DB2 Administration Guide.
Chapter 2
Operational considerations
81
SHRLEVEL considerations
SHRLEVEL considerations
The SHRLEVEL option specifies the level of access that DB2 has to the objects that
you are loading during LOADPLUS processing.
s
With SHRLEVEL NONE, the objects that you are loading are stopped and
unavailable during load processing.
With SHRLEVEL REFERENCE, the objects that you are loading are available in
read-only status during load processing.
With SHRLEVEL CHANGE, the objects that you are loading are available in
read/write status during load processing.
SHRLEVEL option
SHRLEVEL NONE
not applicable
LOAD REPLACE
want very limited outage (which
occurs during the renaming process) SHRLEVEL REFERENCE
want to replace existing data
LOAD REPLACE
want very limited outage (which
occurs during the renaming process) SHRLEVEL CHANGE
read/write access
read-only access
82
SHRLEVEL REFERENCE
The rest of this section discusses considerations for the SHRLEVEL REFERENCE and
SHRLEVEL CHANGE options. For additional information about SHRLEVEL topics,
see the following references:
Additional SHRLEVEL information
Reference
object statuses
page 535
SHRLEVEL REFERENCE
When you specify SHRLEVEL REFERENCE, LOADPLUS places the object that you
are loading in read-only status while it loads the data to a staging data set. After the
load completes, LOADPLUS renames this staging data set, replacing the original
object with the staging data set.
During the load process, the original object is available in read-only status. During
the brief rename process, which occurs in the UTILTERM phase, the object is stopped.
This nondestructive process leaves the original data sets intact throughout the load
process and allows you to easily restart from a failure or make the objects available
without having to recover the objects.
NOTE
SHRLEVEL REFERENCE is currently available only with LOAD REPLACE.
Chapter 2
Operational considerations
83
SHRLEVEL CHANGE
SHRLEVEL CHANGE
You can specify SHRLEVEL CHANGE with either LOAD REPLACE or LOAD
RESUME YES. The load process is different for these two options.
LOAD REPLACE
When you specify LOAD REPLACE SHRLEVEL CHANGE, the object that you are
loading remains in read/write status while LOADPLUS loads the data to a staging
data set. After the load completes, LOADPLUS renames this staging data set,
replacing the original object with the staging data set.
During the load process, the original object is available in read/write status. During
the brief rename process, which occurs in the UTILTERM phase, the object is stopped.
This nondestructive process leaves the original data sets intact throughout the load
process and allows you to easily restart from a failure or make the objects available
without having to recover the objects.
WARNING
This type of load fully replaces the data in the object (or partition), including any inserts,
updates, or deletes to the base object that occur during the load process.
84
SHRLEVEL CHANGE
3 With your LOAD command, specify RESUME YES SHRLEVEL CHANGE (or the
equivalent in your installation options).
If necessary, specify one or more of the options that are available with SHRLEVEL
CHANGE. See SHRLEVEL on page 143 for information about these options.
The rest of this section describes considerations when running an SQLAPPLY load
job.
DB2 logs
Because this type of load uses insert processing, it writes to your DB2 logs. With this
additional activity, you might need to increase the size of your active logs. Refer to
your IBM DB2 installation guide for guidelines to use when sizing your active logs.
Unicode data
LOADPLUS does not currently support loading Unicode data when running an
SQLAPPLY load job.
Chapter 2
Operational considerations
85
SHRLEVEL CHANGE
Processing phases
For this type of load, LOADPLUS uses its single-phase load architecture to pass your
data to Apply Plus. For additional information about the processing phases involved
in this type of load, see Figure 3 on page 49.
Referential integrity
If you are loading multiple tables that have foreign key relationships between them,
and you want your parent tables to load before their child tables, specify ORDER
YES. This causes LOADPLUS to assign a table number based on the parent-child
relationships and to sort your data by this assigned table number.
If you are loading multiple tables that are self-referential or that have circular
relationships, LOADPLUS cannot determine the correct order. To maintain
referential integrity in this case, order the data before running your load job, and
specify ORDER NO on your LOAD command.
86
SHRLEVEL CHANGE
Duplicate keys
When you run an SQLAPPLY load, LOADPLUS handles duplicates differently from
other load types. For this type of load, if the input file contains duplicate rows,
LOADPLUS loads the first one that it encounters and discards any subsequent ones.
NOTE
The record that LOADPLUS loads and the duplicate records that LOADPLUS discards might
not be the ones that you expect. For example, if you specify ORDER YES, the sequence of the
records that LOADPLUS loads might be different from the sequence of the records in your
input file.
This type of load uses DB2 insert processing and DB2 rejects a duplicate row in the
first index in which it detects that the row is a duplicate. Therefore, LOADPLUS
might not detect all indexes in which a row is a duplicate.
For this type of load, LOADPLUS detects and discards duplicates during insert
processing in the COMBINED phase.
Copies
For an SQLAPPLY load, your table space is always available. Therefore, for this type
of load, LOADPLUS does not create an image copy or DSN1COPY. If you include
COPY YES in your LOAD command, LOADPLUS terminates with return code 8.
Restart
If you restart an SQLAPPLY job, you must use the same input data that you used
originally and it must be in the same order. For example, if you are loading
concatenated data sets, these data sets must be in the same order as they were
originally, and you must not include any additional data sets. Similarly, if
LOADPLUS encountered duplicates during the original job, you should not remove
them before you restart.
WARNING
Data that is missing or that is in a different order in the restarted job than in the original job
produces unpredictable results.
Statistics
For an SQLAPPLY load, LOADPLUS does not update BMC statistics tables or DB2
catalog statistics. However, because this type of load uses SQL insert processing, DB2
updates the real-time statistics tables as it would for any other DB2 application that
uses SQL insert processing.
Chapter 2
Operational considerations
87
SHRLEVEL CHANGE
For an SQLAPPLY load, LOADPLUS generates a message that indicates the number
of loaded rows and the number of rows that were discarded due to SQL errors.
LOADPLUS provides this information by table space, partition, and table.
Command option
BMCSTATS
CHECKPEND YES
CLUSTERRATIO
COPY YES
ENFORCE
IDCACHE
IDERROR
INDEX BUILD
INDEX UPDATE
LOG NO
MAXSORTS
NLPCTFREE
ORDER PRESORTED
ORDER YES
ASSOCIATE BYCLUSTERKEY
PART n REPLACE
PART PREFORMAT
PREFORMAT
PRELOAD LOAD
PRELOAD CONTINUE
PRELOAD PAUSE
PRELOAD ANALYZE
88
Table 14
Command option
REDEFINE
SKIPIX
SYNC
UNIQUECHECK
UPDATEDB2STATS
REDEFINE command
or installation option Object you are loading
REDEFINE NO
VCAT-defined
Action
Preallocate the staging data sets and any data sets that you
might need for expansion of a multi-data-set object. For
information about naming conventions for these data sets,
see Table 16 on page 90.
If you do not preallocate staging data sets and you specify
REDEFINE NO, LOADPLUS fails because it cannot find the
data sets.
STOGROUP-defined
Preallocate the staging data sets and any data sets that you
might need for expansion of a multi-data-set object. For
information about naming conventions for these data sets,
see Table 16 on page 90.
If you do not preallocate the staging or expansion data sets,
LOADPLUS creates the data sets for you using the same
rules as if you had specified REDEFINE YES.
Chapter 2
Operational considerations
89
Table 15
REDEFINE command
or installation option Object you are loading
REDEFINE YES
VCAT-defined
Action
Provide the IDCAMS statements in the SYSIDCIN data set to
delete and define the staging data sets. For information about
naming conventions for these data sets, see Table 16.
If you do not provide any statements in SYSIDCIN,
LOADPLUS treats the job as if you specified REDEFINE NO.
STOGROUP-defined
If you need to preallocate or define the staging data sets, use the original DB2 data set
names as a starting point, but replace the DSNDBC and DSNDBD nodes with
BMCDBC and BMCDBD. Table 16 illustrates this naming convention.
Table 16
If the name of the existing data set you are loading is this Then define the staging data set name as this
vcat.DSNDBC.database.tablespace.I0001.Annn
vcat.BMCDBC.database.tablespace.I0001.Annn
vcat.DSNDBD.database.tablespace.I0001.Annn
vcat.BMCDBD.database.tablespace.I0001.Annn
vcat.DSNDBC.database.tablespace.J0001.Annn
vcat.BMCDBC.database.tablespace.J0001.Annn
vcat.DSNDBD.database.tablespace.J0001.Annn
vcat.BMCDBD.database.tablespace.J0001.Annn
90
4. The next step depends on the value for the ORIGDISP or ORIGINALDISP option:
A. If the value for the ORIGDISP or ORIGINALDISP option is DELETE,
LOADPLUS deletes the original data sets, which are now obsolete.
B. If the value for this option is RENAME, LOADPLUS renames the original data
sets to the staging data set names by replacing OLD with BMC.
RENAME preserves the space that was initially allocated for the original data
sets. As a result, the staging data sets are ready to be used with the next LOAD
REPLACE SHRLEVEL REFERENCE or CHANGE load job.
Figure 4
DSNDBC.db.ts
BMCDBC.db.ts
DSNDBD.db.ts
BMCDBD.db.ts
UTILTERM phase
OLDDBC.db.ts
DSNDBC.db.ts
OLDDBD.db.ts
DSNDBD.db.ts
ORIGINALDISP RENAME
BMCDBC.db.ts
BMCDBD.db.ts
ORIGINALDISP DELETE
objects deleted
Chapter 2
Operational considerations
91
92
Constrained resources
If you are replacing only a few partitions and all of the remaining partitions are
empty, specify LOAD RESUME YES PART n REPLACE instead of LOAD
REPLACE. For more information, see PART on page 219.
If you are loading more than 2000 partitions, BMC Software recommends that you
increase the value of your STOPRETRY installation option to a minimum of 450.
Increasing this value can prevent your load job from failing while waiting for DB2
to stop the objects that are associated with the table space that you are loading. For
more information about the STOPRETRY installation option, see page 539.
Ensure that the value of your LOCKROW installation option is YES. (The value
that was shipped with LOADPLUS version 7.2.00 and earlier was NO.) For
additional information about the LOCKROW installation option, see page 529.
Consider lowering the VOLCNT value from the default value of 25 to avoid data
set allocation limitations. For more information, see the command option
VOLCNT on page 272 or the VOLCNT installation option on page 545.
Constrained resources
When you are loading a large number of partitions, the potential for encountering
constrained resources is greater than for other partitioned objects. Use the following
information to avoid or work around this situation:
s
Ensure that you have specified a region size that allows the system to allocate as
much virtual storage as possible to the LOADPLUS job. BMC Software
recommends that you specify REGION=0M in the JOB or EXEC statement of your
execution JCL.
Chapter 2
Operational considerations
93
Additional recommendations
If you have specified REGION=0M and your load job fails with a constrained
resources error, consider loading fewer partitions in a single job.
If you are running a two-phase load job that fails with a constrained resources
error, try restarting the job. The restarted job might have lower memory
requirements.
Additional recommendations
If you are loading a large number of partitions, you might need to increase the size of
the following common utility table spaces from the standard size that was allocated
during installation:
s
BMCSYNC
Estimate the allocation for this table space based on all of the following factors:
the number of utilities that you are running concurrently
the number of partitions that you are processing concurrently
the number of files that you are dynamically allocating
BMCDICT
If you are loading compressed data, estimate the allocation for this table space by
multiplying by 64 KB the number of compressed partitions that you are operating
on concurrently (loading with LOADPLUS and reorganizing with REORG PLUS).
94
Identity columns
Identity columns
When loading identity columns, LOADPLUS generates values as necessary and
updates the DB2 catalog to reflect the maximum assigned value.
NOTE
For an SQLAPPLY load job, LOADPLUS does not reserve an identity column cache on the
DB2 catalog. For this type of load job, LOADPLUS uses DB2 to generate identity column
values.
Generated values
When generating your identity column values, LOADPLUS always updates the
MAXASSIGNEDVAL field of SYSIBM.SYSSEQUENCES with the last value in the
cache that it is reserving. LOADPLUS updates this field at the time that it reserves
each cache.
Chapter 2
Operational considerations
95
How LOADPLUS updates MAXASSIGNEDVAL when loading values from an input file
The maximum loaded identity column value is not within the LOADPLUS updates MAXASSIGNEDVAL
range that is defined on the identity column, but the minimum with the highest value in the range defined on
loaded identity column value is within this range.
the identity column (for positive
INCREMENT values).
Note: If INCREMENT is a negative value,
LOADPLUS updates MAXASSIGNEDVAL
with the lowest value in the range defined on
the identity column.
The maximum and minimum loaded identity column values LOADPLUS does not update
MAXASSIGNEDVAL.
are not within the range that is defined on the identity
column.
96
For SQLAPPLY load jobs, LOADPLUS discards the rows with the invalid values
and ignores the value for the IDERROR option.
Authorization
To load data into tables that contain identity columns, you must have additional
authorization as described in Load jobs for tables with identity columns on page 57.
FORMAT BMCUNLOAD
If you specify FORMAT BMCUNLOAD with your LOAD command, the identity
column in the table that you are loading must be defined as GENERATED BY
DEFAULT. For additional considerations, see Identity columns on page 109.
NOTE
For an SQLAPPLY load, you can also have values assigned in clustering order. To do so,
specify APMAXAGENTS 1 and ORDER YES.
For all other load types, specify only one SYSREC data set per load job.
Chapter 2
Operational considerations
97
Field specifications
For certain field specifications, LOADPLUS terminates or takes other actions that you
might not expect when you are loading identity columns. Table 18 describes these
actions.
Table 18
Identity column
definition
GENERATED BY
DEFAULT
field specification
includes DEFAULTIF
not applicable
LOADPLUS defaults to
the generated value.
field specification is
included on the LOAD
command
not applicable
not applicable
98
LOADPLUS action
GENERATED
ALWAYS
LOADPLUS terminates.
CSV considerations
CSV considerations
LOADPLUS provides the capability of loading data from comma-separated-value
(CSV) files.
NOTE
CSV files are also referred to as comma-delimited or delimited files.
1 Ensure that your data is formatted within the requirements that are specified in
CSV Data Format.
2 Specify FORMAT CSV with your LOAD command. Depending on the format of
your CSV file, you might also need to specify one or more CSV options. For more
information about this option, see CSV on page 151.
NOTE
Enclosure characters (characters that enclose each field) in your CSV file are optional.
Chapter 2
Operational considerations
99
Input strings should not contain the same characters as your field delimiters or
enclosure characters. If they do, LOADPLUS might load the record incorrectly or
reject it. To prevent this problem, complete one of the following tasks:
Remove these characters from your input strings.
Change the delimiter or enclosure character in your input file so that you do not
have a conflict with embedded characters. Then, ensure that the
TERMINATEDBY and ENCLOSEDBY options on your FORMAT CSV
command are compatible with the delimiter and enclosure characters in your
input file.
Your CSV input file should use a variable-length record format (RECFM=VB). If
your input file uses a fixed-length record format, and the last field on a record does
not extend to the end of that record, the field must end with a delimiter.
A one-to-one correspondence should exist between the input fields of your CSV
data and the field specifications on your LOAD command. Otherwise, the
following results occur. (See CSV field specifications on page 102 for more
information.)
If you have more input fields than field specifications, LOADPLUS ignores the
extra input file data. LOADPLUS maps field specifications to input fields in
order, starting with the first specification and the first input field.
If you have fewer input fields than field specifications, LOADPLUS ignores the
additional field specifications.
100
LOADPLUS supports loading data that was created by using the FORMAT CSV
option of UNLOAD PLUS. However, when loading CSV data, LOADPLUS
requires that DATE, TIME, and TIMESTAMP data be in DB2 EXTERNAL format.
The LOAD control cards that UNLOAD PLUS produces do not specify an external
format for these data types. You must either modify these control cards or load the
data by using a LOADPLUS job that provides the correct external format for these
data types.
Installation options
NOTE
Although supported, using the FORMAT CSV option of LOADPLUS and UNLOAD PLUS
is not the most efficient method for using these two products to migrate DB2 data.
If your table structures are nearly identical, BMC Software recommends that you specify
FORMAT BMCLOAD (in UNLOAD PLUS) and FORMAT BMCUNLOAD (in LOADPLUS)
to migrate DB2 data. For more information, see Data from UNLOAD PLUS in internal
format on page 105.
If your table structures are not similar enough to use this method, BMC Software
recommends that you use the FORMAT INTERNAL option of UNLOAD PLUS. For more
information, see the UNLOAD PLUS for DB2 Reference Manual.
Installation options
When you specify FORMAT CSV, LOADPLUS changes the value of the RULES
installation option to STANDARD, regardless of the value that was specified at
installation. This option affects how LOADPLUS handles NULLIF and DEFAULTIF
specifications. For more information about the RULES option, see Appendix E,
RULES installation option examples.
CONTINUEIF
If you specify CONTINUEIF with FORMAT CSV, LOADPLUS issues message
BMC51412E and terminates.
UNICODE
If you specify the UNICODE option with FORMAT CSV, LOADPLUS issues
message BMC50115E and terminates.
Chapter 2
Operational considerations
101
NOTE
Alternatively, you can elect not to include any field specifications. If you do not include any
field specifications, LOADPLUS loads the data as if you had included a field specification that
maps to every column in the table that you are loading.
If the input field that you do not want to load is the last field (or fields) in the CSV
file, you do not need to include a field specification for that field. LOADPLUS
ignores any extra fields at the end of the input file.
If the input field that you do not want to load is not the last field (or fields) in the
CSV file, include a placeholder field specification on your LOAD command. In this
field specification, use a field name that is not the name of a column in the DB2
table. You must also specify SKIPFIELDS YES on your LOAD command.
Figure 5 on page 104 illustrates how LOADPLUS maps your field specifications for
CSV files to your DB2 table columns. Example 2a does not supply a field specification
for the employee department field. Therefore, LOADPLUS loads employee
department data into the employee number column, which is not the desired result.
Example 2b corrects this problem by adding a placeholder field specification.
102
For the fields that you want to load, the field name must match the corresponding
column name.
DATE, TIME, or TIMESTAMP field specifications must be in one of the supported
external formats, as listed in the tables in DATE, TIME, and TIMESTAMP
formats on page 246.
You can use NULLIF and DEFAULTIF field specifications. However, be aware that
LOADPLUS changes the value of the RULES installation option to STANDARD,
which affects how LOADPLUS handles NULLIF and DEFAULTIF specifications.
Chapter 2
Operational considerations
103
Figure 5
EMP_DATE
EMP_DEPT
EMP_NO
Sue Lee
03/10/1994
901
12634
Jane Doe
04/16/1996
902
32108
900
EMP_SALES
23145
Field specifications
EMP_DATE
EMP_NO
EMP_SALES
Sue Lee
03/10/1994
901
12634
Jane Doe
04/16/1996
902
32108
Juan Lopez
12/12/1993
900
23145
03/10/1994
12634
Jane Doe
04/16/1996
32108
Juan Lopez
104
EMP_DATE
EMP_NO
12/12/1993
EMP_SALES
23145
1 Ensure that the table that you are loading is structured within the requirements
specified in Table structure on page 106.
3 Include a WHEN TABLE=obid clause with your INTO option. For more
information about this option, see TABLE=obid on page 222.
WARNING
BMC Software recommends that you specify input files from a single UNLOAD PLUS step
in a single LOADPLUS step. If you specify input files from multiple UNLOAD PLUS steps
in a single LOADPLUS step, you might encounter data corruption or other unpredictable
results.
4 If you do not use the LOAD control statements that UNLOAD PLUS generated,
ensure that your LOAD command does not contain field specifications or any of
the incompatible command options that are described in Incompatible command
options on page 108.
NOTE
When you use this feature, BMC Software strongly recommends that you use the LOAD
control statements that UNLOAD PLUS generates. Using these control statements ensures
that your command options comply with the requirements for using this feature.
Chapter 2
Operational considerations
105
Table structure
Table structure
In general, when you use the FORMAT BMCUNLOAD option, the structure of the
table that you are loading must be identical to the structure of the table that you
unloaded with UNLOAD PLUS. This section describes considerations regarding the
structure of the two tables. For information about how LOADPLUS handles
discrepancies in table structure, see Validation errors on page 107
The coded character set identifier (CCSID) on the target table must match the CCSID
on the source.
Column definitions
The following considerations apply to column definitions in the two tables:
s
The number, order, and data type of the columns in the two tables must be the
same, but column names can be different.
For VARCHAR and VARGRAPHIC columns, your target table columns can have a
length that is greater than the source table columns.
NOTE
For ROWID columns, LOADPLUS does not verify the column length.
NOTE
If you are running LOADPLUS in a CHANGE MANAGER worklist environment, see the
CHANGE MANAGER documentation for additional information about loading ROWID
columns.
106
Validation errors
If identity column definitions are not the same (for example, the values for START
and INCREMENT), LOADPLUS loads the data. If the value of the UPDATEMAXA
or UPDMAXA option is YES, LOADPLUS also issues a warning message.
If the source has an EDITPROC, the target must have an EDITPROC with the same
name.
If the source has a VALIDPROC or FIELDPROC, the target must also have one, but
it can have a different name. LOADPLUS displays a warning but loads the rows.
Validation errors
LOADPLUS validates that your table structure is the same by comparing the
verification records of the input file that UNLOAD PLUS creates with the structure of
the table that you are loading. If conflicts exist between the verification records and
the table that you are loading, LOADPLUS issues the appropriate verification
messages as described in this section. Depending on the type of conflict, LOADPLUS
takes one of the following actions:
s
s
s
LOADPLUS issues the following messages when validating the table structure:
s
s
s
If the input file does not contain any verification records, LOADPLUS issues message
BMC51590E and ends with return code 16. If the input file contains verification
records but none of them match any of the tables that you are loading, LOADPLUS
discards all rows, issues message BMC51590E, and ends with return code 0.
Chapter 2
Operational considerations
107
If you specify any of the following LOAD command options with FORMAT
BMCUNLOAD, LOADPLUS ignores the option:
ASCII/EBCDIC/UNICODE
CCSID
NOSUBS
Data translation
Data translation between the two tables is not supported. If you specify the CCSID
option on your LOAD command, LOADPLUS ignores the option but loads the data.
108
BatchPipe input
Identity columns
If any of the tables that are specified on your INTO statements contain an identity
column and the tables are valid based on their verification records, LOADPLUS
updates the value for MAXASSIGNEDVAL in SYSIBM.SYSSEQUENCES when the
value of the UPDATEMAXA or UPDMAXA option is YES. The value that
LOADPLUS uses for MAXASSIGNEDVAL is the value for the source table that was
in the DB2 catalog at the beginning of the unload process in UNLOAD PLUS.
LOADPLUS updates MAXASSIGNEDVAL by using the same criteria as with any
other load job. For additional information, see How LOADPLUS updates
MAXASSIGNEDVAL on page 95.
LOADPLUS validates the identity column definition in the verification records of the
input file against the identity column definition in the table that you are loading. If
these definitions are not the same, LOADPLUS issues a warning message only if the
value of the UPDATEMAXA or UPDMAXA option is YES. LOADPLUS loads the
data regardless of whether the definitions are the same.
When you specify FORMAT BMCUNLOAD, LOADPLUS does not validate the
identity column definition against the input data values. Therefore, you might have
values in your identity column that are outside the range that you specified.
BatchPipe input
LOADPLUS allows you to run in a BatchPipes environment, including the ability to
use input from the Job Optimizer Pipes component of the BMC Software MAINVIEW
Batch Optimizer product. The following considerations apply when using data pipes:
s
If your input data set is a pipe, LOADPLUS does not write discards to SYSDISC.
You can specify a mixture of DASD files and pipes as input. However, you cannot
concatenate these files within one SYSREC DD.
If you use multiple pipe data sets, you must specify a separate SYSREC DD
statement for each data set and the DCB parameters for all of the pipe data sets
must be the same.
If you are loading data with multiple pipes, each pipe must be generated by an
independent job and each of these jobs must be able to run concurrently. For
example, you cannot load data by using multiple pipes that are generated by
multiple steps within a single job.
You cannot specify a pipe data set with the INDSN command option.
Chapter 2
Operational considerations
109
Hardware compression
Hardware compression
Hardware compression is in effect when the table space or partition that you are
loading has the COMPRESS YES attribute. You can use the following compression
dictionaries interchangeably:
s
s
any BMC Software compression dictionary that the BMC Software utilities build
any DB2 compression dictionary that the IBM DB2 REORG or LOAD utility builds
For LOAD REPLACE or LOAD RESUME YES PART n REPLACE, the value of the
KEEPDICTIONARY installation option determines how LOADPLUS handles
compression at a global level. However, you can override this value by specifying the
KEEPDICTIONARY command option at either the table space or partition level. For
more information, see page 141, page 221, and page 528.
NOTE
If you specify the KEEPDICTIONARY command option without a value, LOADPLUS
assumes KEEPDICTIONARY YES, regardless of the value of the installation option.
Considerations
Note the following considerations when using compression with LOADPLUS:
s
For LOAD RESUME YES jobs (without PART n REPLACE) on partitioned table
spaces, LOADPLUS handles compression based on whether the table space or
partition is empty.
For LOAD RESUME YES jobs on simple or segmented table spaces, LOADPLUS
always keeps an existing compression dictionary and does not build a dictionary if
one does not exist.
NOTE
Whether the number of compressed partitions that you have is considered a large number
depends on your environment. In the BMC Software testing environment, a large number
of compressed partitions was approximately 500 or more compressed partitions.
110
Building a dictionary
Building a dictionary
LOADPLUS builds a new dictionary based on the following criteria:
s
For LOAD RESUME YES jobs (without PART n REPLACE) on partitioned table
spaces, LOADPLUS builds a new dictionary if the table space or partition is empty
and a compression dictionary does not currently exist for the table space or
partition.
LOADPLUS builds the compression dictionary during the PRELOAD phase for a
two-phase load and during the COMBINED phase for a single-phase load. After
completely building the dictionary, LOADPLUS compresses the data. For a
two-phase load, LOADPLUS stores the dictionary in the BMCDICT table between
phases.
NOTE
LOADPLUS stores a dictionary in BMCDICT for each partition that you are loading. If you are
loading a table space with a large number of partitions, you might need to increase the size of
the BMCDICT table space from the standard size that was allocated during installation. For
more information about the BMCDICT table, see BMCDICT table on page 558.
Chapter 2
Operational considerations
111
Keeping a dictionary
Keeping a dictionary
If a dictionary already exists, LOADPLUS keeps the existing dictionary and uses it for
compression under the following circumstances:
s
for LOAD REPLACE or LOAD RESUME YES PART n REPLACE jobs, if the value
of KEEPDICTIONARY is YES
If you do not take an image copy as part of the LOADPLUS job, you must take some
action to ensure that DB2 can recover the table space. If you want an image copy, run
COPY PLUS or the IBM DB2 COPY utility. You can also run DSN1COPY or any
suitable substitute that your system provides.
If you intend to create the copy outside of LOADPLUS, specify LOADCPY=YES in
your installation options so that LOADPLUS inserts a LOAD LOG(NO) row into
SYSIBM.SYSCOPY. This row tells DB2 that a load has been performed on the table
space without logging. This row is necessary for recovery to work during fallback
processing and to prevent you from making an incremental image copy before you
make a full image copy.
WARNING
If you specify COPY NO and your installation options specify LOADCPY=NO, LOADPLUS
does not insert a LOAD LOG(NO) row into SYSIBM.SYSCOPY. This action might render the
table space unrecoverable or only partially recoverable if the full image copy that you make
after the load is not usable or if you make incremental image copies after the load before you
make a full image copy.
112
SQLAPPLY
This section describes how LOADPLUS handles referential integrity and check
constraints during an SQLAPPLY load job. For additional special circumstances, see
Additional information about check constraints on page 115.
Referential integrity
LOADPLUS has no ENFORCE CONSTRAINTS option for referential integrity
violations. However, for a load job that uses Apply Plus (an SQLAPPLY load), the
Apply Plus architecture preserves referential integrity relationships. Therefore, when
referential integrity is involved and you specify ORDER YES, LOADPLUS sorts your
data by table so that LOADPLUS loads parent tables before their child tables.
If you attempt to load tables that are self-referencing or that have circular
relationships and you specify ORDER YES, LOADPLUS cannot determine the correct
order. In this case, LOADPLUS issues warning message BMC51582W, but continues
processing. When processing passes to DB2, you might receive SQL -530 errors. To
maintain referential integrity for this type of load, order the data before your load job
and specify ORDER NO with your LOAD command.
Chapter 2
Operational considerations
113
CHKP status
The CHEKPEND installation option and CHECKPEND command option tell
LOADPLUS whether to set CHKP status when table check constraints are not
enforced or RI constraints exist. For more information about these options, see
page 519 and page 195.
LOADPLUS allows an image copy to be made after a table is loaded, even when the
table is in CHKP status. Because both check utilities log any changes that are made to
the table, a full RECOVER utility execution that uses the copy applies the log records,
thus ensuring the integrity of the data in the table. A RECOVER TOCOPY utility
execution places the affected table in CHKP status again. If the table is in CHKP
status due to referential integrity constraints, a subsequent invocation of either check
utility restores referential integrity.
Referential integrity
LOADPLUS has no ENFORCE CONSTRAINTS command option for referential
integrity violations. Therefore, for load types other than SQLAPPLY, LOADPLUS
does not preserve referential integrity relationships.
For load types other than SQLAPPLY, if the value of the CHECKPEND option is YES
and a table has referential constraints defined, LOADPLUS places the table spaces in
CHKP status. After the LOADPLUS job completes, you must run CHECK PLUS
(specifying the CHECK DATA SCOPE ALL option) or the IBM CHECK DATA utility
(specifying SCOPE ALL) to ensure that referential integrity has not been violated.
NOTE
If you specify FORMAT BMCUNLOAD, LOADPLUS does not verify check constraints,
regardless of the value of the ENFORCE option.
114
If table check constraints exist, the value of the ENFORCE option is NO, and the value
of the CHECKPEND option is YES, LOADPLUS places the table space in CHKP
status. After the LOADPLUS utility completes, you must run CHECK PLUS
(specifying the CHECK DATA SCOPE ALL option) or the IBM CHECK DATA utility
(specifying SCOPE ALL) to ensure that table check integrity has not been violated.
DEFINE NO objects
If you are loading a table whose table space or index spaces are created with DEFINE
NO and a check constraint exists on the table, LOADPLUS attempts to build a row
that satisfies the check constraint (attempts to resolve the constraint) while
materializing the table. However, if LOADPLUS cannot resolve the check constraint,
LOADPLUS terminates and issues message BMC51491E. Before terminating,
LOADPLUS issues message BMC51492W, which describes the check constraint that it
cannot resolve.
To load this table, you must manually materialize the associated data sets and restart
the load job.
Identity columns
If you are loading an identity column that is referenced in the check condition of a
DB2 table check constraint and the following circumstances also apply, LOADPLUS
terminates:
s
s
Chapter 2
Operational considerations
115
EDITPROCs
VALIDPROCs
FIELDPROCs
date exits:
DSNXVDTX (EBCDIC date exit routine)
DSNXVDTA (ASCII date exit routine)
DSNXVDTU (Unicode date exit routine)
time exits:
DSNXVTMX (EBCDIC time exit routine)
DSNXVTMA (ASCII time exit routine)
DSNXVTMU (Unicode time exit routine)
authorization exit
By default, LOADPLUS invokes these exits in supervisor state (and PSW key=7).
LOADPLUS calls the MODESET SVC to perform this switch before invoking an exit,
and again to reset the mode after returning from the exit. For information about
changing the LOADPLUS installation option to achieve better performance, see
UXSTATE installation option on page 477.
116
Table 19
Load type
Description or reference
LOAD RESUME NO
or
LOAD REPLACE
LOADPLUS does not currently update the real-time statistics tables for
this type of load job.
Note the following considerations about how LOADPLUS operates when updating
the real-time statistics tables:
s
LOADPLUS jobs can affect the accuracy of the statistics in the same way as IBM
LOAD utility jobs can. For additional information about the accuracy of these
statistics, see the IBM documentation.
when you specify LOAD RESUME YES INTO TABLE name REPLACE
for table space and index partitions that do not participate in the load
for indexes that do not participate in the load (because you specified SKIPIX)
The following tables (Table 20 on page 118 through Table 22 on page 120) describe
the DB2 real-time statistics table columns that LOADPLUS updates and the values
with which it updates those columns. LOADPLUS does not update any columns that
are not listed in these tables.
Chapter 2
Operational considerations
117
Table 20
Real-time statistics updates for LOAD RESUME NO, LOAD REPLACE, and LOAD RESUME
YES INTO PART n REPLACE
Table
Column
Updated value
SYSIBM.TABLESPACESTATS
UPDATESTATSTIME
TOTALROWS
NACTIVE
SPACE
EXTENTS
LOADRLASTTIME
REORGINSERTS
REORGDELETES
zero
zero
REORGUPDATESa
zero
REORGDISORGLOBa
zero
a
zero
REORGMASSDELETEa
zero
REORGNEARINDREFa
zero
REORGUNCLUSTINS
REORGFARINDREF
zero
COPYLASTTIMEb
COPYUPDATEDPAGESb,c
zero
COPYCHANGES
b,c
zero
COPYUPDATELRSNb,c
null
UPDATESTATSTIME
TOTALENTRIES
NLEVELS
NACTIVE
SPACE
EXTENTS
SYSIBM.INDEXSPACESTATS
null
COPYUPDATETIMEb,c
LOADRLASTTIME
REORGINSERTS
zero
REORGDELETESe
zero
REORGAPPENDINSERT
zero
REORGPSEUDODELETESe
zero
REORGMASSDELETEe
zero
REORGLEAFNEAR
zero
REORGLEAFFARe
zero
REORGNUMLEVELSe
zero
LOADPLUS updates these columns only if the load job registers a copy.
118
LOADPLUS updates the columns for nonpartitioning indexes of a LOAD RESUME YES INDEX UPDATE
INTO PART n REPLACE load with different information. You can find this information in the INDEX
UPDATE column of Table 22 on page 120.
NOTE
Table 21 does not apply to some types of LOAD RESUME YES job. For more information, see
Table 19 on page 117.
Table 21
Column
Updated value
UPDATESTATSTIME
TOTALROWS
NACTIVE
SPACEa
EXTENTSa
COPYLASTTIME
COPYUPDATEDPAGES
s
s
COPYCHANGESc
s
s
if a copy is registeredzero
if a copy is not registerednumber of pages loaded plus the previous value
if a copy is registeredzero
if a copy is not registerednumber of rows loaded plus the previous value
COPYUPDATELRSNc
null
COPYUPDATETIMEc
null
LOADPLUS updates this column only if the load job registers a copy.
NOTE
Table 22 on page 120 does not apply to some types of LOAD RESUME YES job. For more
information, see Table 19 on page 117.
Chapter 2
Operational considerations
119
Table 22
Column
INDEX BUILD
INDEX UPDATE
UPDATESTATSTIME
TOTALENTRIESa
NLEVELS
not updated
NACTIVE
not updated
SPACE
not updated
EXTENTS
not updated
LOADPLUS does not update any columns in this table if TOTALENTRIES is null and you specified INDEX
UPDATE.
Condition
IFDISCARDS
page 169
DISCARDRC
page 523
PRELOAD PAUSE
ANYDISCARDS RETCODE
page 158
PAUSEDISCARDRC
page 531
IFDISCARDLIMIT
page 169
DISCARDLIMRC
page 523
IFZEROROWS
page 170
ZEROROWRC
page 541
When the job completes, LOADPLUS ends with the highest return code that it
assigned during that job and reports this return code in the SYSPRINT output. Due to
other conditions detected during the load job, the final return code might not be the
value that you specified for one of the user-defined return code options. Table 24 on
page 121 illustrates final return codes for potential combinations of conditions.
120
Table 24
Options specified
s
s
s
s
IFDISCARDS 3
COPY NO
COPYPEND YES
IFDISCARDS 3
CHECKPEND YES
Additional conditions
s
s
s
s
s
s
s
s
s
s
s
s
s
Final return
code
COPY NO
COPYPEND YES
CHECKPEND YES
IFDISCARDS 3
SKIPIX SIX
IFDISCARDS 3
IFZEROROWS 7
IFZEROROWS
IFDISCARDS 7
IFZEROROWS 3
IFDISCARDS
IFDISCARDS 7
PRELOAD PAUSE
ANYDISCARDS
RETCODE 5
RETCODE
IFZEROROWS 3
FORMAT
BMCUNLOAD
IFZEROROWS
IFDISCARDLIMIT
10
DISCARDS 1
PRELOAD PAUSE
ANYDISCARDS
RETCODE 20
10
IFDISCARDS is not in effect for a paused job. If records are discarded after you restart the job, the job will end
with return code 7 (the return code specified with IFDISCARDS).
ANYDISCARDS RETCODE 20 applies only if the job completes the PRELOAD phase and the job pauses. In
this case, LOADPLUS reached the discard limit before completing the PRELOAD phase, causing the return
code for IFDISCARDLIMIT to take effect.
Chapter 2
Operational considerations
121
LOADPLUS has the following limitations on support for long object names:
Object and entity name lengths that have been increased to a limit of 128 bytes
in DB2 are limited to 30 bytes in LOADPLUS. For example, creator names and
table names are supported up to 30 bytes.
LOADPLUS checks the name lengths of many nonparticipating objects and
entities during processing. If a nonparticipating object or entity has a name
greater than 30 bytes, LOADPLUS might terminate. For example, if the name of
a check constraint on a table that LOADPLUS is loading is greater than 30 bytes,
the job might terminate even if LOADPLUS is not checking constraints.
When you specify BMCSTATS YES, LOADPLUS does not update DASD
MANAGER PLUS tables if the length of any object or entity name is greater than
the length that DASD MANAGER PLUS supports. For details, see
BMCSTATS on page 201.
122
NOTE
Because this version of LOADPLUS does not support table-controlled partitioning and
data-partitioned secondary indexes, the types of indexes that this book refers to are the
types of indexes that are supported in DB2 version 7. For example, for partitioned table
spaces, this book refers to secondary indexes and nonpartitioning indexes
interchangeably.
user-defined column default values that are greater than 255 bytes
row-level security
rotated partitions
when running under DB2 version 7, translating data by using Unicode encoding
schemes
Unicode object names
updating statistics for catalog tables that were new for DB2 version 7 or later
using TEMPLATE control statements
However, LOADPLUS provides the DSNPAT installation or command option,
which allows you to specify a data set name pattern for your dynamically
allocated data sets.
loading data in IEEE Binary Floating Point (BFP) format
use of striped data sets for DB2 VSAM objects
s
As with the IBM DB2 LOAD utility, running LOADPLUS on encrypted data might
produce unpredictable results.
LOADPLUS does not support the following DB2 features when you specify
INDEX UPDATE. In all of these cases, LOADPLUS changes INDEX UPDATE to
INDEX BUILD and continues processing.
nonpadded indexes (that is, the index is defined as NOT PADDED and contains
one or more varying length columns)
Chapter 2
Operational considerations
123
LOADPLUS does not enforce referential integrity constraints unless you are
running an SQLAPPLY load job.
NOTE
If you have the Database Administration solution installed, you can load LOB data into
auxiliary tables by using the LOB DATA MOVER program from the CHANGE
MANAGER component of the solution.
124
Chapter
125
126
129
133
137
137
201
206
215
239
246
248
254
256
257
257
262
LOADPLUS does not permit you to split a token (such as a keyword, identifier, or
constant) across a line.
Chapter 3
125
For each command option that has a corresponding installation option, the value
for the installation option that is shipped with the product is the first value shown
in the list of values for that option.
If you specify the same command option more than once, LOADPLUS uses only
the last option that you specify. For example, if you specify the following
command options, LOADPLUS accepts ORDER YES as the processing option:
LOAD DATA
ORDER NO ORDER YES
For more information about how to read syntax diagrams, see Syntax diagrams on
page 19.
Command options
ACTIVE
267
ANALYZE
189
APCOLLECTION
147
APCOMMIT
146
APMAXAGENTS
145
APOWNER
148
APRETRYLIM
146
APRETRYVAL
147
ASCII
153
BMCSTATS
201
CCSID
154
CENTURY
198
CHECKPEND
195
CLUSTERRATIO
126
See page
202
Table 25
Command options
See page
CONTINUEIF
179
COPY
206
COPYDDN
211
COPYLVL
210
COPYPEND
206
DATA
137
DATACLAS
283
DDTYPE
265
DEFAULTIF
237
DELETEFILES
185
DISCARDDN
164
DISCARDS
165
DSNPAT
276
DSNUEXIT
263
EBCDIC
153
ENFORCE
194
ENUMROWS
174
ERRDDN
164
EXPDT
281
FORMAT
149
GDGLIMIT
282
IDCACHE
199
IDCDDN
185
IDERROR
200
IFALLOC
268
IFDISCARDLIMIT
169
IFDISCARDS
169
IFZEROROWS
170
IGNORE
166
INDDN
160
INDEX
139
INDSN
159
INLINE
208
INTO TABLE
217
KEEPDICTIONARY
141, 221
LOAD
137
LOADDN
161
LOG
196
Chapter 3
127
Table 25
Command options
MAXEXTSZ
270
MAXSORTS
178
MAXTAPE
263
MGMTCLAS
283
NLPCTFREE
188
NOSUBS
154
NULLIF
236
ORDER
171
ORIGINALDISP
187
PART
219
POSITION
232
PREFORMAT
197, 220
PRELOAD
157
RECOVERYDDN
213
REDEFINE
182
REGISTER
209
REPLACE
141, 220
REPORT
167
RESUME
138
RETPD
281
REUSE
184
SHRLEVEL
143
SIZEPCT
274
SKIPFIELDS
215
SKIPIX
155
SMS
269
SMSUNIT
269
SORTDEVT
177
SORTKEYS
156
SORTNUM
177
STORCLAS
283
SYNC
193
SYSDISC
186
THRESHLD
274
UNICODE
153
UNIQUECHECK
180
UNIQUEINTO
216
UNIT
128
See page
271
Table 25
Command options
See page
UNITCNT
272
UPDATEDB2STATS
203
UPDATEMAXA
199
VOLCNT
272
WHEN
222
WORKDDN
162
page 138
DATA
LOAD
RESUME
NO
REPLACE
KEEPDICTIONARYa
NO
YES
YES
INDEX
BUILD
UPDATE
page 149
page 143
SHRLEVELa
FORMAT
NONE
REFERENCE
CHANGE
BMC
BMCUNLOAD
UNLOAD
CSV
CSV format block
CHANGE block
page 153
page 154
page 154
page 155
EBCDIC
CCSID (sbcs,mixed,dbcs)
NOSUBS
SKIPIX
ASCII
NO
NUSIX
SIX
UNICODE
page 156
SORTKEYS integer
page 157
PRELOADa
CONTINUE
ANALYZE
LOAD
PAUSE
ANYDISCARDS
RETCODEa
4
integer
Chapter 3
129
Figure 6
page 161
page 160
INDDN
INDSN ('dsname'
LOADDNa
SYSREC
ddname
SORTOUT
ddname
,'dsname'
page 162
page 164
WORKDDNa
page 164
ERRDDNa
SYSUT1
ddname
DISCARDDNa
SYSERR
ddname
SYSDISC
ddname
page 165
DISCARDS
0
integer
,
IGNORE
page 169
REPORT
ALL
WHEN
PART
FIELDSPEC
CONV
DUPKEY
VALPROC
CHKC
FRGNKEY
IDERROR
page 170
IFDISCARDLIMITa
0
integer
8
integer
NO
PRESORTED
YES
ASSOCIATE
0
integer
ENUMROWS
total
new
MAXSORTSa
SORTNUM integer
page 179
8
integer
page 180
CONTINUEIF (start
)=
:end
'character_string'
X'byte_string'
32000
error
page 178
a
SORTDEVT device_type
BYTABLE
BYCLUSTERKEY
page 177
page 177
130
IFZEROROWSa
page 174
page 171
,
ALL
WHEN
PART
FIELDSPEC
CONV
DUPKEY
VALPROC
CHKC
FRGNKEY
IDERROR
page 169
IFDISCARDSa
ORDER
YES
NO
UNIQUECHECK
YES
CLUSTER
NO
Figure 6
page 185
page 182
REDEFINEa
IDCDDN
YES
NO
DELETEFILESa
SYSIDCIN
ddname
NO
YES
SYSDISCa
NO
YES
REUSE
page 188
page 187
ORIGINALDISP a
page 189
NLPCTFREE
DELETE
RENAME
STANDARD
BMC
integer
ANALYZE
PAUSE
ONLY
page 194
page 193
CHECKPENDa
CHECK CONSTRAINTS
NO
ENFORCE
page 196
LOG
YES
NO
page 197
PREFORMATa
YES
NO
page 198
IDCACHEa
CENTURYa (ccyy,ccyy)
NO
YES
NOCOPYPEND
page 200
page 199
page 199
1000
integer
SCAN
page 195
a
SYNC integer
SAMPLE
UPDATEMAXAa
IDERRORa
NO
DISCARD
FAIL
YES
page 217
page 215
SKIPFIELDS
page 216
UNIQUEINTO
YES
ALLTYPES
NO
YES
NO
Statistics options
page 201
BMCSTATS
page 202
NO
YES
CLUSTERRATIO
page 203
STANDARD
BMC
UPDATEDB2STATS
NO
YES
Chapter 3
131
Figure 6
Copy options
page 206
COPY
page 210
NO
COPYPENDa
COPYLVLa
YES
NO
FULL
PART
YES
INLINEa
ALL
NONE
REGISTER
NO
YES
ddname
,
page 211
COPYDDNa
BMCCPY
ddname1
)
,
BMCCPZ
ddname2
page 213
RECOVERYDDNa
BMCRCY
ddname1
)
,
BMCRCZ
ddname2
page 263
MAXTAPEa
3
integer
DSNUEXITa
NONE
exit_name
ASM
COBOL2
LE_COBOL
C
LE_C
page 265
DD type block
7
a
132
SQLAPPLY
APMAXAGENTSa
APRETRYVALa
5
integer
10
integer
APCOMMITa
2500
integer
APCOLLECTIONa collectionid
APRETRYLIMa
COUNT
TIME
APOWNERa ownerid
TERMINATEDBY
','
ENCLOSEDBY
'"'
'char'
'char'
X'hex_value'
X'hex_value'
AND
'"'
'char'
X'hex_value'
Chapter 3
133
Figure 7
table_name
INTO TABLE
creator .
page 219
REPLACE
,
integer
PART
: integer
PREFORMATa
REPLACE
KEEPDICTIONARYa
NO
YES
page 222
WHEN
NO
YES
page 230
condition block
(
TABLE = obid
a
,
field specification block
OR
predicate block
NOT
(condition block)
constant
=
<>
=
IN
NOT IN
,
constant
134
page 222
constant
<
<=
<>
=
=
>=
>
IN
NOT IN
page 222
,
constant
Figure 7
page 233
field name
)
POSITION (start
VALUE
:end
constant
CURRENT DATE
CURRENT TIME
CURRENT TIMESTAMP
page 239
CHAR
MIXED
TRIM
(length)
TRUNCATE
VARCHAR
MIXED
GRAPHIC
EXTERNAL
(length)
VARGRAPHIC
SMALLINT
INTEGER
ROUND
(length,scale)
EXTERNAL
DECIMAL
PACKED
ZONED
EXTERNAL
FLOAT
EXTERNAL
DATE
EXTERNAL
TIMESTAMP
(length)
-format
CENTURY(ccyy,ccyy)
TIME
EXTERNAL
-format
(length)
ROWID
EXIT program_name
PARM (
page 236
NULLIF
DEFAULTIF
,
constant
(length)
)
predicate block
ERROR
predicate block
ERROR
VALUE
constant
CURRENT DATE
CURRENT TIME
CURRENT TIMESTAMP
Chapter 3
135
Figure 7
7
page 268
page 267
DDTYPE
LOAD
WORK
ACTIVEa
NO
SORTWORK
IFALLOCa
USE
YES
FREE
DISCARD
ERROR
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
page 269
page 269
SMSa
SMSUNITa
NO
YES
page 270
NO
YES
page 271
MAXEXTSZa
UNITa
0
integer
SYSALLDA
unit_name1
SYSALLDA
unit_name2
8
page 272
page 272
UNITCNTa
VOLCNTa
0
integer1
25
integer1
0
integer2
25
integer2
page 274
SIZEPCTa
100
primary
page 274
100
secondary
page 276
THRESHLDa
DSNPATa
0
integer
'&UID.&UTILPFX.&DDNAME'
'pattern'
'NONE'
''
page 281
page 281
RETPDa integer
EXPDTa date
a
136
GDGLIMITa
page 282
page 283
(
a
NONE
class1
)
,
NONE
class2
5
integer
LOADPLUS options
LOADPLUS options
The remainder of this chapter describes each LOADPLUS option. The descriptions
are in the order in which they appear in the preceding syntax diagrams, which group
the options according to the following functions:
s
s
s
s
s
LOAD
DATA
LOAD
LOAD is the keyword for the LOADPLUS utility command.
DATA
DATA is used only for compatibility with the IBM DB2 LOAD utility command, and
LOADPLUS treats this option as a comment. With LOADPLUS, you identify the data
to load by specifying the table name in the INTO TABLE option.
Chapter 3
137
RESUME
NO
REPLACE
KEEPDICTIONARY
YES
NO
YES
INDEX
BUILD
UPDATE
RESUME
RESUME tells LOADPLUS whether to add data to an empty table space or to a table
space that already contains data. RESUME support is available at the global or
partition level.
In addition to interactions with other options (which are documented with those
options), the value that you specify for RESUME can affect the following aspects of
your load job:
s
s
s
NO
RESUME NO, the default, tells LOADPLUS that the table space is empty, or that
certain partitions are empty. LOADPLUS terminates under the following
circumstances:
s
s
The table space contains data and you do not specify the REPLACE option.
You specify PART n REPLACE and a partition that you are not replacing contains
data.
YES
RESUME YES indicates that the table space might or might not be empty.
LOADPLUS adds the new data to any existing data.
Restriction: You cannot use this option with LOAD REPLACE. If you want to replace
only specific partitions of a table space, specify RESUME YES INTO TABLE with the
PART n REPLACE option. If you want to replace only specific tables of a segmented
table space, specify RESUME YES INTO TABLE with the REPLACE option.
138
Unless you specify INDEX UPDATE or SKIPIX, LOADPLUS unloads the existing
indexes and merges them with the new index keys from the input data.
LOADPLUS then sorts the merged index data and uses that data to build
organized indexes during the LOAD phase or the COMBINED phase.
If you are loading an empty partitioned table space or partition, the table space is
defined with the COMPRESS YES attribute, and a compression dictionary does not
currently exist for the table space or partition, LOADPLUS builds a new
compression dictionary for the table space or partition.
For all other LOAD RESUME YES jobs, LOADPLUS keeps any existing
compression dictionary.
INDEX. This option tells LOADPLUS whether to build or update an index when
specifying RESUME YES. BUILD is the default.
Restrictions: Note the following restrictions on the INDEX option:
s
If you specify SKIPIX SIX or SKIPIX NUSIX, LOADPLUS does not build or
update those secondary indexes (SIX) or nonunique secondary indexes (NUSIX)
that you are skipping.
In addition to interactions with other options (which are documented with those
options), the value that you specify for INDEX can affect the following aspects of
your load job:
s
s
Chapter 3
139
UPDATE
This option tells LOADPLUS to add index entries to the existing indexes. With
INDEX UPDATE, LOADPLUS does not reorganize indexes as it does when you
specify or default to INDEX BUILD.
When you specify INDEX UPDATE for a two-phase load, you must also specify
UNIQUECHECK NO. If you specify UNIQUECHECK YES or CLUSTER,
LOADPLUS fails and displays message BMC51419E. See UNIQUECHECK on
page 180 for more details.
WARNING
When you specify INDEX UPDATE and a failure occurs during index update
processing, you will need to recover your table space and indexes. If you attempt to
restart, LOADPLUS terminates and issues message BMC51435S.
when you have altered the length of a VARCHAR column that is part of a
participating index
when the current version of a participating index does not match the value of
OLDEST_VERSION for that index in the DB2 catalog
You can avoid rebuilding the index in this case if, before running the load job,
you run either a LOAD REPLACE in which the index participates or a
reorganization on the index.
when any nonpadded indexes participate in the load job (that is, the index is
defined as NOT PADDED and contains one or more varying length columns)
140
BMC Software recommends that you limit the use of UPDATE to those cases
where you are adding a small percentage of the total amount of existing data.
If you are adding a large percentage, using UPDATE can impact optimal
performance of the SQL that uses the index in processing.
If you specify PART n REPLACE, LOADPLUS rebuilds the clustering index
for the partition and updates any participating nonclustering indexes.
When you specify INDEX UPDATE, LOADPLUS does not unload the
existing index records. Therefore, LOADPLUS cannot check for uniqueness
in the PRELOAD phase. If duplicates exist, LOADPLUS detects them in the
LOAD or COMBINED phase, loads the table space, deletes the duplicate
records, and issues messages BMC50258E and BMC51477I. For a two-phase
load, LOADPLUS does not write these duplicate records to the discard data
set (SYSDISC) and they do not count toward any limit that you specify with
the DISCARDS option.
When you specify INDEX UPDATE and index update processing completes,
but the job fails in the LOAD phase, you must restart the job by specifying
RESTART without PHASE. If you specify RESTART(PHASE), LOADPLUS
terminates and issues message BMC51436E.
REPLACE
REPLACE tells LOADPLUS to replace any existing data in the table space (not just
the data in the tables or partitions that you specify in the INTO TABLE option). In
other words, REPLACE tells LOADPLUS to delete the existing data before loading.
Restrictions: Note the following restrictions on the REPLACE command option:
s
If you specify the REPLACE option, you cannot also specify the PART n REPLACE
or TABLE name REPLACE option.
KEEPDICTIONARY
This option tells LOADPLUS whether to keep the existing compression dictionary.
For compatibility with earlier releases, if you specify KEEPDICTIONARY without a
value, LOADPLUS assumes KEEPDICTIONARY YES. For considerations when using
compression, see Hardware compression on page 110.
LOADPLUS also provides KEEPDICTIONARY support at the partition level. See
PART on page 219 for information on how to use the PART REPLACE options.
Restrictions: Note the following restrictions on the KEEPDICTIONARY option:
s
The KEEPDICTIONARY option is valid only if the table space that you are loading
has the COMPRESS YES attribute.
When loading a simple or segmented table space with LOAD RESUME YES,
LOADPLUS ignores the KEEPDICTIONARY option.
Chapter 3
141
Specifying the default: You can specify the default for the KEEPDICTIONARY
option in your installation options module (using the KEEPDICTIONARY
installation option). LOADPLUS was shipped with a default value of NO for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
YES. If you specify KEEPDICTIONARY YES, LOADPLUS keeps the existing
compression dictionary.
If a dictionary already exists, LOADPLUS uses it for compression. If a dictionary
does not exist, LOADPLUS builds one in the PRELOAD phase or the COMBINED
phase. After completely building the dictionary, LOADPLUS compresses the data.
NO. If you specify KEEPDICTIONARY NO, LOADPLUS builds a new
compression dictionary.
LOADPLUS builds the dictionary in the PRELOAD phase or the COMBINED
phase. After completely building the dictionary, LOADPLUS compresses the data.
142
SHRLEVEL
NONE
REFERENCE
CHANGE
CHANGE block
APMAXAGENTS integer
APRETRYLIM
COUNT
APRETRYVAL integer
TIME
APCOLLECTION collectionid
APOWNER ownerid
SHRLEVEL
SHRLEVEL specifies the level of access that DB2 has to the objects that you are
loading during LOADPLUS processing. See SHRLEVEL considerations on page 82
for important information about using this option.
Specifying the default: You can specify the default for the SHRLEVEL option in your
installation options module (using the SHRLEVEL installation option). LOADPLUS
was shipped with a default value of NONE for this option; however, it might have
been changed during installation. The command option overrides the default that
was established at installation. For details, see Appendix A, LOADPLUS installation
options.
NONE
SHRLEVEL NONE tells LOADPLUS to stop the objects that you are loading, making
them unavailable during the entire load process.
Chapter 3
143
REFERENCE
This command option is valid only when you specify LOAD REPLACE, and is not available
when you specify PART REPLACE.
SHRLEVEL REFERENCE tells LOADPLUS to make the objects that you are loading
available in read-only status. LOADPLUS writes the loaded data to staging data sets.
The original VSAM data sets remain intact throughout the load process. This
nondestructive process allows you to easily restart from a failure or make the objects
available without having to recover the objects.
CHANGE
SHRLEVEL CHANGE allows the objects that you are loading to remain in read/write
status. This option functions differently depending on whether you specify LOAD
REPLACE or LOAD RESUME YES.
With LOAD REPLACE: For SHRLEVEL CHANGE with LOAD REPLACE,
LOADPLUS writes the loaded data to staging data sets. The original VSAM data sets
remain intact throughout the load process. This nondestructive process allows you to
easily restart from a failure or make the objects available without having to recover.
WARNING
LOAD REPLACE SHRLEVEL CHANGE fully replaces the data in the object, including any
inserts, updates, or deletes to the base object that occur during the load process.
With LOAD RESUME YES: For SHRLEVEL CHANGE with LOAD RESUME YES,
the object that you are loading remains in read/write status while LOADPLUS loads
the data by using SQL insert processing. For this type of load, LOADPLUS integrates
with the Apply Plus component of the BMC Software Log Master for DB2 product.
This feature does not require that you have a license for the Log Master product but
does require that the Apply Plus component be installed and made available through
the STEPLIB, JOBLIB, or LINKLIST at runtime.
NOTE
See SHRLEVEL CHANGE on page 84 for important information about using this option,
including compatibility with other LOAD command options.
If you specify SHRLEVEL CHANGE with LOAD RESUME YES, the following
additional command options allow you to control your load job.
144
SQLAPPLY. This command option is valid only when you specify LOAD RESUME YES,
not when you specify PART REPLACE.
SQLAPPLY specifies that you want to use the type of online load that integrates
with Apply Plus. For this type of load, LOADPLUS passes processing to Apply
Plus during the COMBINED phase. Currently, this option is the only one that is
available for LOAD RESUME YES SHRLEVEL CHANGE, and specifying the
keyword is optional. For considerations when using this option, see SHRLEVEL
CHANGE on page 84.
NOTE
For ease of reference, this book refers to LOAD RESUME YES SHRLEVEL CHANGE
SQLAPPLY as SQLAPPLY.
You can specify one or more of the following options to further control your
SQLAPPLY load job. The values for these options are passed to Apply Plus as
configuration parameters for use during Apply Plus processing. Default values for
each of these options were established during installation.
When you specify more than one of the following SQLAPPLY options, your syntax
must follow the sequence that is shown in the syntax diagram. For example, if you
specify APCOMMIT, it must always appear before APOWNER.
APMAXAGENTS
APMAXAGENTS defines the maximum number of agents that Apply Plus can
start for this load. Valid values for this option are 1 through the number of batch
threads that are available in your DB2 subsystem. APMAXAGENTS affects only
partitioned or multi-table table spaces. LOADPLUS uses at most one agent per
partition and table.
LOADPLUS passes the value of this parameter to the MaxAgents parameter in
the Agent section of Apply Plus. For more information about the MaxAgents
parameter, see the Apply Plus Reference Manual.
Specifying the default: You can specify the default for the APMAXAGENTS
option in your installation options module (using the APMXAGNT installation
option). LOADPLUS was shipped with a default value of 10 for this option;
however, it might have been changed during installation. The command option
overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
Chapter 3
145
APCOMMIT
APCOMMIT specifies the maximum number of records that each Apply Plus
agent is to load before issuing a COMMIT statement. Valid values for this
option are 1 through 32767.
LOADPLUS passes the value of this parameter to the StatementCount
parameter in the CommitTriggers section of Apply Plus. For more information
about the StatementCount parameter, see the Apply Plus Reference Manual.
Specifying the default: You can specify the default for the APCOMMIT
command option in your installation options module (using the APCOMMIT
installation option). LOADPLUS was shipped with a default value of 2500 for
this option; however, it might have been changed during installation. The
command option overrides the default that was established at installation. For
details, see Appendix A, LOADPLUS installation options.
APRETRYLIM
APRETRYLIM tells Apply Plus what measure to use to determine the limit for
retry attempts following SQL -911, -913, or -904 errors. The value for this option
is used in conjunction with the APRETRYVAL option.
LOADPLUS passes the value of this parameter to the RetryLimit parameter in
the Conflict section of Apply Plus. For more information about the RetryLimit
parameter, see the Apply Plus Reference Manual.
Specifying the default: You can specify the default for the APRETRYLIM
command option in your installation options module (using the APRETLIM
installation option). LOADPLUS was shipped with a default value of COUNT
for this option; however, it might have been changed during installation. The
command option overrides the default that was established at installation. For
details, see Appendix A, LOADPLUS installation options.
COUNT
COUNT tells Apply Plus to base the limit for these retry attempts on the
number of attempts that the APRETRYVAL option specifies.
TIME
TIME tells Apply Plus to retry until it reaches the number of seconds that the
APRETRYVAL option specifies.
146
APRETRYVAL
APRETRYVAL provides Apply Plus with the retry limit for each unit of
recovery in the load job. The value for this option is used in conjunction with the
APRETRYLIM option. Valid values are 0 through 32767. A value of 0 tells Apply
Plus not to retry.
LOADPLUS passes the value of this parameter to the RetryValue parameter in
the Conflict section of Apply Plus. For more information about the RetryValue
parameter, see the Apply Plus Reference Manual.
Specifying the default: You can specify the default for the APRETRYVAL
command option in your installation options module (using the APRETVAL
installation option). LOADPLUS was shipped with a default value of 5 for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
APCOLLECTION
APCOLLECTION provides Apply Plus with the ID for the collection to which
Apply Plus dynamically binds packages during execution. You can specify a
collection ID with a length of up to 30 bytes. You cannot specify a null value for
this option.
LOADPLUS passes this value to Apply Plus. If you do not specify a value for
this command option, one of the following actions occurs:
s
Chapter 3
147
APOWNER
APOWNER provides Apply Plus with the authorization ID that Apply Plus
uses to bind the DB2 plan and packages for the apply request. You can specify
an owner ID with a length of up to 30 bytes. You cannot specify a null value for
this option.
LOADPLUS passes this value to Apply Plus. If you do not specify a value for
this command option, one of the following actions occurs:
s
148
FORMAT
BMC
BMCUNLOAD
UNLOAD
CSV
CSV format
CSV format
TERMINATEDBY
','
ENCLOSEDBY
'"'
'char'
'char'
X'hex_value'
AND
X'hex_value'
'"'
'char'
X'hex_value'
FORMAT
FORMAT specifies the format of the input data in the SYSREC data set when your
input data is in one of the following formats:
s
format generated by the BMC Software REORG PLUS for DB2 product by using
the SYSARC option (FORMAT BMC)
format generated by the BMC Software UNLOAD PLUS for DB2 product by using
the FORMAT BMCLOAD option (FORMAT BMCUNLOAD)
format generated by the IBM DB2 REORG utility by using the UNLOAD ONLY
option (FORMAT UNLOAD)
BMC
BMC specifies that the input data in the SYSREC data set is in the format that was
generated by REORG PLUS by using the SYSARC data set (an archive data set that
contains rows that are discarded during the reorganization as a result of SELECT and
DELETE operations).
Restrictions: Note the following restrictions for FORMAT BMC:
s
The table that you are loading must have the same definition as the table from
which the archive rows originated. LOADPLUS loads the records from the input
data set that match the table OBID of the table that you specify in the INTO TABLE
option or the input table OBID that you specify in the WHEN TABLE=obid option
of the LOAD command. If the table definitions are different, results of the load job
are unpredictable.
Chapter 3
149
NOTE
When you specify WHEN TABLE=obid, the OBID must be a decimal number. For
additional considerations when using this option, see TABLE=obid on page 222.
If you specify FORMAT BMC, you cannot include field specifications on your
LOAD command.
LOADPLUS allows you to specify a WHEN condition with the FORMAT BMC
option. However, the condition must reference columns of the table only; it cannot
reference a (start:end) field. See the INTO TABLE and WHEN options beginning on
page 217 for more information about specifying these options.
BMCUNLOAD
BMCUNLOAD specifies that the input data in the SYSREC data set is in an internal
format that was generated by UNLOAD PLUS. This input data is data that was
unloaded by using the UNLOAD PLUS option FORMAT BMCLOAD. For
information about how to unload data in this format, see the UNLOAD PLUS for DB2
Reference Manual.
LOADPLUS loads the records from the input data set that match the table object
identifier (OBID) that you specify in the WHEN TABLE=obid option of the LOAD
command. In this case, the OBID is the object identifier that UNLOAD PLUS assigned
when unloading the data, not the tables DB2 object identifier. The LOAD control
cards that UNLOAD PLUS generated contain this OBID. For more information about
specifying this option with FORMAT BMCUNLOAD, see the WHEN TABLE option
on page 222.
BMC Software strongly recommends that you use the LOAD control cards that
UNLOAD PLUS generated. For additional considerations when using the FORMAT
BMCUNLOAD option, see Data from UNLOAD PLUS in internal format on
page 105. For an example that uses this option, see page 430.
FORMAT BMCUNLOAD is useful for migrating data to duplicate tables or from
development to production databases. This option provides an improved
performance benefit because the data is never converted to an external format and
because LOADPLUS does not need to perform data verification.
Restrictions: Note the following restrictions for FORMAT BMCUNLOAD:
s
150
With a few exceptions, the table that you are loading must have the same
definition as the table that was unloaded with UNLOAD PLUS.
UNLOAD
This option specifies that the input data in the SYSREC data set is in the format that
was generated by the IBM DB2 REORG utility by using the UNLOAD ONLY option.
LOADPLUS loads the records from the input data set that match the OBID of the
table that you specify in the INTO TABLE option or the input table OBID that you
specify in the WHEN TABLE=obid option with FORMAT UNLOAD. Unlike the IBM
DB2 LOAD utility, LOADPLUS allows you to specify a WHEN condition with the
FORMAT UNLOAD option.
Restrictions: Note the following restrictions for FORMAT UNLOAD:
s
If you specify FORMAT UNLOAD, you cannot include any field specifications on
your LOAD command.
If you specify a WHEN condition, the condition must reference columns of the
table only; it cannot reference a (start:end) field. For more information about
specifying these options, see the INTO TABLE and WHEN options beginning on
page 217.
CSV
The CSV option allows you to load data that has been unloaded in comma-separatedvalue (CSV) format. This data can originate from any product that generates CSV
output, including distributed databases, spreadsheet applications, and UNLOAD
PLUS. In CSV-formatted data, a particular character separates each field from other
fields. Also, in most cases, a particular pair of characters encloses each non-numeric
field.
NOTE
CSV files are also referred to as comma-delimited or delimited files.
To use this option, your data and LOAD command must meet the requirements that
are specified in CSV considerations on page 99.
When you use more than one of the following CSV options, your syntax must follow
the sequence that is shown in the syntax diagram. For example, if you specify
TERMINATEDBY, it must always appear before ENCLOSEDBY.
Chapter 3
151
TERMINATEDBY. This option specifies the character that your input data uses to
delimit fields of data. The default is a comma (,). You cannot specify a null value
for TERMINATEDBY.
ENCLOSEDBY. The ENCLOSEDBY option specifies the character that your input
data uses on the left side to enclose fields of data. The default is a double quotation
mark ("). You cannot specify a null value for ENCLOSEDBY.
For each field, if LOADPLUS does not find the ENCLOSEDBY character that you
specify or default to, LOADPLUS assumes that the field is not enclosed by any
character.
AND
This option specifies the character that your input data uses on the right side to
enclose fields of data. You cannot specify a null value for AND.
If you do not specify a value for this option, LOADPLUS assumes that your
input data uses the value that you specified for the ENCLOSEDBY option. If
you did not specify a value for the ENCLOSEDBY option, LOADPLUS assumes
that your input fields are enclosed by double quotation marks or are not
enclosed by any character.
152
EBCDIC
NOSUBS
CCSID (sbcs,mixed,dbcs)
ASCII
UNICODE
EBCDIC
EBCDIC specifies that the input data is encoded in EBCDIC using the DB2 installation
default coded character set identifiers (CCSIDs). EBCDIC is the default. LOADPLUS
ignores this option if you also specify FORMAT BMCUNLOAD. For information
about data translation, see Data translation on page 257.
ASCII
The ASCII option specifies that the input data is encoded in ASCII using the DB2
installation default CCSIDs. For information about data translation, see Data
translation on page 257.
Restrictions: Note the following restrictions when you specify ASCII:
s
s
UNICODE
This option specifies that the data that you are loading is in Unicode format. For
information about data translation, see Data translation on page 257.
Restrictions: Table 26 describes the restrictions on the use of the UNICODE option.
Table 26
Condition
Result
you also specify one of the following options: LOADPLUS issues message BMC50357S and terminates.
s
s
s
DEFAULTIF
VALUE
SHRLEVEL CHANGE SQLAPPLY
Chapter 3
153
CCSID
This option allows you to specify up to three CCSIDs for use in encoding input data.
The three CCSIDs are for single-byte character set (SBCS), MIXED character set, and
double-byte character set (DBCS) data, respectively. If you omit a CCSID value or
specify 0, LOADPLUS uses the corresponding DB2 system default CCSID for the
encoding scheme that you specify or default to (EBCDIC, ASCII, or UNICODE). For
more details, including supported translations, see Data translation on page 257.
NOTE
BMC Software recommends that you use this option only to override your DB2 system default
CCSID values.
Restrictions: LOADPLUS supports translation from one CCSID to another with the
following restrictions:
s
Translations that require the use of a conversion procedure are not supported.
For an SQLAPPLY load, LOADPLUS cannot load ASCII input data into columns
that are defined as MIXED.
If you specify Unicode CCSID values on this option, indicating Unicode input, and
you also specify one of the following options, LOADPLUS issues message
BMC50357S and terminates:
DEFAULTIF
VALUE
SHRLEVEL CHANGE SQLAPPLY
NOSUBS
NOSUBS tells LOADPLUS not to accept substitution characters during translation
between CCSIDs. If you specify NOSUBS and LOADPLUS encounters a record that
requires substitution, LOADPLUS does not load the record, but writes it to your
discard file (SYSDISC).
LOADPLUS ignores this option if you also specify FORMAT BMCUNLOAD.
154
SKIPIX
NO
NUSIX
SIX
SORTKEYS
integer
SKIPIX
The SKIPIX option tells LOADPLUS whether to skip building or updating the
secondary indexes that are associated with the partitioned table space that you are
loading. Skipped indexes do not participate in any aspect of the load job, including
checking for duplicate keys.
WARNING
BMC Software strongly recommends that you do not specify SKIPIX SIX to ignore unique
secondary indexes if there is any possibility of loading duplicate values. If running with this
option results in loading duplicate values, follow your standard procedures for eliminating
duplicates when creating a unique index.
Restrictions: If you specify NUSIX or SIX under one of the following circumstances,
LOADPLUS terminates with a return code 8:
s
LOADPLUS checks index names regardless of whether you are skipping them.
Therefore, if the name of any index on the table space that you are loading is
greater than 30 bytes, LOADPLUS might terminate.
NOTE
If the nonparticipating indexes were created as DEFINE NO, they must not be in any
restrictive status, such as CHECK pending (CHKP).
Chapter 3
155
NOTE
If you specify RESUME YES (without PART n REPLACE) and no rows are loaded,
LOADPLUS leaves the nonparticipating indexes in the same status that they were in at the
start of the load job.
SORTKEYS
This option is used only for compatibility with the IBM DB2 LOAD utility command
syntax. LOADPLUS treats this option as a comment.
156
PRELOAD
CONTINUE
ANALYZE
LOAD
PAUSE
ANYDISCARDS
RETCODE
4
integer
PRELOAD
The PRELOAD option controls the execution of LOADPLUS.
Specifying the default: You can specify the default for the PRELOAD command
option in your installation options module by using the PRELOAD installation
option. However, you can specify only CONTINUE or LOAD for the installation
option. LOADPLUS was shipped with a default value of CONTINUE for this option;
however, it might have been changed during installation. Any PRELOAD command
option that you specify overrides the default that was established at installation. For
details, see Appendix A, LOADPLUS installation options.
CONTINUE
PRELOAD CONTINUE directs LOADPLUS to use two-phase processing and to
continue with the LOAD phase after the PRELOAD phase is completed.
ANALYZE
The PRELOAD ANALYZE option directs LOADPLUS to use two-phase processing,
but to stop after the optimization phase of the PRELOAD phase. No data is read and
no tables are affected. LOADPLUS displays message BMC51496I indicating the
optimal number of SORT tasks and READER tasks, regardless of the number of
SORTOUT and SYSREC data sets that you specified in your JCL. You can use this
information to adjust the number of SORTOUT data sets that you specify in your JCL
before resubmitting your job.
Restriction: PRELOAD ANALYZE is not valid with an SQLAPPLY load. If you
specify this option with an SQLAPPLY load, LOADPLUS issues message BMC50115E
and terminates with return code 8.
LOAD
If you specify PRELOAD LOAD, LOADPLUS uses single-phase load processing,
which combines the functions of the PRELOAD and LOAD phases into the
COMBINED phase. LOADPLUS reads the input data and copies it directly to the
table space. This phase can improve performance in most cases. See PRELOAD
LOAD installation and command options on page 472 for details.
PAUSE
The PRELOAD PAUSE option directs LOADPLUS to use two-phase processing, but
to pause after the PRELOAD phase.
Chapter 3
157
Use this option to control your outage when running LOAD REPLACE with
SHRLEVEL NONE. For this type of load, LOADPLUS stops the table space during
the LOAD phase instead of the PRELOAD phase. By specifying PRELOAD PAUSE,
you can schedule the LOAD phase to minimize the impact on data availability.
Restarting: You can restart the utility at the beginning of the LOAD phase by
specifying RESTART or RESTART(PHASE) on your EXEC statement. Note the
following information about restarting your PRELOAD PAUSE job:
s
You do not need to change the PRELOAD option on the LOAD command. When
restarting a PRELOAD PAUSE job, LOADPLUS ignores the PAUSE specification.
If you also specify LOAD RESUME and SHRLEVEL NONE is in effect, the
participating objects must remain in stopped status before you restart your job.
Restriction: PRELOAD PAUSE is not valid with an SQLAPPLY load. If you specify
this option with an SQLAPPLY load, LOADPLUS issues message BMC50115E and
terminates with return code 8.
ANYDISCARDS. The ANYDISCARDS option directs LOADPLUS to pause after the
PRELOAD phase only if input records were discarded during the PRELOAD
phase. You can restart the utility in the LOAD phase.
RETCODE
RETCODE allows you to designate the return code that LOADPLUS assigns
when pausing after the PRELOAD phase due to discards encountered in the
PRELOAD phase. Although you can specify any positive integer, note the
following considerations for certain values:
s
LOADPLUS always ends with the highest return code assigned during the
load job. Therefore, because PRELOAD PAUSE normally ends with a return
code 4, specifying a value of 4 or less has no effect. For additional
information, see Return code hierarchy on page 120.
If you specify an integer that is greater than 31 but less than 4096,
LOADPLUS issues a user abend that is equal to the integer specified.
If you specify an integer that is greater than 4095, the LOADPLUS job step
terminates with a system abend 001.
For information about return codes that LOADPLUS normally returns, see
Return codes on page 565. For information about specifying a user-defined
return code for a full load job when there are discard violations, see
IFDISCARDS on page 169.
158
INDDN
)
INDSN ('dsname'
SYSREC
ddname
,'dsname'
INDSN
The INDSN option enables dynamic allocation for your input (SYSREC) data sets.
You can specify from 1 through 256 data set names, enclosed in single quotation
marks, and separated by commas. LOADPLUS allocates the input data sets for use
during the load job. Use this option for one or more of the following reasons:
s
s
s
The input data sets must already exist and must be cataloged tape or DASD data sets.
You cannot specify any parameters for these data sets (such as VOLSER, DCB, or
UNIT) other than the data set name.
Restrictions: The following restrictions apply to using the INDSN option:
s
s
s
You cannot use this option when loading data from a batch pipe.
You cannot specify multiple data sets that are on a stacked tape.
You cannot include SYSREC DD statements in your JCL when you specify this
option. If there are SYSREC DD statements in your JCL, LOADPLUS fails and
issues message BMC50460E.
You can specify a GDG name as your data set name. LOADPLUS interprets a digit,
plus sign, or hyphen following an open parenthesis in dsname as an indication that
the data set name is a GDG name.
You can specify a partitioned data set (PDS) name as your data set name as long as
you include a member name. LOADPLUS interprets an alphabetic character
following an open parenthesis in dsname as the beginning of a PDS member name.
You can use the INDDN option to override the ddname prefix for your input data
sets during dynamic allocation.
Chapter 3
159
Because each data set name that you specify with INDSN is assigned to a separate
SYSREC data set, all restrictions and considerations that apply to multiple SYSREC
data sets apply to specifying multiple data set names on the INDSN option. See
SYSREC data sets on page 303 for more information.
INDDN
The INDDN option allows you to override the default ddname (SYSREC) or ddname
prefix of the input data set. The value for INDDN tells LOADPLUS which DD
statements in your JCL are input data sets. For detailed information about using the
SYSREC data set in LOADPLUS, see SYSREC data sets on page 303.
Multiple data sets: If you use multiple input data sets, specify only the ddname
prefix (no nn) in this option. Note the following considerations:
s
If you are using the INDSN option to dynamically allocate input data sets,
LOADPLUS appends the data set number to the prefix that you specify. This prefix
plus the highest data set number must not exceed eight characters.
If you are not dynamically allocating input data sets, you must append nn to the
ddnames in the DD statements in your JCL, where nn can be one or two valid
alphanumeric or national characters.
If you are not dynamically allocating input data sets, the prefix must allow
LOADPLUS to differentiate it from any ddnames that you specify in your JCL for
other data sets. For example, if you specify an INDDN prefix of SYSU and your
JCL contains a DD statement for your work data set that uses a ddname of
SYSUT1, LOADPLUS assumes that the SYSU prefix refers to the SYSUT1 data set.
If you also specify INDSN on your LOAD command, LOADPLUS uses the value
for INDDN as the ddname or ddname prefix when constructing your input data
set DD statements. If any DD statements in your JCL match the INDDN value,
LOADPLUS fails and issues message BMC50460E.
When you do not specify INDSN on your LOAD command and you use the default
ddname SYSREC in your JCL, you do not need to use this option. However, if you
want to use a ddname other than SYSREC, you must specify it both in this option
and in your JCL.
Specifying the default: You can specify the default for the INDDN command option
in your installation options module (using the INDDN installation option).
LOADPLUS was shipped with a default value of SYSREC for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
160
LOADDN
SORTOUT
ddname
WORKDDN
SYSUT1
ddname
LOADDN
The LOADDN option allows you to override the default ddname (SORTOUT) or
ddname prefix for the output data set from the PRELOAD phase. For detailed
information about using the SORTOUT data set in LOADPLUS, see SORTOUT data
sets on page 296.
NOTE
If you specify or default to a prefix with a length of 7 or more characters, and the value for the
SMAX or MAXSORTS option is greater than 9, LOADPLUS reduces the value of SMAX
(MAXSORTS) to 9.
Multiple data sets: For multiple SORTOUT data sets, specify only the ddname prefix
(no n) in this option. Note the following considerations:
s
If you are not dynamically allocating output data sets, you must append n to the
ddnames in the DD statements in your JCL, where n is any valid alphanumeric or
national character. These ddnames must not exceed eight characters.
If you are not dynamically allocating output data sets, the prefix must allow
LOADPLUS to differentiate it from any ddnames that you specify in your JCL for
other data sets. For example, if you specify a LOADDN prefix of SYSU and your
JCL contains a DD statement for your work data set that uses a ddname of
SYSUT1, LOADPLUS assumes that the SYSU prefix refers to the SYSUT1 data set.
When you dynamically allocate SORTOUT data sets, LOADPLUS appends the
data set number to the ddname prefix that you specify. To dynamically allocate
more than nine SORTOUT data sets, use this option to specify a ddname prefix.
The prefix plus the highest data set number must not exceed eight characters. For
more information, see Specifying ddname prefixes on page 74.
Chapter 3
161
If dynamic work file allocation is active and you specify more than one ddname
prefix for dynamic allocation, the prefix for each ddname must be different enough
for LOADPLUS to differentiate one prefix from another. Different enough means
that these prefixes must be different and, if they are different only because one
prefix has additional trailing bytes, then these trailing bytes must contain at least
one nonnumeric byte. For example, the first set of prefixes that follow is different
enough, but the second set is not:
acceptable:
BMCRD
BMCRDWK
not acceptable:
BMCRD
BMCRD11
Specifying the default: You can specify the default for the LOADDN command
option in your installation options module (using the LOADDN installation option).
LOADPLUS was shipped with a default value of SORTOUT for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options. If you use this command option to override the default name in
the installation options module, you must also change the ddname in your JCL.
WORKDDN
The WORKDDN option allows you to override the default ddname (SYSUT1) or
ddname prefix of the work data set. For detailed information about using the SYSUT1
data set in LOADPLUS, see SYSUT1 data sets on page 305.
Multiple data sets: If you use multiple work data sets, specify only the ddname
prefix (no nn) in this option. Note the following considerations:
s
162
If you are not dynamically allocating work data sets, you must append nn to the
ddnames in the DD statements in your JCL, where nn can be one or two valid
alphanumeric or national characters. These ddnames must not exceed eight
characters.
If you are not dynamically allocating work data sets, the prefix must allow
LOADPLUS to differentiate it from any ddnames that you specify in your JCL for
other data sets. For example, if you specify a WORKDDN prefix of SYSR and your
JCL contains a DD statement for your input data set that uses a ddname of
SYSREC, LOADPLUS assumes that the SYSR prefix refers to the SYSREC data set.
When you dynamically allocate SYSUT1 data sets, LOADPLUS appends the data
set number to the ddname prefix that you specify. To dynamically allocate more
than 99 SYSUT1 data sets, use this option to specify a ddname prefix. The prefix
plus the highest data set number must not exceed eight characters. For more
information, see Specifying ddname prefixes on page 74.
If dynamic work file allocation is active and you specify more than one ddname
prefix for dynamic allocation, the prefix for each ddname must be different enough
for LOADPLUS to differentiate one prefix from another. Different enough means
that these prefixes must be different and, if they are different only because one
prefix has additional trailing bytes, then these trailing bytes must contain at least
one nonnumeric byte. For example, the first set of prefixes that follow is different
enough, but the second set is not:
acceptable:
BMCRD
BMCRDWK
not acceptable:
BMCRD
BMCRD11
Specifying the default: You can specify the default for the WORKDDN command
option in your installation options module (using the WORKDDN installation
option). LOADPLUS was shipped with a default value of SYSUT1 for this option;
however, it might have been changed during installation. The command option
overrides the default that was established at installation. For details, see Appendix A,
LOADPLUS installation options. If you use this command option to override the
default name in the installation options module, you must also change the ddname in
your JCL.
Chapter 3
163
ERRDDN
SYSERR
ddname
DISCARDDN
SYSDISC
ddname
ERRDDN
The ERRDDN option allows you to override the default data set ddname (SYSERR).
This data set contains information about records that are discarded because of errors.
For detailed information about using the SYSERR data set in LOADPLUS, see
SYSERR data set on page 301.
If you use this command option to override the default name in the installation
options module, you must also change the ddname in your JCL.
Specifying the default: You can specify the default for the ERRDDN command
option in your installation options module (using the ERRDDN installation option).
LOADPLUS was shipped with a default value of SYSERR for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
DISCARDDN
The DISCARDDN option allows you to override the default ddname (SYSDISC) of
the discard data set. For detailed information about using the SYSDISC data set in
LOADPLUS, see SYSDISC data set on page 300.
If you use this command option to override the default name in the installation
options module, you must also change the ddname in your JCL.
Specifying the default: You can specify the default for the DISCARDDN command
option in your installation options module (using the DISCDDN installation option).
LOADPLUS was shipped with a default value of SYSDISC for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
164
DISCARDS
0
integer
,
IGNORE
ALL
WHEN
PART
FIELDSPEC
CONV
DUPKEY
VALPROC
CHKC
FRGNKEY
IDERROR
REPORT
YES
NO
,
ALL
WHEN
PART
FIELDSPEC
CONV
DUPKEY
VALPROC
CHKC
FRGNKEY
IDERROR
DISCARDS
The DISCARDS option defines the limit on the number of discard violations (see the
description of discard violations in this section). If LOADPLUS reaches the specified
limit, the load job terminates. You can also specify a user-defined return code for
LOADPLUS to use when you reach this limit. (See IFDISCARDLIMIT on page 169.)
The default is 0 (no limit) when you do not specify the DISCARDS keyword. When
you specify the DISCARDS keyword, you must supply a value and this value must be
an integer (which can be 0).
Additional considerations: The following considerations apply to the DISCARDS
option:
s
Unless you are running an SQLAPPLY load job, this option is not valid for a
single-phase load (PRELOAD LOAD) when you specify LOAD RESUME YES.
A value greater than zero for this option is meaningful only for a two-phase load
with one of the following options:
UNIQUECHECK YES (which is the default)
UNIQUECHECK CLUSTER when all participating unique indexes are
clustering indexes
For information about the UNIQUECHECK option, see UNIQUECHECK on
page 180.
Chapter 3
165
Discard violations: Discard violations are calculated as the total number of violations
that cause LOADPLUS to discard input records during the PRELOAD or
COMBINED phase for a particular load job. For example, if two input records are
duplicates and they both violate a table check constraint, LOADPLUS reports four
discard violations (assuming that you did not specify IGNORE DUPKEY or IGNORE
CHKC). In this case, the SYSDISC data set contains only the two discarded input
records. LOADPLUS generates discard violations for the following reasons:
s
A verification record does not match the table that is being loaded (for FORMAT
BMCUNLOAD).
IGNORE
The IGNORE option tells LOADPLUS to ignore the specified discard types during
the PRELOAD phase or the COMBINED phase. If the specified type of discard
occurs, LOADPLUS
s
166
does not write an error record to the SYSERR data set (unless it is a duplicate key
error)
does not write the corresponding input record to the discard data set (unless the
record also violates another discard type)
An ignored discard violation does not count toward the DISCARDS limit.
NOTE
If you use MSGLEVEL(1), LOADPLUS issues messages BMC51501E, BMC51502E,
BMC51503E, BMC51505E, and BMC51506E to help diagnose problems regardless of the
IGNORE option.
The IGNORE option is especially useful for WHEN and PART discards when all
records in your input file do not participate in the load.
Table 27 lists the keywords and discard types, along with their descriptions, that you
can specify with the IGNORE option.
Table 27
Discard type
Description
ALL
WHEN
Ignore records that are not selected by any INTO statement or that are
discarded as a result of a table or column definition mismatch when
specifying FORMAT UNLOAD, FORMAT BMC, or FORMAT
BMCUNLOAD.
PART
Ignore records that are not selected by any partitions being loaded.
FIELDSPEC
CONV
DUPKEY
VALPROC
CHKC
FRGNKEY
IDERROR
Ignore records that are discarded because they are outside the range that is
defined on the identity column.
For more information about how to enhance LOADPLUS performance when using
this option, see DISCARDS IGNORE command option on page 468.
REPORT
The REPORT option tells LOADPLUS which discard types to report or not report in
the error summary report. Although this option has no effect on actual discard
processing, it allows you to limit the number of SYSPRINT records when you expect
many discards.
Chapter 3
167
YES. When you specify DISCARDS REPORT YES, the discard types that you
specify are reported in the LOADPLUS error summary report. DISCARDS
REPORT YES ALL is the default.
LOADPLUS does not report any discard types that you specify with the IGNORE
option, even if you specify them in the REPORT YES option.
NO. The discard types that you specify in this option are not reported in the
LOADPLUS error summary report. This option is beneficial when you expect
many discards.
REPORT NO has no effect on actual discard processing. Depending on the use of
the IGNORE option, LOADPLUS still writes error records to the SYSERR data set
and still writes corresponding input records to the discard data set.
Table 28 lists the keywords and discard types, along with their descriptions, that you
can specify with the REPORT option.
Table 28
Discard type
ALL
WHEN
Affects records that are not selected by any INTO statement or that are
discarded as a result of a table or column definition mismatch when
specifying FORMAT UNLOAD, FORMAT BMC, or FORMAT
BMCUNLOAD.
PART
Affects records that are not selected by any partitions being loaded.
FIELDSPEC
CONV
DUPKEY
VALPROC
CHKC
FRGNKEY
IDERROR
168
Description
Affects records that are discarded because they are outside the range that is
defined on the identity column.
IFDISCARDS integer
IFDISCARDLIMIT integer
IFZEROROWS integer
IFDISCARDS
The IFDISCARDS option allows you to specify a user-defined return code that
LOADPLUS uses upon successful completion of the load job when LOADPLUS
discards one or more input records. You can specify any integer from 0 through 7.
LOADPLUS always ends with the highest return code assigned during the load job.
For more information, see Return code hierarchy on page 120. For information
about return codes that LOADPLUS normally returns, see Return codes on
page 565.
When specifying PRELOAD PAUSE: If you also specify PRELOAD PAUSE, the
IFDISCARDS value is not in effect for the paused job. If you restart the job and there
are discard violations, LOADPLUS considers the IFDISCARDS value when
determining the final return code. For information about specifying a user-defined
return code for a PRELOAD PAUSE load job when there are discard violations, see
RETCODE on page 158.
Specifying the default: You can specify the default for the IFDISCARDS command
option in your installation options module (using the DISCARDRC installation
option). LOADPLUS was shipped with a default value of 0 for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
IFDISCARDLIMIT
The IFDISCARDLIMIT option allows you to specify a user-defined return code that
LOADPLUS uses when the number of discard violations reaches the discard limit
that you specified with the DISCARDS option. You can specify any integer greater
than 7.
LOADPLUS always ends with the highest return code assigned during the load job.
For more information, see Return code hierarchy on page 120.
For information about return codes that LOADPLUS normally returns, see Return
codes on page 565.
Chapter 3
169
Specifying the default: You can specify the default for the IFDISCARDLIMIT
command option in your installation options module (using the DISCARDLIMRC
installation option). LOADPLUS was shipped with a default value of 8 for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
IFZEROROWS
The IFZEROROWS option allows you to specify a user-defined return code that
LOADPLUS uses upon successful completion of the load job when LOADPLUS does
not load any rows. You can specify any integer from 0 through 7.
LOADPLUS always ends with the highest return code assigned during the load job.
For more information, see Return code hierarchy on page 120.
For information about return codes that LOADPLUS normally returns, see Return
codes on page 565.
Specifying the default: You can specify the default for the IFZEROROWS command
option in your installation options module (using the ZEROROWRC installation
option). LOADPLUS was shipped with a default value of 0 for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
170
ORDER
NO
PRESORTED
YES
ASSOCIATE
BYTABLE
BYCLUSTERKEY
ORDER
The ORDER option tells LOADPLUS how and whether to order the table rows.
ORDER affects only new rows that you are loading. For a LOAD RESUME YES job,
LOADPLUS does not mix new rows with existing rows.
You can always omit the ORDER option from your LOAD command without error. If
you do not specify ORDER, the default is ORDER NO except when you are loading a
multi-table, segmented table space. In this case, ORDER YES is the default.
Although you can omit the ORDER option without error, if you explicitly specify
ORDER, the restrictions in Table 29 apply.
Table 29
ASSOCIATE BYTABLE
This option is
meaningless for a
single-table table space
with no clustering index.
In this case, LOADPLUS
processes this option as if
you specified ORDER
NO.
ASSOCIATE BYCLUSTERKEY
Do not specify this option
if there is no clustering
index or for a multi-table,
segmented table space.
LOADPLUS changes this
option to ASSOCIATE
BYTABLE for an
SQLAPPLY load when
referential integrity exists
between the objects that
you are loading.
ORDER NO
Do not specify this
option if you are loading
multiple tables in a
segmented table space
unless you are
performing an
SQLAPPLY load.
ORDER PRESORTED
You must specify only
one SYSREC data set.
You can specify this
option for one of the
following scenarios:
s
single-phase LOAD
RESUME YES PART
n REPLACE if you
are replacing all
partitions that are
involved in the load
and have no
participating
nonclustering
indexes
Chapter 3
171
For ORDER PRESORTED and ORDER YES, the encoding scheme of the table
determines the collating sequence for character data. For example, if the table is
defined as EBCDIC, the collating sequence will be EBCDIC.
NO
If you specify ORDER NO, LOADPLUS performs no ordering at all, and the rows
retain the order of the input data set from which they were read. The table space
might require reorganization for adequate DB2 performance. LOADPLUS sorts
clustering indexes together with participating nonclustering indexes.
ORDER NO is the default except when you are loading a multi-table, segmented table
space. (In this case, ORDER YES is the default.)
PRESORTED
If you specify ORDER PRESORTED, LOADPLUS verifies that the rows are in the
correct clustering index order. LOADPLUS performs no sorts on either the data or the
clustering index and terminates the job if the data is not in the correct order.
You must specify only one SYSREC data set when using ORDER PRESORTED.
Otherwise, LOADPLUS terminates the job.
ORDER PRESORTED is valid for the following types of load jobs:
s
loading a partitioned table space with single-phase LOAD RESUME YES PART n
REPLACE if you are replacing all partitions that are participating in the load and
no nonclustering indexes are participating in the load
If you use this option with other types of load jobs, LOADPLUS issues message
BMC50115E or BMC51430E and terminates processing.
YES
If you specify ORDER YES, LOADPLUS orders the rows in the tables of the table
space by their clustering key.
ASSOCIATE. Use the ASSOCIATE option to specify how you want LOADPLUS to
sort the rows for multi-table table spaces.
172
BYTABLE
BYTABLE, which is the default if you specify ORDER YES, tells LOADPLUS to
sort the rows by table as well as by each tables clustering key. If no clustering
key exists, LOADPLUS uses X'00's. LOADPLUS always sorts segmented table
spaces by table.
BYCLUSTERKEY
BYCLUSTERKEY sorts the rows by each tables clustering key only. This option
is useful for multi-table, nonsegmented table spaces to group rows of different
tables together by a common clustering key.
NOTE
For an SQLAPPLY load when referential integrity exists between the objects you are
loading, LOADPLUS changes this option to ASSOCIATE BYTABLE and continues
processing.
Chapter 3
173
ENUMROWS
total
,
new
32000
error
ENUMROWS
The ENUMROWS option provides estimated information that LOADPLUS and
BMCSORT use to dynamically allocate your work files and to determine the most
efficient method for performing sort processing. If you specify ENUMROWS, you
must specify a value for at least one of the parameters (total, new, or error). These
parameters are positional.
Use ENUMROWS if any of the following conditions apply:
s
NOTE
When BMCSORT is dynamically allocating your sort work data sets, BMC Software
recommends that you also specify a value greater than 0 for the SORTNUM installation or
command option. For more information, see SORTNUM on page 177.
Use Table 30 on page 175 to determine whether to specify total or new for the type of
load job that you are running.
174
Table 30
total or new
Additional information
LOAD REPLACE
new
For any of the ENUMROWS values, BMC Software recommends that you
overestimate rather than underestimate. Overestimating results in LOADPLUS
allocating files that are larger than needed, but underestimating can cause
LOADPLUS to terminate the job.
total
This value is an integer that specifies the total number of rows that you expect to have
in all tables of the table space following the load. A value of 0 tells LOADPLUS to
dynamically allocate data sets of a minimal size for those DDTYPEs for which
dynamic allocation is active.
Chapter 3
175
If BMCSORT is dynamically allocating sort work data sets, LOADPLUS passes this
integer to BMCSORT through the SIZE sort parameter. BMCSORT uses the SIZE
parameter to calculate how much sort work space to dynamically allocate.
new
This value is an integer that specifies the number of records in your SYSREC data set.
A value of 0 tells LOADPLUS to dynamically allocate data sets of a minimal size for
those DDTYPEs for which dynamic allocation is active.
Additional considerations: Note the following additional considerations when you
specify a value for new:
s
For multi-table table spaces, LOADPLUS multiplies the value that you specify by
the number of tables that you are loading.
For LOAD RESUME YES PART n REPLACE with INDEX UPDATE, new is the
total number of rows that you expect to have in the partitions that you are
replacing.
error
This value is an integer that specifies the number of rows that you expect to be
discarded. The default is 32000 or the number of rows being loaded if that number is
less than 32000. Specify a value for error only if you expect that the number of
discarded rows will exceed the default value. This option applies only if LOADPLUS
is dynamically allocating the SYSERR or SYSDISC data sets.
NOTE
If you specify the DISCARDS option with a value greater than zero and you are dynamically
allocating SYSDISC, LOADPLUS uses the DISCARDS value instead of the value for error to
determine the size of the SYSDISC data set.
176
SORTDEVT device_type
SORTNUM integer
MAXSORTS integer
SORTDEVT
The SORTDEVT option specifies the device type for the sort work files that
BMCSORT will allocate dynamically. This option overrides the value that was
specified in the BMCSORT DYNALOC installation option.
If the value of the third parameter in the BMCSORT DYNALOC installation option is
OFF, specifying the SORTDEVT option turns BMCSORT dynamic allocation on.
SORTNUM
The SORTNUM option affects the allocation of sort work files when BMCSORT is
allocating your sort work files dynamically. You can specify any integer value from 0
through 99.
NOTE
If you need more than 99 sort work files, contact BMC Software Customer Support for
assistance.
Table 31 describes the action that BMCSORT takes for each value that you can specify
for this option. The table also provides any additional considerations for these values.
Table 31
SORTNUM values
Value
Description
Additional considerations
132
3399
If the value of the third parameter in the BMCSORT DYNALOC installation option is
OFF, specifying a value greater than 0 for the SORTNUM option turns BMCSORT
dynamic allocation on, and BMCSORT allocates sort work files as needed.
Chapter 3
177
The sort work files that BMCSORT allocates dynamically might be used in one of the
following circumstances:
s
s
For information about when BMCSORT allocates your sort work files dynamically,
see Allocating sort work data sets on page 70.
NOTE
If you depend on BMCSORT to dynamically allocate your sort work data sets, BMC Software
recommends that you also specify the ENUMROWS command option. For more information,
see ENUMROWS on page 174.
Specifying the default: You can specify the default for the SORTNUM command
option in your installation options module (using the SORTNUM installation option).
LOADPLUS was shipped without a value for this option and a value must be
specified during installation. The command option overrides the default that was
established at installation. For details, see Appendix A, LOADPLUS installation
options.
MAXSORTS
The MAXSORTS option specifies the maximum number of index sort tasks that
LOADPLUS can run concurrently during the LOAD phase. For more information, see
Sort processing options (SMCORE and SMAX installation options and MAXSORTS
command option) on page 475.
Restrictions: Note the following restrictions on the MAXSORTS option:
s
If the value of the LOADDN option is 7 or more characters and you specify a value
for the MAXSORTS option that is greater than 9, LOADPLUS reduces the value of
the MAXSORTS option to 9.
Specifying the default: You can specify the default for the MAXSORTS command
option in your installation options module by using the SMAX installation option.
LOADPLUS was shipped with a default value of 8 for this option; however, it might
have been changed during installation. The command option overrides the default
that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
178
CONTINUEIF (start
)=
:end
'character_string'
X'byte_string'
CONTINUEIF
The CONTINUEIF option tells LOADPLUS whether the current logical input record
continues with the next physical input record.
Restrictions: This option is not valid under the circumstances described in Table 32.
Table 32
Condition
Result
The two numbers, start:end, indicate the starting and ending columns of the
continuation indicator in the physical input record. If the comparison of the
continuation indicator with the string is equal, LOADPLUS concatenates the next
physical input record. You can concatenate any number of physical records into a
logical record as long as the length of the logical record does not exceed 32 KB.
You can specify either a character string or a hexadecimal string. The length of the
continuation indicator cannot be greater than 70 or less than the length of the string. If
you do not specify :end, LOADPLUS uses the length of the string. When determining
the value to specify, note that in the physical input record, the first column of the
record is column 1.
The continuation indicator is not included in the logical record. Thus, if you specify
CONTINUEIF(73:80)=string, the first byte of the first physical record is column 1 of
the logical record. The first byte of the second physical record is column 73 of the
logical record.
Chapter 3
179
UNIQUECHECK
YES
CLUSTER
NO
UNIQUECHECK
The UNIQUECHECK option tells LOADPLUS whether to check unique index keys in
the input records for duplicate values.
LOADPLUS ignores this option in the following cases:
s
SQLAPPLY load
DB2 checks for duplicates during the apply process.
Table 33 summarizes the action that LOADPLUS takes based on the value for the
UNIQUECHECK option and the type of indexes that are participating in the load job.
Table 33
UNIQUECHECK options
UNIQUECHECK option
YES
any
CLUSTER
nonclustering
NO
clustering
any
s
s
YES
UNIQUECHECK YES, the default, tells LOADPLUS to check for duplicates in key
values for all participating unique indexes. Table 33 describes the actions that
LOADPLUS takes when you specify or default to UNIQUECHECK YES and
LOADPLUS detects a unique key violation.
180
CLUSTER
UNIQUECHECK CLUSTER indicates that you want LOADPLUS to check for
duplicates in key values for only the clustering indexes. Specifying this option
eliminates the need to sort and check participating nonclustering indexes in the
PRELOAD phase, and can reduce the elapsed time of your load job. Table 33 on
page 180 describes the actions that LOADPLUS takes when you specify
UNIQUECHECK CLUSTER and LOADPLUS detects a unique key violation.
Restriction: LOADPLUS changes the value of this option to UNIQUECHECK YES if
you specify or default to ORDER NO.
NO
Specifying this option indicates that you do not want LOADPLUS to check key
values. Using this option eliminates the need to sort and check the indexes in the
PRELOAD phase, which can reduce the elapsed time of your load job. Table 33 on
page 180 describes the actions that LOADPLUS takes when you specify
UNIQUECHECK NO and LOADPLUS detects a unique key violation.
Chapter 3
181
REDEFINE
YES
NO
REUSE
REDEFINE
This option controls whether LOADPLUS deletes and redefines the VSAM data sets
for the table space and index spaces that are participating in the load. LOADPLUS
can redefine both user-defined (VCAT-defined) data sets and data sets that are
defined in DB2 storage groups (STOGROUP-defined).
Specifying the default: You can specify the default for the REDEFINE command
option in your installation options module (using the REDEFINE installation option).
LOADPLUS was shipped with a default value of YES for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
Additional considerations: Note the following additional information about the
REDEFINE option:
s
s
YES
The REDEFINE YES option tells LOADPLUS to delete and redefine the VSAM data
set for each DB2 object before loading it. LOADPLUS also defines any additional
VSAM data sets that might be required.
Table 34 describes which DB2 objects that LOADPLUS redefines when you specify
REDEFINE YES.
Table 34
Command issued
LOAD REPLACE
Objects redefined
s
s
s
table space
clustering index
participating nonclustering indexes
182
Table 34
Command issued
LOAD RESUME YES PART n REPLACE
Objects redefined
s
s
s
When you specify PRELOAD PAUSE, you still have the option of deleting and
redefining VCAT-defined data sets.
When you specify PRELOAD CONTINUE or PRELOAD LOAD, the only way to
delete and redefine VCAT-defined data sets as part of the load is to use this option
and provide the SYSIDCIN data set that contains the necessary IDCAMS control
statements. Otherwise, LOADPLUS issues message BMC50391E and resets the
high-used RBA.
For detailed information about using the SYSIDCIN data set in LOADPLUS, see
SYSIDCIN data set on page 308.
When you specify this option for STOGROUP-defined data sets, do not provide a
SYSIDCIN data set.
Chapter 3
183
For a STOGROUP-defined table space or index space with multiple volumes in the
storage group, LOADPLUS attempts to reallocate the data set on the volume on
which it currently resides if that volume is still defined in the storage group. The
order in which LOADPLUS retrieves subsequent volumes from the storage group
for the purpose of allocating VSAM data sets is not predictable.
The redefined table space data sets will have a control interval (CI) size that
corresponds with the page size of the assigned buffer pool if the value of your
DSVCI system parameter is set to YES.
NO
The REDEFINE NO option tells LOADPLUS not to delete and redefine the existing
VSAM data sets for the table space and index spaces that are participating in the load.
Instead, LOADPLUS issues message BMC50391I, reuses the existing data sets, and
resets the high-used RBA.
VCAT considerations: For VCAT-defined objects, LOADPLUS
s
s
extends to another data set, if needed, as long as that data set is already defined
does not define any additional data sets
For multi-data-set objects, LOADPLUS extends to another data set if needed, and
creates the data set if it does not exist. When the load completes, LOADPLUS
deletes any data set that it did not use.
The control interval (CI) size for any additional data sets that LOADPLUS creates
is based on the value of your DSVCI DB2 system parameter and the page size that
is defined in the table space that you are loading.
REUSE
This option is used for compatibility with the IBM DB2 LOAD utility command
syntax. If you specify REUSE, LOADPLUS functions as if you specified REDEFINE
NO. If you specify REUSE and REDEFINE YES, LOADPLUS uses the last keyword
that it finds in the command string.
184
IDCDDN
SYSIDCIN
ddname
DELETEFILES
NO
YES
SYSDISC
NO
YES
IDCDDN
The IDCDDN option allows you to override the default ddname (SYSIDCIN) for the
input data set that contains the IDCAMS command statements that LOADPLUS uses
to redefine VSAM data sets. For detailed information about using the SYSIDCIN data
set in LOADPLUS, see SYSIDCIN data set on page 308.
If you use this command option to override the default name in the installation
options module, you must also change the ddname in your JCL.
Specifying the default: You can specify the default for the IDCDDN command
option in your installation options module (using the IDCDDN installation option).
LOADPLUS was shipped with a default value of SYSIDCIN for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
DELETEFILES
The DELETEFILES option tells LOADPLUS whether to delete the SORTOUT,
SORTWK, SYSUT1, and SYSERR files after the load completes successfully.
Specifying the default: You can specify the default for the DELETEFILES command
option in your installation options module (using the DELFILES installation option).
LOADPLUS was shipped with a default value of NO for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. However, if you are running in a worklist
environment, LOADPLUS uses the DELFILES installation option differently. For
details, see Appendix A, LOADPLUS installation options.
NO
DELETEFILES NO tells LOADPLUS not to delete any SORTOUT, SORTWK,
SYSUT1, or SYSERR files.
NOTE
If your work files are defined with DISP=(any,DELETE,DELETE), LOADPLUS deletes these
work files after the load completes even if you specify DELETEFILES NO.
Chapter 3
185
YES
DELETEFILES YES tells LOADPLUS to delete all corresponding SORTOUT,
SORTWK, SYSUT1, and SYSERR files after the load completes successfully,
regardless of the JCL disposition of these files and whether the files were used.
LOADPLUS deletes all physical sequential data sets whose ddnames match the
SORTOUT, SORTWK, SYSUT1, and SYSERR names or ddname prefixes. This occurs
after either the LOAD phase or the COMBINED phase completes successfully.
If the work files are on tape, you can use the TAPEDISP installation option to specify
the final disposition of the work files. See Appendix A, LOADPLUS installation
options, for details.
SYSDISC
This option tells LOADPLUS whether to delete the SYSDISC file after the load
completes successfully.
Specifying the default: You can specify the default for the SYSDISC command option
in your installation options module (using the second parameter of the DELFILES
installation option). LOADPLUS was shipped with a default value of NO for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. However, if you are
running in a worklist environment, LOADPLUS uses the DELFILES installation
option differently. For details, see Appendix A, LOADPLUS installation options.
NO. SYSDISC NO tells LOADPLUS not to delete the SYSDISC file automatically,
even if it does not contain any discarded records.
NOTE
If SYSDISC is defined with DISP=(any,DELETE,DELETE), LOADPLUS deletes these work
files after the load completes even if you specify SYSDISC NO.
YES. SYSDISC YES tells LOADPLUS to delete the SYSDISC file if it does not
contain any discarded records.
186
ORIGINALDISP
DELETE
RENAME
ORIGINALDISP
This command option is valid only if LOAD REPLACE SHRLEVEL REFERENCE or
LOAD REPLACE SHRLEVEL CHANGE is in effect.
ORIGINALDISP allows you to specify whether you want LOADPLUS to delete or
rename the original data sets after LOADPLUS renames the staging data sets and
completes a successful load.
For information about the staging data sets for LOAD REPLACE SHRLEVEL
REFERENCE and LOAD REPLACE SHRLEVEL CHANGE, see Staging data sets
on page 89.
Specifying the default: You can specify the default for the ORIGINALDISP
command option in your installation options module (by using the ORIGDISP
installation option). LOADPLUS was shipped with a default value of DELETE for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
DELETE
This option tells LOADPLUS to delete the original data sets.
RENAME
This option tells LOADPLUS to rename the original data sets to the staging data set
names. LOADPLUS changes the OLD in the OLDDBC and OLDDBD node of the
cluster and data component names to BMC.
This option allows you to preserve the space that was initially allocated for the
original data sets by renaming them to the staging data set names. The renamed data
sets are then ready to use as the staging data sets in a subsequent load process.
For more details about the renaming process, see Data set rename process on
page 90.
Chapter 3
187
NLPCTFREE
STANDARD
BMC
integer
NLPCTFREE
This command option is valid only if INDEX BUILD is in effect.
NLPCTFREE specifies the percentage of each nonleaf index page to reserve as free
space when LOADPLUS builds the indexes.
STANDARD
STANDARD, which is the default, tells LOADPLUS to use the value that was
provided in the DB2 PCTFREE option when the index was created. Like DB2,
LOADPLUS leaves up to 10 percent of a nonleaf page free. If you specify a value
greater than 10, only 10 percent is left free.
BMC
This option directs LOADPLUS to honor the DB2 PCTFREE value in the DB2 catalog,
even if the value is greater than 10.
integer
This value identifies the percentage of each nonleaf index page to reserve as free
space. You can specify an integer value of 0 through 99.
188
ANALYZE
PAUSE
SAMPLE
ONLY
SCAN
ANALYZE
ANALYZE gathers information about the table space and provides estimated data set
sizes for the following data sets:
s
s
s
s
s
s
load (SORTOUT)
work (SYSUT1)
sort work (SORTWK)
discard (SYSDISC)
error (SYSERR)
image copy (BMCCPY, BMCCPZ, BMCRCY, and BMCRCZ)
Chapter 3
189
Table 35
How ANALYZE options determine cardinality and average row length estimation
ANALYZE keywords
(ANALYZE not specified)
ANALYZE
ANALYZE PAUSE
ANALYZE ONLY
ANALYZE SCAN
ANALYZE PAUSE SCAN
ANALYZE ONLY SCAN
190
During the ANALYZE phase, LOADPLUS does not stop the index space and
associated table space that are participating in the load. See The ANALYZE
phase on page 500 for performance considerations when using this option.
PAUSE
If you specify ANALYZE PAUSE, LOADPLUS generates a report and ends the
processing after the ANALYZE phase completes. You can use the output of the
ANALYZE phase to specify the number and allocations of the work data sets.
LOADPLUS leaves the utility ID active so that you can restart the load at the next
phase by specifying the RESTART or RESTART(PHASE) parameter on your EXEC
statement. You do not need to change the ANALYZE option on the LOAD command.
When restarting an ANALYZE PAUSE job, LOADPLUS ignores the PAUSE
specification. For an example of a job that uses this option, see page 380.
Chapter 3
191
ONLY
If you specify ANALYZE ONLY, LOADPLUS generates a report and terminates after
the ANALYZE phase. You cannot restart the load job. However, you can use the
output of the ANALYZE phase to specify the number and allocations of the work
data sets for subsequent load jobs.
SAMPLE
SAMPLE tells LOADPLUS to determine the estimated cardinality by reading a subset
of pages from the most appropriate index. LOADPLUS determines the most
appropriate index based on key length and the number of data sets in the index.
NOTE
If LOADPLUS attempts to sample a data set that contains less than 100 pages, LOADPLUS
actually scans the data set instead of sampling it.
SCAN
SCAN tells LOADPLUS to determine the exact cardinality by reading every leaf page
in the most appropriate index. LOADPLUS determines the most appropriate index
based on key length and the number of data sets in the index.
192
SYNC integer
SYNC
LOADPLUS writes records to the BMCSYNC table, that indicate the number of 1KB
rows that LOADPLUS processes during the LOAD phase or the COMBINED phase.
You can use this information to determine how far the load job has progressed. By
default, LOADPLUS writes BMCSYNC records only after loading the last row or key
in a table space, index, or partition. The SYNC option identifies the number of 1KB
rows that LOADPLUS processes between writing to the BMCSYNC table. If you want
LOADPLUS to write records more often, specify an integer value with this option.
Additional considerations: Note the following additional information about the
SYNC option:
s
LOADPLUS records monitoring and restart sync points in the BMCSYNC table as
the job progresses. You can issue an SQL statement or use BMCDSN (the BMC
Software utility command processor) to query this table to determine how far the
load has progressed and the status of the objects that you are loading.
The SYNC option does not control the sync points that are used to restart
LOADPLUS. The restart sync points are established only after LOADPLUS loads
the last row or key in a table space, index, or partition.
Chapter 3
193
ENFORCE
CHECK CONSTRAINTS
NO
CHECKPEND
YES
NO
ENFORCE
ENFORCE tells LOADPLUS whether to check for violations of DB2 table check
constraints.
LOADPLUS does not support ENFORCE CONSTRAINTS and, except for an
SQLAPPLY load, LOADPLUS does not check for referential integrity violations.
Instead, if a table has referential integrity constraints defined, LOADPLUS places the
affected table spaces in CHECK pending status if the value of the CHECKPEND
option is YES. For information about how to ensure that referential integrity has not
been violated, see Referential integrity and check constraints on page 113. For more
information about the CHECKPEND option, see CHECKPEND on page 195.
Specifying the default: You can specify the default for the ENFORCE command
option in your installation options module (using the ENFORCE installation option).
LOADPLUS was shipped with a default value of CHECK for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
Additional considerations: Note the following additional information about the
ENFORCE option:
s
For an SQLAPPLY load, LOADPLUS ignores this option because DB2 checks all
constraints during apply processing.
CHECK CONSTRAINTS
When you specify CHECK CONSTRAINTS, LOADPLUS checks the rows to be
loaded for violations of DB2 table check constraints, if any constraints exist.
LOADPLUS handles any violating rows according to your DISCARDS option
specification.
194
NO
Specify NO when you do not want to check for table check constraints during
LOADPLUS processing. When you specify NO, LOADPLUS loads all rows
regardless of whether they violate table check constraints or referential integrity. If
the value of the CHECKPEND option is YES, LOADPLUS automatically sets the
object status to CHECK pending.
CHECKPEND
CHECKPEND tells LOADPLUS whether to set dependent table spaces to CHECK
pending (CHKP) status.
Specifying the default: You can specify the default for the CHECKPEND command
option in your installation options module by using the CHEKPEND installation
option. LOADPLUS was shipped with a default value of YES for this option;
however, it might have been changed during installation. With the following
exception, the command option overrides the default that was established at
installation. For details, see Appendix A, LOADPLUS installation options.
If the value of the CHEKPEND installation option includes the ENFORCE keyword,
you cannot override the installation option with the CHECKPEND command option.
YES
After loading, LOADPLUS sets CHKP status if appropriate and completes with
return code 4. Run either CHECK PLUS (specifying the CHECK DATA SCOPE ALL
option) or the IBM CHECK DATA utility (specifying SCOPE ALL) to ensure that
referential integrity and table check integrity have not been violated.
If the value for the CHEKPEND installation option is (NO,ENFORCE), specifying
CHECKPEND YES causes LOADPLUS to issue message BMC50115E and terminate
processing.
For an SQLAPPLY load, LOADPLUS ignores this option.
NO
After loading, LOADPLUS does not set CHKP status and the job completes with
return code 0.
If the value for the CHEKPEND installation option is (YES,ENFORCE), specifying
CHECKPEND NO causes LOADPLUS to issue message BMC50115E and terminate
processing.
Chapter 3
195
LOG
YES
NO
NOCOPYPEND
LOG
LOADPLUS provides this option for compatibility with the IBM DB2 LOAD utility
command syntax.
YES
LOG YES is valid only if LOAD RESUME YES SHRLEVEL CHANGE is in effect.
LOADPLUS provides this option for compatibility with the IBM DB2 LOAD utility
command syntax and treats it as a comment.
If you specify LOG YES with any load type other than SQLAPPLY, LOADPLUS
issues message BMC50110E and terminates with return code 8.
NO
LOADPLUS provides this option for compatibility with the IBM DB2 LOAD utility
command syntax.
If you specify this option with an SQLAPPLY load, LOADPLUS issues message
BMC50115E and terminates with return code 8.
For all other load types, if you specify this option without the NOCOPYPEND
keyword, LOADPLUS treats it as a comment.
NOCOPYPEND. LOADPLUS provides this option for compatibility with the IBM
DB2 LOAD utility command syntax. When you specify this option, LOADPLUS
functions as if you specified COPY NO COPYPEND NO.
NOTE
If the value for the COPYPEND installation option is (YES,ENFORCE), specifying
NOCOPYPEND causes LOADPLUS to issue message BMC50115E and terminate
processing.
196
PREFORMAT
YES
NO
PREFORMAT
The PREFORMAT option tells LOADPLUS whether to preformat the unused pages
of the data set. For compatibility with earlier releases, if you specify PREFORMAT
without a value, LOADPLUS assumes PREFORMAT YES.
LOADPLUS also provides PREFORMAT support at the partition level. See PART
on page 219 for information.
Specifying the default: You can specify the default for the PREFORMAT option in
your installation options module (using the PREFORMAT installation option).
LOADPLUS was shipped with a default value of NO for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
YES
If you specify PREFORMAT YES, LOADPLUS preformats the unused portion of the
data set. Preformatting writes pages that have been initialized with zeros up to the
high-allocated RBA of the table space and index spaces. Preformatting occurs after
LOADPLUS loads the data and builds the indexes.
For an SQLAPPLY load, LOADPLUS ignores this option and issues message
BMC50109I.
NO
If you specify PREFORMAT NO, LOADPLUS does not preformat the unused pages.
Chapter 3
197
CENTURY(ccyy,ccyy)
CENTURY
The CENTURY option specifies the 100-year range that determines the century for
DATE and TIMESTAMP external formats that contain two-digit year values. The first
four-digit year value must be less than the second four-digit year. You must specify
both values and these values must span 100 years.
You can also specify CENTURY with the field specification option if you want to
apply it to a particular DATE or TIMESTAMP column. For more information, see
page 242.
Specifying the default: You specify the default for the CENTURY command option
in your installation options module (using the CENTURY installation option).
LOADPLUS was shipped without a value for this option and it must be specified
during installation. The command option overrides the default that was established
at installation. For details, see Appendix A, LOADPLUS installation options.
(ccyy,ccyy)
Any two-digit year in the input data that lies between the first yy specification and 99
is prefixed with the first cc value to create a four-digit year. Any two-digit year in the
input data that lies between 00 and the second yy specification is prefixed with the
second cc value to create a four-digit year.
The following examples illustrate this option:
s
198
If you specify CENTURY(1950,2049), LOADPLUS places 19 in front of each twodigit year with a value 50 through 99, and places 20 in front of each two-digit year
with a value 00 through 49. The date 99/12/31 becomes 1999/12/31 and 00/12/31
becomes 2000/12/31.
If you specify CENTURY(1925, 2024), LOADPLUS places 19 in front of each twodigit year with a value 25 through 99, and places 20 in front of each two-digit year
with a value 00 through 24. The date 45/12/31 becomes 1945/12/31 and 15/01/31
becomes 2015/01/31.
IDCACHE n
UPDATEMAXA
YES
IDERROR
DISCARD
FAIL
NO
IDCACHE
The IDCACHE option allows you to specify the size of the cache that LOADPLUS
uses when generating values for an identity column. LOADPLUS uses one cache for
each READ task. The valid values for this option are 1 through 100000.
NOTE
This cache is a temporary cache that LOADPLUS uses. This option does not affect the cache
that you specified when defining your identity column.
UPDATEMAXA
The UPDATEMAXA option tells LOADPLUS whether to update the
MAXASSIGNEDVAL field of SYSIBM.SYSSEQUENCES when loading identity
column values from an input file. (When generating identity column values,
LOADPLUS always updates MAXASSIGNEDVAL.)
Chapter 3
199
Specifying the default: You can specify the default for the UPDATEMAXA
command option in your installation options module (using the UPDMAXA
installation option). LOADPLUS was shipped with a default value of NO for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
YES
UPDATEMAXA YES tells LOADPLUS to update the MAXASSIGNEDVAL field of
SYSIBM.SYSSEQUENCES when loading identity column values from an input file.
LOADPLUS validates the input file values against the range that is defined on the
identity column and updates the value of MAXASSIGNEDVAL based on this range
and the current value of MAXASSIGNEDVAL. For details about how LOADPLUS
updates this field, see How LOADPLUS updates MAXASSIGNEDVAL on page 95.
NO
UPDATEMAXA NO tells LOADPLUS not to update the MAXASSIGNEDVAL field
of SYSIBM.SYSSEQUENCES when loading identity column values from an input file.
IDERROR
The IDERROR option tells LOADPLUS what action to take when encountering a
generated identity column value that is outside the range that is defined on the
column.
Specifying the default: You can specify the default for the IDERROR command
option in your installation options module (using the IDERROR installation option).
LOADPLUS was shipped with a default value of DISCARD for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
DISCARD
If you specify IDERROR DISCARD, LOADPLUS discards any generated identity
column values that are outside the range that is defined on the column.
FAIL
If you specify IDERROR FAIL, LOADPLUS terminates as soon as it encounters a
generated identity column value that is outside the range that is defined on the
column.
NOTE
For an SQLAPPLY load, LOADPLUS ignores this option and always discards generated
identity column values that are outside the range that is defined on the column.
200
Statistics options
Statistics options
The statistics options indicate whether you want LOADPLUS to update statistics in
the DASD MANAGER PLUS tables, if installed, and in the DB2 catalog.
NOTE
LOADPLUS automatically updates the DB2 real-time statistics tables. For information about
which columns are updated and the values with which they are updated, see DB2 real-time
statistics on page 116.
BMCSTATS
NO
YES
CLUSTERRATIO
STANDARD
BMC
BMCSTATS
The BMCSTATS option tells LOADPLUS whether to save the BMC Software statistics
that it generates to the DASD MANAGER PLUS database tables.
NO
BMCSTATS NO, which is the default, tells LOADPLUS to not save the BMC Software
statistics.
YES
If you specify BMCSTATS YES, LOADPLUS saves the BMC Software statistics in the
DASD MANAGER PLUS tables. This option requires that you have the BMC
Software DASD MANAGER PLUS product installed.
Restrictions: LOADPLUS does not update the BMC Software statistics tables under
the following circumstances:
s
When you specify LOAD RESUME YES, LOADPLUS ignores this option.
For an SQLAPPLY load, LOADPLUS ignores this option and issues message
BMC50109I.
The maximum length of object and entity names that the BMCSTATS utility
supports depends on the version of DASD MANAGER PLUS that you are running.
If the name of any of the participating objects or entities exceeds this maximum,
LOADPLUS does not update the DASD MANAGER PLUS tables. In that case,
LOADPLUS changes BMCSTATS YES to BMCSTATS NO, issues message
BMC50138I with reason NAME TOO LONG FOR DASD MANAGER RELEASE, and
continues processing. For information about supported name lengths, see the
DASD MANAGER PLUS for DB2 Reference Manual.
Chapter 3
201
Statistics options
When you specify LOAD REPLACE with INTO PART and you restart the job,
LOADPLUS cannot gather statistics and issues message BMC50503I.
For any columns that have a FIELDPROC defined, LOADPLUS gathers statistics
for the encoded values from the FIELDPROC. LOADPLUS does not gather
statistics for column values that are stored in SYSIBM.SYSFIELDS.
For multi-column keys, LOADPLUS uses only the first column to update statistics
in the DASD MANAGER PLUS tables.
CLUSTERRATIO
This option allows you to specify the method for calculating the CLUSTERRATIO
value that is updated in the SYSIBM.SYSINDEXES table of the DB2 catalog when you
specify UPDATEDB2STATS YES.
STANDARD
CLUSTERRATIO STANDARD, which is the default, tells LOADPLUS to use the DB2
CLUSTERRATIO value.
BMC
If you specify CLUSTERRATIO BMC, LOADPLUS uses its internal method of
calculating the CLUSTERRATIO value. This method takes into account the
SYSIBM.SYSINDEXPART NEAROFFPOS and FAROFFPOS values, particularly for
nonunique indexes, and the ordering of the row IDs for a particular key value. In
general, the higher the NEAROFFPOS and FAROFFPOS values, the lower the cluster
ratio.
202
Statistics options
UPDATEDB2STATS
NO
YES
UPDATEDB2STATS
UPDATEDB2STATS tells LOADPLUS whether to update selected statistical
information in the DB2 catalog. The option updates only the DB2 catalog column
values that can be updated by means of SQL statements. These column values are the
primary values that DB2 uses to determine the access paths that the DB2 optimizer
selects during BIND processing.
NO
If you specify UPDATEDB2STATS NO, which is the default, LOADPLUS does not
update the statistics in the DB2 catalog.
YES
If you specify UPDATEDB2STATS YES, LOADPLUS updates statistics in the DB2
catalog. The columns that LOADPLUS updates depend on the type of load. Table 36
on page 204 provides specific information about the tables and statistics that the
UPDATEDB2STATS option updates, according to the type of load.
For multi-column keys, LOADPLUS uses only the first column to update statistics in
the SYSIBM.SYSCOLUMNS table. If the cardinality for the first key column changes
dramatically, run the RUNSTATS utility to ensure that the DB2 optimizer selects the
appropriate path.
Restrictions: LOADPLUS does not update statistics in the DB2 catalog under the
following circumstances. If you encounter these circumstances, BMC Software
recommends that you run the RUNSTATS utility to update statistics in the DB2
catalog.
s
When you specify LOAD RESUME YES, LOADPLUS does not update the DB2
catalog and, therefore, ignores this option.
For an SQLAPPLY load, LOADPLUS ignores this option and issues message
BMC50109I.
LOADPLUS does not gather statistics for column values that are stored in the
catalog tables SYSIBM.SYSFIELDS, SYSIBM.SYSCOLDIST, and
SYSIBM.SYSCOLDISTSTATS. LOADPLUS also does not currently gather statistics
for the catalog tables that were new in DB2 version 7 or later.
When you specify LOAD REPLACE with INTO PART and you restart the job,
LOADPLUS cannot gather statistics and issues message BMC50503I.
Chapter 3
203
Statistics options
Table 36
Partitioned table
space, INTO PART
specified
Partitioned table
space, INTO PART not
specified
SYSIBM.SYSTABLESPACE:
NACTIVE
STATSTIME
NACTIVEF
updateda
never updated
updateda
SYSIBM.SYSTABLES:
CARDb
CARDFb
NPAGES
NPAGESF
PCTPAGES
PCTROWCOMP
STATSTIME
updateda
never updated
updateda
SYSIBM.SYSINDEXES:
CLUSTERED
FIRSTKEYCARDb
FIRSTKEYCARDFb
FULLKEYCARDb
FULLKEYCARDFb
NLEAF
NLEVELS
CLUSTERRATIO
STATSTIME
CLUSTERRATIOF
updated for
participating indexesa
updated for
participating
nonclustering indexes
onlya
updated for
participating indexesa
SYSIBM.SYSCOLUMNS:
(first key column only)
COLCARDb
COLCARDFb
HIGH2KEYc
LOW2KEYc
STATSTIME
updated for
participating indexesa
updated for
participating
nonclustering indexes
onlya
updated for
participating indexesa
SYSIBM.SYSTABSTATS:
CARD
NPAGES
PCTPAGES
NACTIVE
PCTROWCOMP
STATSTIME
CARDF
not applicable
updateda
updateda
204
Statistics options
Table 36
Partitioned table
space, INTO PART
specified
Partitioned table
space, INTO PART not
specified
SYSIBM.SYSINDEXSTATS:
FIRSTKEYCARD
FULLKEYCARD
NLEAF
NLEVELS
CLUSTERRATIO
KEYCOUNT
STATSTIME
FIRSTKEYCARDF
FULLKEYCARDF
KEYCOUNTF
CLUSTERRATIOF
not applicable
updated for
participating indexesa
updated for
participating indexesa
SYSIBM.SYSCOLSTATS:
(first key column only)
HIGHKEYc
HIGH2KEYc
LOWKEYc
LOW2KEYc
STATSTIME
not applicable
updated for
participating indexesa
updated for
participating indexesa
LOADPLUS sets the value of this statistic to -1 when the table space that is involved in the load is LARGE
(either by definition or default) or defined with DSSIZE.
For DB2 version 8, LOADPLUS updates only the first eight bytes of this column.
Chapter 3
205
Copy options
Copy options
The copy options indicate whether LOADPLUS is to create a copy of the table space,
and, if so, what type of copy. Additional options control other aspects of the copy
process, including the ability to override the default ddnames of the data sets.
COPY
NO
COPYPEND
YES
NO
INLINE
NO
YES
YES
REGISTER
ALL
NONE
ddname
,
COPY
The COPY option tells LOADPLUS whether or not to produce an image copy or a
DSN1COPY of the table space.
In addition to interactions with other options (which are documented with those
options), the value that you specify can affect the following aspects of your load job:
s
s
s
NO
COPY NO, the default, tells LOADPLUS to not make a copy of the table space.
WARNING
If you specify or default to COPY NO and your installation options specify LOADCPY=NO,
LOADPLUS does not insert a LOAD LOG(NO) row into SYSIBM.SYSCOPY. This action might
render the table space unrecoverable or only partially recoverable if the full image copy that
you make after the load is not usable or if you make incremental image copies after the load
before you make a full image copy.
COPYPEND. The COPYPEND option tells LOADPLUS whether to set the COPY
pending status when it finishes the load.
Specifying the default: You can specify the default for the COPYPEND command
option in your installation options module (using the COPYPEND installation
option). LOADPLUS was shipped with a default value of YES for this option;
however, it might have been changed during installation. With the following
exception, the command option overrides the default that was established at
installation. For details, see Appendix A, LOADPLUS installation options.
206
Copy options
If the table space that you are loading is in LPL or WEPR status and you
specify this option, LOADPLUS terminates.
NO
After loading, LOADPLUS does not set the COPY pending status and completes
with a return code 0. Use this option only for static tables or tables that you can
reload if needed, because you will not be able to recover the tables.
Restriction: If the value for the COPYPEND installation option is
(YES,ENFORCE), specifying COPYPEND NO on the LOAD command causes
LOADPLUS to issue message BMC50115E and terminate processing.
NOTE
When you specify this option, LOADPLUS does not reset (remove) COPY pending
status if the table that you are loading was in COPY pending status before the load.
YES
If you specify COPY YES, LOADPLUS creates a copy of a nonpartitioned table space,
all partitions of a partitioned table space, or selected partitions of a partitioned table
space. Depending on the value of other copy options, LOADPLUS creates a standard
DB2 image copy, DSN1COPY, or inline image copy. When running under DB2
version 8, LOADPLUS creates all copies except inline image copies with system pages
at the beginning of the data set (in the same way that the IBM COPY utility creates
image copies when you specify SYSTEMPAGES YES).
For information about allocating the data sets for your copies, see Copy data sets on
page 292.
Chapter 3
207
Copy options
Restriction: If you specify this option for an SQLAPPLY load, LOADPLUS issues
message BMC50115E and terminates with return code 8.
Additional considerations: The following considerations apply to COPY YES:
s
If the table space was in COPY pending status before the load, LOADPLUS resets
(removes) COPY pending status unless you specify REGISTER NONE.
If you specify this option and the table space that you are loading is in LPL or
WEPR status, you must register at least one copy.
208
You restart your load job, with the following exception: If you are running a
two-phase load job and you specify RESTART(PHASE), LOADPLUS
generates an inline copy if the value of INLINE is YES.
Copy options
The size of the table space page is greater than 4 KB, you are loading multiple
partitions, and you have one image copy data set.
REGISTER. The REGISTER option allows you tell LOADPLUS to register some,
none, or all copies with DB2 in the SYSIBM.SYSCOPY table.
Restrictions: Note the following restrictions on registering copies:
s
Chapter 3
209
Copy options
COPYLVL
FULL
PART
COPYLVL
This option is valid only when dynamic allocation is active for copy data sets and you
are loading all partitions of a partitioned table space. COPYLVL tells LOADPLUS
how you want LOADPLUS to assign the dynamically allocated image copy data sets.
You can improve performance when loading partitioned objects by specifying
COPYLVL PART. However, if you are loading a large number of partitions, consider
specifying COPYLVL FULL to avoid encountering memory or data set allocation
restrictions. Whether the number of partitions that you have is considered a large
number of partitions depends on your environment. In the BMC Software testing
environment, a large number of partitions was a total number of copy data sets of
approximately 1500 or more (including remote and secondary copies).
Specifying the default: You can specify the default for the COPYLVL command
option in your installation options module (using the COPYLVL installation option).
LOADPLUS was shipped with a default value of FULL for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
FULL
COPYLVL FULL tells LOADPLUS to allocate a single copy data set to contain all of
the partitions being loaded.
PART
COPYLVL PART tells LOADPLUS to allocate individual copy data sets for each
partition being loaded.
Additional considerations: Note the following considerations for this option:
s
If you are loading a table space that contains more than 99 partitions, use the
COPYDDN option (page 211) to specify a ddname prefix for the copy data sets that
results in eight characters or less after LOADPLUS appends the highest partition
number. If you are also making remote copies, use the RECOVERYDDN option
(page 213) to specify a ddname prefix for the remote copy data sets that results in
eight characters or less after LOADPLUS appends the highest partition number.
For more information, see Specifying ddname prefixes on page 74.
210
If you are using a GDG name, each partition must have a different GDG base.
If you specify a tape device for the UNIT option, LOADPLUS allocates a tape unit
for each partition.
Copy options
COPYDDN
ddname1
,
ddname2
COPYDDN
COPYDDN allows you to override the default ddnames or ddname prefixes of your
local copy data sets in your installation options module. The ddnames correspond to
the data sets that receive an image copy or DSN1COPY either of the table space or of
each partition in the table space that you are loading.
If you specify ddname2 for this option, you must either allocate this data set in your
JCL or dynamic allocation must be active for both the primary and backup copy data
sets. If you specify ddname2 and dynamic allocation is active for only the primary
copy data set, LOADPLUS terminates because it expects a second copy data set.
If you are registering the copies, ddname1 will be the DB2 local primary and ddname2
will be the local backup. For information about using these data sets in LOADPLUS,
see Copy data sets on page 292.
If you use this option to override the default name in the installation options module,
you must also change the name in your JCL.
Partition-level copies: If you are making partition-level copies, specify only the
ddname prefix (no nn) in this option. If you are dynamically allocating copy data sets
(and you specify COPYLVL PART), LOADPLUS appends the partition number to the
ddname prefix. Specify a prefix that results in eight characters or less after
LOADPLUS appends the highest partition number. For more information, see
Specifying ddname prefixes on page 74.
If you are not dynamically allocating copy data sets, the ddname that you specify in
the JCL must have the partition number nn appended to this prefix. The length of nn
can be from one through seven characters, depending on the length of the prefix. The
length of the ddname with the prefix must be eight characters or less. For example, if
you are loading partition 15, you could specify ddname1 as BCOPY, and specify
BCOPY015 in your JCL.
Chapter 3
211
Copy options
Dynamic allocation: If dynamic allocation is active and you specify more than one
ddname prefix for dynamic allocation, the prefix for each ddname must be different
enough for LOADPLUS to differentiate one prefix from another. Different enough
means that these prefixes must be different and, if they are different only because one
prefix has additional trailing bytes, then these trailing bytes must contain at least one
nonnumeric byte. For example, the first set of prefixes that follow is different enough,
but the second set is not:
s
acceptable:
BMCRD
BMCRDWK
not acceptable:
BMCRD
BMCRD11
Specifying the default: You can specify the default for the COPYDDN command
option in your installation options module (using the COPYDDN installation option).
LOADPLUS was shipped with a default value of (BMCCPY,BMCCPZ) for this
option; however, it might have been changed during installation. The command
option overrides the default that was established at installation. For details, see
Appendix A, LOADPLUS installation options.
212
Copy options
RECOVERYDDN
ddname1
)
,
ddname2
RECOVERYDDN
RECOVERYDDN allows you to override the default ddnames or ddname prefixes of
your remote copy data sets in your installation options module. The ddnames
correspond to the data sets that receive a full image copy or DSN1COPY either of the
table space or of each partition in the table space that you are loading.
If you specify ddname2 for this option, you must either allocate this data set in your
JCL or dynamic allocation must be active for both the primary and backup remote
copy data sets. If you specify ddname2 and dynamic allocation is active for only the
primary copy data set, LOADPLUS terminates because it expects a second copy data
set.
If you are registering the copies, ddname1 will be the DB2 remote primary and
ddname2 will be the remote backup. For information about using these data sets in
LOADPLUS, see Copy data sets on page 292.
If you use this option to override the default name in the installation options module,
you must also change the name in your JCL.
Partition-level copies: If you are making partition-level copies, specify only the
ddname prefix (no nn) in this option. If you are dynamically allocating copy data sets
(and you specify COPYLVL PART), LOADPLUS appends the partition number to the
ddname prefix. Specify a prefix that results in eight characters or less after
LOADPLUS appends the highest partition number. For more information, see
Specifying ddname prefixes on page 74.
If you are not dynamically allocating copy data sets, the ddname that you specify in
the JCL must have the partition number nn appended to this prefix. The length of nn
can be from one through seven characters, depending on the prefix length. The
maximum length of the ddname with the prefix must be eight bytes or less. For
example, if you are loading partition 203, you could specify ddname1 as BMCRY, and
specify BMCRY203 in your JCL.
Chapter 3
213
Copy options
Dynamic allocation: If dynamic allocation is active and you specify more than one
ddname prefix for dynamic allocation, the prefix for each ddname must be different
enough for LOADPLUS to differentiate one prefix from another. Different enough
means that these prefixes must be different and, if they are different only because one
prefix has additional trailing bytes, then these trailing bytes must contain at least one
nonnumeric byte. For example, the first set of prefixes that follow is different enough,
but the second set is not:
s
acceptable:
BMCRD
BMCRDWK
not acceptable:
BMCRD
BMCRD11
Specifying the default: You can specify the default for the RECOVERYDDN
command option in your installation options module (using the RCVYDDN
installation option). LOADPLUS was shipped with a default value of
(BMCRCY,BMCRCZ) for this option; however, it might have been changed during
installation. The command option overrides the default that was established at
installation. For details, see Appendix A, LOADPLUS installation options.
214
YES
ALLTYPES
NO
SKIPFIELDS
This option tells LOADPLUS whether to allow fields in your field specifications
whose names do not match any column name of any table that is specified in an
INTO statement on a single LOAD command. These skipped fields are used as
placeholders in the input record or are used in predicates, such as NULLIF, for
conditional processing.
YES
SKIPFIELDS YES, which is the default, specifies that LOADPLUS not diagnose any
CHARACTER, VARCHAR, VARGRAPHIC, or ROWID field whose name does not
match any column name of a table that is specified in an INTO statement.
ALLTYPES. ALLTYPES specifies that LOADPLUS not diagnose any field,
regardless of type, whose name does not match any column name of a table that is
specified in an INTO statement.
NO
SKIPFIELDS NO tells LOADPLUS to fail if any field name that is specified in an
INTO statement does not match a column name of the table that you are loading.
Specifying this option prevents errors in which misspelled field names in the field
specification cause LOADPLUS to load nulls (if the column is nullable) or default
values (if the column is defined as NOT NULL WITH DEFAULT).
Chapter 3
215
UNIQUEINTO
NO
YES
UNIQUEINTO
The UNIQUEINTO option specifies whether each record matches only one INTO
specification when you include multiple INTO statements on your LOAD command.
For information about how to enhance LOADPLUS performance when using this
option, see INTO and UNIQUEINTO command options on page 469.
NO
UNIQUEINTO NO, which is the default, tells LOADPLUS to try to match each input
record to each INTO specification.
YES
UNIQUEINTO YES tells LOADPLUS that, once an INTO specification selects an
input record, LOADPLUS should not test that record against other INTO
specifications.
Using UNIQUEINTO YES where appropriate can dramatically reduce execution
times for multiple partition loads and multiple table loads if each input record
matches at most one INTO specification.
216
page 217
table_name
INTO TABLE
creator .
page 219
REPLACE
PART
,
integer
: integer
REPLACE
PREFORMAT
KEEPDICTIONARY
YES
NO
YES
NO
page 230
page 222
WHEN
condition block
TABLE = obid
,
field_specification
INTO TABLE
The INTO TABLE option names a table to be loaded. If you do not qualify the table
name with the creator, LOADPLUS uses the creator name that was established when
LOADPLUS connected to DB2.
Requirements: Note the following requirements when specifying INTO TABLE:
s
The table name that you specify (or each part of the name, if specifying a two-part
name) must be 30 bytes or less.
If the table has a primary key, its primary index must exist. If the table uses a
VALIDPROC, an EDITPROC, or both, you must include the routines in your
LINKLIB, JOBLIB, or STEPLIB.
You must specify at least one INTO TABLE option for each table that you load. All
tables that you specify must reside in the same table space.
Additional guidelines: Use the following guidelines to determine how many INTO
statements to use for your job and when to use the PART option:
s
If you are replacing data in multiple tables in a segmented table space, specify a
separate INTO statement for each table as shown in the following example:
LOAD RESUME YES
INTO TABLE table1 REPLACE
INTO TABLE table2 REPLACE
Chapter 3
217
For optimal performance in either of the following circumstances, specify only one
INTO statement without the PART option. The resulting clustering key determines
the partition into which the record is loaded, so the PART option is not necessary.
if you specify LOAD REPLACE
if you specify LOAD RESUME YES and are loading the majority of partitions in
a partitioned table space
If you specify LOAD RESUME YES and are loading only a few partitions, specify
all partitions on one INTO statement (for example, INTO PART 1: 3,5). This
specification eliminates unloading and loading all partitions of the clustering index
and can save considerable time.
Avoid specifying a separate INTO statement with PART option for each partition.
For DB2 subsystems that are defined as MIXED=YES, LOADPLUS supports the
use of DBCS characters. You can use DBCS characters in DB2 identifiers, such as
table or column names, or in constants and field names specified in your INTO
TABLE option.
NOTE
LOADPLUS does not currently support running an SQLAPPLY load job on a DB2
subsystem that is defined as MIXED=YES.
For information about how to enhance LOADPLUS performance when using this
option, see INTO and UNIQUEINTO command options on page 469.
REPLACE
The REPLACE option tells LOADPLUS to replace the data in the specified table of a
segmented table space. You can use this option for multiple tables in a segmented
table space by specifying a separate INTO statement for each table. To replace data in
all tables of a table space, BMC Software recommends that you specify LOAD
REPLACE, as described in REPLACE on page 141.
Restrictions: Note the following restrictions when you specify TABLE name
REPLACE:
s
218
This option is valid only for segmented table spaces. If you are loading a simple or
partitioned table space, LOADPLUS issues message BMC51589E and terminates
with a return code 8.
Currently, if you specify REPLACE for one table, you must specify REPLACE for
all tables that are participating in the load. In other words, in the same load job you
cannot replace data in some tables and add to existing data (resume) in other
tables.
LOADPLUS does not update indexes for this type of load. If you specify INDEX
UPDATE, LOADPLUS changes this option to INDEX BUILD.
LOADPLUS terminates if you specify TABLE name REPLACE when loading a base
table that is defined with LOB columns (BLOB, CLOB, or DBCLOB).
LOADPLUS does not update the DB2 real-time statistics tables for this type of load
job.
PART
The PART option specifies the partition number of a partitioned table space that you
want to load. LOADPLUS loads only data within the limit key range of the specified
partition. You can specify one, some, or all of the partitions either individually or by
specifying a range of partitions. If you do not specify PART, LOADPLUS loads all
partitions of the table space.
For guidelines about when to use the PART option, see the preceding INTO TABLE
discussion.
Specifying partition numbers: Note the following information about how to specify
partition numbers with the PART option:
s
Individual partitions in a list can be in any order (but partitions within a range
must be in ascending order).
If you specify a partition number more than once, LOADPLUS ignores any
occurrence after the first.
If you specify multiple partition numbers on one INTO TABLE block, LOADPLUS
allows only one INTO TABLE block.
Chapter 3
219
If data exists in partitions that are not specified on an INTO TABLE option, specify
RESUME YES to save that data. Otherwise, processing terminates.
NOTE
Whether the number of compressed partitions that you have is considered to be a large
number depends on your environment. In the BMC Software testing environment, a large
number of compressed partitions was considered to be approximately 500 or more
compressed partitions.
220
Chapter 3
221
WHEN
condition block
TABLE = obid
AND condition block
condition
AND
OR
predicate block
NOT
(condition block)
WHEN
The WHEN keyword is valid with INTO TABLE options. To see where the WHEN
syntax fits in the INTO TABLE option, see the diagram on page 217.
You can combine the WHEN keyword with a condition that allows you to specify the
condition that must be true for LOADPLUS to select a row. You can also use the
WHEN keyword with a TABLE=obid option for translating the input table OBID in
the input record. This section describes the TABLE=obid specification first and follows
with a complete discussion of conditions and predicates.
The value of the RULES installation option designated at installation affects the ways
in which WHEN and data conversion, including NULLIF and DEFAULTIF
processing, work:
s
Therefore, the same LOAD command can produce different results, depending on
which option was specified at LOADPLUS installation. See Appendix E, RULES
installation option examples for details and examples.
For information about how to enhance LOADPLUS performance when using the
WHEN option, see RULES installation option on page 474.
TABLE=obid
If you load data by using the FORMAT UNLOAD, FORMAT BMC, or FORMAT
BMCUNLOAD option, you can specify the TABLE=obid option. LOADPLUS loads
only those records that match the specified table OBID.
Table 37 on page 223 describes considerations for using this option with each
FORMAT option.
222
Table 37
TABLE=obid option
FORMAT option
Considerations
FORMAT UNLOAD Specify TABLE=obid to translate the input table OBID in the input record when you
are loading data from REORG UNLOAD ONLY output. Specify the OBID as a
decimal number.
Note: One application for this option with FORMAT UNLOAD is to load data if the
table OBID has changed. This situation might occur, for example, if you
s perform a REORG UNLOAD ONLY
s then issue a DROP TABLE command
s then issue an SQL CREATE TABLE statement (using the same column definitions)
To use this option under these circumstances, specify the tables old OBID in
TABLE=obid.
FORMAT BMC
Specify TABLE=obid to translate the input table OBID in the input record when you
are loading data from a REORG PLUS SYSARC data set. Specify the OBID as a
decimal number.
FORMAT
BMCUNLOAD
You must include TABLE=obid when you specify FORMAT BMCUNLOAD (which
enables you to load data from UNLOAD PLUS). Specify the OBID as a decimal
number.
In this case, the OBID is the object identifier that UNLOAD PLUS assigned when
unloading the data, not the tables DB2 object identifier. The LOAD control cards that
UNLOAD PLUS generated contain this OBID. For an example, see page 430.
condition block
A condition is an expression that combines predicates. Predicates (see page 224) are
comparisons of a field name, column name, or (start:end) field to a constant. You can
use conditions and predicates with the WHEN, NULLIF, and DEFAULTIF options.
A condition uses the parenthetical operators ( ) and the operators AND, OR, and
NOT. LOADPLUS evaluates conditions and predicates left to right, with the
following operator precedence:
s
s
s
s
()
NOT
AND
OR
The WHEN clause must specify (1:4), not a field or column name.
The comparison operator must be =.
Chapter 3
223
predicate (RULES=STANDARD)
field_name
column_name
(start
:end
constant
=
<>
=
IN
NOT IN
,
constant
predicate (RULES=BMC)
field_name
column_name
(start
:end
constant
<
<=
<>
=
=
>=
>
IN
NOT IN
,
constant
predicates
Predicates are comparisons of a field name, column name, or (start:end) field to a
constant, as shown in the following examples. LOADPLUS uses predicates as part of
WHEN, NULLIF, and DEFAULTIF syntax. The preceding diagram compares
predicate operation when the RULES installation option is set to STANDARD or to
BMC.
CITY='AUSTIN'
(1:6)=X'00000000000C'
INT_COL > 5
Table 38 defines how we use the terms field_name and column_name when describing
the left side of a predicate. The sections that follow this table describe these
specifications in more detail.
Table 38
Name
Description
field_name
column_name
224
field_name
When you specify a name on your predicate and no column of the same name exists
in the table that you are loading, LOADPLUS assumes that you have specified a field
name. This field name must be included in your field specification and the length of
the field must be less than or equal to 255. (For more information about field
specifications, see page 230.)
Restrictions: Field names in predicates have the following restrictions:
s
When loading Unicode data or loading into Unicode objects, you cannot specify a
field name. You must specify (start:end).
For restrictions on the constants that you can specify with a field name in a
predicate, see Table 40 on page 227.
column_name
If you specify a column name, it must be a column of the named table and the length
of the column must be less than or equal to 255. Column names must have
corresponding field specifications unless you also specify FORMAT BMC, FORMAT
UNLOAD, or FORMAT BMCLOAD. LOADPLUS accepts column names that include
DBCS characters.
Restrictions: Column names in predicates have the following restrictions:
s
When loading Unicode data or loading into Unicode objects, you cannot specify a
column name. You must specify (start:end).
When RULES=STANDARD, the constants that you can specify with a column
name in a predicate are restricted as described in Table 40 on page 227.
(start:end)
If you specify (start:end), the string defined by (start:end) must be contained entirely in
the input record. The length of the comparison, that is, the length indicated by
(start:end), must not be greater than 255 or less than the length of the string. If you do
not specify the ending position, LOADPLUS uses the length of the constant for the
comparison.
Chapter 3
225
When loading Unicode data or loading into Unicode objects, you must specify the
following positions, depending on where you are using the predicate:
For the WHEN clause, you must specify (1:4).
For NULLIF, you must specify a value for end that is either equal to start or
start + 1 (signifying a length of one or two).
For restrictions on the constants that you can specify with (start:end) in a predicate,
see Table 40 on page 227.
comparison operators
Use comparison operators in LOADPLUS predicates to indicate how you want
LOADPLUS to compare the left and right sides of predicates.
Comparison rules govern the availability of operators and how processing works.
Two sets of comparison rules are available with the RULES installation
option: STANDARD and BMC. Each set of rules permits different comparison
operators as described in Table 39. For more information about the RULES option, see
Appendix E, RULES installation option examples.
Table 39
Comparison operators
RULES=
STANDARD
Operators
RULES=
BMC
<
less than
<=
equal
<>
not equal
not equal
>=
>
greater than
IN
equal to any
NOT IN
Restriction: When loading Unicode data or loading into Unicode objects, you can
specify only the = comparison operator.
226
constant
The right side of a predicate is a constant. Two different sets of rules apply to
constants based on the value of the RULES option that is in effect.
NOTE
The RULES installation option affects the ways in which WHEN, NULLIF, and DEFAULTIF
work. See Appendix E, RULES installation option examples for details.
Table 40
RULES value
Left side of
predicatea
Constant type
STANDARD
field_name
Requirements
s
s
other
(start:end)
character string
not supported
s
s
hex string
s
s
other
column_name
not supported
s
s
other
not supported
Chapter 3
227
Table 40
RULES value
Left side of
predicatea
Constant type
BMC
field_name
Requirements
hex string
other
(start:end)
character string
s
s
s
hex string
s
s
s
other
integer
decimal
floating point
column_name
not supported
not supported
character string
s
s
hex string
s
s
s
s
s
s
s
graphic string
NULL
other
a
not supported
See Table 38 on page 224 for a description of the difference between field name and column name
specifications.
228
POSITION (start
:end
VALUE
constant
CURRENT DATE
CURRENT TIME
CURRENT TIMESTAMP
CHAR
MIXED
TRIM
(length)
TRUNCATE
VARCHAR
MIXED
GRAPHIC
EXTERNAL
(length)
VARGRAPHIC
SMALLINT
INTEGER
ROUND
(length,scale)
EXTERNAL
DECIMAL
PACKED
ZONED
EXTERNAL
FLOAT
EXTERNAL
DATE
EXTERNAL
TIMESTAMP
(length)
-format
CENTURY(ccyy,ccyy)
TIME
EXTERNAL
(length)
-format
ROWID
EXIT program_name
PARM (
NULLIF
DEFAULTIF
predicate block
ERROR
predicate block
ERROR
,
constant
(length)
)
VALUE
constant
CURRENT DATE
CURRENT TIME
CURRENT TIMESTAMP
Chapter 3
229
field_specification
NOTE
To see how the field specification syntax fits in the INTO TABLE option, see the diagram on
page 217.
The field specification options determine the format of the input data and include the
following specifications:
s
s
s
s
field name, which is usually a column name in the table that you specify
starting position of the field value in the input record
data type, data format, and data length of the field
other processing options
Condition
Requirement
table contains columns defined as NOT Include either no field specification at all (for any of the columns) or
NULL without a DEFAULT defined
include field specifications for all of the NOT NULL columns that
do not have a DEFAULT defined.
FORMAT UNLOAD
FORMAT BMC
FORMAT BMCUNLOAD
FORMAT CSV
Include a field specification for each input field in the order that
the input field occurs in your input file.
The exception to this requirement occurs when you do not want
to load the last field or fields in the CSV file. LOADPLUS
ignores any extra input fields at the end of your input file.
Note: To not load a field other than the last field in the CSV file,
include a placeholder field specification for that input field.
230
Table 41
Condition
Requirement
field_name
In your field specification, you specify a field name for one of the following purposes:
s
s
s
to identify the data that you want to load into a column of the table
as a placeholder in the input record
to identify a field that you want to use with a predicate of a WHEN, NULLIF, or
DEFAULTIF option
If the column corresponding to the named field uses a FIELDPROC, the FIELDPROC
must be included in your LINKLIST, JOBLIB, or STEPLIB.
Requirements: The field name specification has the following requirements:
s
If you use the named field to specify the data that you want to load into a column
and you specify SKIPFIELDS NO, the field name must match the corresponding
column name.
If you use the named field only in the predicate of a WHEN, NULLIF, or
DEFAULTIF option (and do not want to load data from that field) or only as a
placeholder in the input record, the following requirements apply:
You must specify SKIPFIELDS YES.
The field name cannot be the name of a column in the table.
The data type must be CHAR, VARCHAR, VARGRAPHIC, or ROWID unless
you specify SKIPFIELDS YES ALLTYPES (in which case the field can be any
type).
You must supply the length of the field, either with the POSITION(start:end)
option or with the length option. The length must be less than or equal to 255.
If the data type of the field is CHAR, you must explicitly specify a length, even if
you use the POSITION option.
If you use this field specification as a placeholder and you specify FORMAT
CSV, you do not need to supply the length of the field. LOADPLUS ignores
length specifications with FORMAT CSV.
Chapter 3
231
POSITION(start:end). This option defines the start (and end) position of the named
field. You can abbreviate POSITION to POS. If you specify POSITION, it must
appear before the data type on the field specification.
The variables start and end designate the locations of the first and last positions of
the field. The first position of the record is column one. The start and end positions
must be within the bounds of the input record.
Field length: The end position determines the length of the field, calculated as
(end start + 1). If you specify (start:end) on the POSITION option and you specify
the data type, the length that is derived from (start:end) must match the explicit or
implicit length of the input data type. If there is a conflict between these lengths,
LOADPLUS issues message BMC50124E and the job terminates with return code 8.
If you do not specify POSITION or if you do not specify end on the POSITION
option when you specify the data type, LOADPLUS uses the field length to
determine the length of the input value. BMC Software recommends that, when
you specify the data type, you always specify the length or implied length from the
associated column rather than specify end. To determine the field length from the
data type length, see Table 52 on page 250.
CSV data: When loading CSV data, LOADPLUS currently starts from the first
position of each field, ignoring any POSITION (start:end) specification. However,
BMC Software recommends that you specify POSITION(*).
In the following descriptions, n and m are integers.
start
This option identifies the starting position of the field. Table 42 lists the valid
values for start.
Table 42
Value
Description
(default) a relative position one column after the end of the previous field
*+n
end
This option identifies the ending position of the field. Table 43 on page 233 lists
the valid values for end.
232
Table 43
Value
Description
(default) a relative position one column after the end of the current field
The length of the field with an end position * and a start position * is 1.
*+m
VALUE. The VALUE option tells LOADPLUS to load a constant value, CURRENT
DATE, CURRENT TIME, or CURRENT TIMESTAMP for the column or field.
Restrictions: Note the following restrictions when specifying the VALUE option:
s
You can specify VALUE for a column or field that is defined as any type except
ROWID. For ROWID, LOADPLUS uses a unique, generated value as the
default.
This option is not valid when loading Unicode data or loading into Unicode
objects. If you specify VALUE in this case, LOADPLUS issues message
BMC50357S and terminates.
NOTE
You can also use the VALUE option with DEFAULTIF, which is discussed on page 238.
constant
This value supplies a constant value for the specified column or field. Table 44
on page 234 describes the requirements for specifying a constant with the
VALUE option.
Chapter 3
233
Table 44
Data type
Requirements
any
You can use a hex string. Hex strings have the following requirements:
s
s
The length of the string must match the length of the columns internal data. For a
VARCHAR column, the length must be the same length as the maximum length of the
column.
For a VARCHAR column, the string must include the two-byte hex length of the data.
The string must include a preceding null indicator if the column is nullable. For a
VARCHAR column, the length indicator must precede the null indicator.
numeric
integer
decimal
hex string
See the first row in this table for hex string requirements.
NULL
You can specify NULL only if the column is nullable.
character string
A character string must be enclosed in single quotes.
hex string
See the first row in this table for hex string requirements.
NULL
You can specify NULL only if the column is nullable.
234
Table 44
Data type
Requirements
graphic
graphic string
hex string
See the first row in this table for hex string requirements.
NULL
You can specify NULL only if the column is nullable.
date, time,
or
timestamp
character string
A character string must be enclosed in single quotes.
hex string
See the first row in this table for hex string requirements.
NULL
You can specify NULL only if the column is nullable.
CURRENT DATE
CURRENT TIME
CURRENT TIMESTAMP
These options specify the current system date, time, and timestamp. The column
to which you are loading this value must be a DATE, TIME, or TIMESTAMP
column, respectively.
All CURRENT DATE, TIME, or TIMESTAMP column values for a single row
are derived from the same system clock value. For each row, LOADPLUS
fetches a new system clock value.
For a two-phase load, LOADPLUS assigns the CURRENT DATE, TIME, or
TIMESTAMP value to the column during the PRELOAD phase, not when
actually loading the row during the LOAD phase.
data_type. The data type option specifies the data type and, in most cases, data
format and data length of the input value. For details regarding valid data types
and information about using these data types, see the discussion that starts on
page 239. Table 45 on page 236 describes how the data type specification operates.
Chapter 3
235
Table 45
Operation or
condition
Details
defaults
For a field with a corresponding column, if you do not specify a data type,
LOADPLUS uses the following defaults:
s The default data type is the DB2 data type of the column.
s The default data format is the internal format of that data type. However, for
DATE, TIME, and TIMESTAMP columns, the default date format is the
EXTERNAL format.
s The default length (or the precision and scale in the case of a DECIMAL column) is
the columns length (or precision and scale).
For a field with no corresponding column, the default data type is CHARACTER(1).
data conversion
If the field data type, format, and length are not identical to the column data type,
format (always internal), and length, LOADPLUS performs a data conversion. See
Table 51 on page 248 for valid conversions.
If the corresponding column is defined with a FIELDPROC, LOADPLUS applies the
FIELDPROC to the input value after any data conversions.
field length
You can specify a length along with the data type for most data types. In some cases,
you must specify a length or POSITION(start:end) to indicate the length of the input
field. In other cases, LOADPLUS uses the default length, or you cannot change the
length. See Table 52 on page 250 for the default lengths of the different data types.
additional
processing options
In addition to the data type, format, and length, certain data types allow additional
processing options such as TRIM, TRUNCATE, and ROUND. You can find
descriptions of these options with the applicable data type descriptions, beginning on
page 239.
CSV data
For CSV input data, LOADPLUS ignores any data type specification other than a
DATE, TIME, or TIMESTAMP external type.
236
When loading Unicode data or loading into Unicode objects, the predicate of the
NULLIF statement has the following restrictions:
The NULLIF statement must specify (start:end), not a field or column name.
The end value must be equal to either the start value or start + 1 (signifying a
length of one or two).
The comparison operator must be =.
You can use NULLIF only on a field specification that corresponds to a column.
If you specify multiple NULLIF options, LOADPLUS uses the first matching
condition.
This option is not valid when loading Unicode data or loading into Unicode
objects. If you specify DEFAULTIF in this case, LOADPLUS issues message
BMC50357S and terminates.
Chapter 3
237
NOTE
You cannot obtain a null value with DEFAULTIF ERROR. See ERROR on page 238 for
more details.
NOTE
Use of DEFAULTIF ERROR on a nullable column never results in a null value. The
column always defaults to the columns data type. This is different than the IBM DB2
LOAD utility, for which using DEFAULTIF ERROR on a nullable column always results
in a null value. If you want a null value for a nullable column when a conversion error
occurs, use the NULLIF option.
VALUE
VALUE specifies the default value that you want LOADPLUS to use. The
default DEFAULTIF VALUE is the same as those described by the DB2 SQL
CREATE TABLE statement. The syntax for this value option is the same as the
syntax for VALUE as it is used for specifying a constant value for a field or
column. For details about using this keyword, see VALUE on page 233.
238
Data types
Data types
You can specify the following data types. For more information about data types, see
the sections that Table 46 describes.
Table 46
Information
See reference
CHAR
CHAR defines a fixed-length character field. You can also specify CHAR as
CHARACTER.
MIXED
MIXED defines a mixed character data field.
(length)
Length indicates the number of single-byte characters in this field.
TRIM
TRIM truncates trailing blanks from the input string value before LOADPLUS
attempts to assign the value to a CHAR or VARCHAR column. If the string is still too
long, a conversion error occurs. LOADPLUS performs TRIM before TRUNCATE.
TRIM is useful when you are converting from a CHAR field to a VARCHAR column
or for converting from a CHAR field to a shorter CHAR column and you want to
detect nonblank data beyond position n.
TRUNCATE
TRUNCATE truncates a string if it is longer than the column length (after trimming).
LOADPLUS performs TRUNCATE after TRIM.
VARCHAR
VARCHAR defines a varying-length character string.
MIXED
MIXED defines a mixed character data field.
Chapter 3
239
Data types
TRIM
TRIM truncates trailing blanks from the input string value before LOADPLUS
attempts to assign the value to a CHAR or VARCHAR column. If the string is still too
long, a conversion error occurs. LOADPLUS performs TRIM before TRUNCATE.
TRIM is useful when converting from a VARCHAR field to a CHAR(n) or
VARCHAR(n) column and you want to detect nonblank data beyond position n.
TRUNCATE
TRUNCATE truncates a string if it is longer than the columns maximum length (after
trimming). LOADPLUS performs TRUNCATE after TRIM.
GRAPHIC
GRAPHIC defines a fixed-length graphic field. Without the EXTERNAL specification,
GRAPHIC indicates an internal graphic value without shift-out and shift-in
characters.
GRAPHIC EXTERNAL
GRAPHIC EXTERNAL indicates an external graphic value with shift-out and shift-in
characters.
(length)
Length indicates the number of double-byte characters. For EXTERNAL, this length
does not include the two shift characters.
VARGRAPHIC
VARGRAPHIC indicates a varying-length graphic string. A two-byte length field
precedes the string. This length field contains the length of the graphic string. The
length is the number of double-byte characters and does not include the two length
bytes.
SMALLINT
SMALLINT indicates a two-byte internal integer value. For more information, see
Additional numeric fields considerations on page 254.
(length,scale)
Length, if specified, must be 2. You can specify scale with or without specifying a
length. Specifying scale multiplies or divides the number by a power of 10. For more
information about scale, see page 254.
ROUND
ROUND directs LOADPLUS to round the value, if necessary, during conversion. If
you do not specify ROUND, LOADPLUS truncates any digits that are not needed for
precision.
240
Data types
INTEGER
INTEGER defines an integer field. You can abbreviate INTEGER to INT. Without the
EXTERNAL specification, this data type description indicates a four-byte internal
integer value. For more information, see Additional numeric fields considerations
on page 254.
INTEGER EXTERNAL
INTEGER EXTERNAL indicates a character string that contains an EBCDIC integer
constant.
(length,scale)
Length, if specified, must be 4. You can specify scale with or without specifying a
length. Specifying scale multiplies or divides the number by a power of 10. For more
information about scale, see page 254.
ROUND
ROUND directs LOADPLUS to round the value, if necessary, during conversion. If
you do not specify ROUND, LOADPLUS truncates any digits that are not needed for
precision.
DECIMAL
DECIMAL defines a decimal field. You can abbreviate DECIMAL to DEC. DECIMAL
without an additional keyword functions the same as DECIMAL PACKED. For more
information, see Additional numeric fields considerations on page 254.
DECIMAL PACKED
DECIMAL PACKED, which is the default, indicates that the input value is packed
decimal.
DECIMAL ZONED
DECIMAL ZONED indicates that the input value is zoned decimal.
DECIMAL EXTERNAL
DECIMAL EXTERNAL indicates a character string that contains an EBCDIC decimal
constant. If the value includes a decimal point, it overrides the scale specification.
(length,scale)
You can specify one or both of these options. Length (or precision) is the total number
of digits and scale is the number of digits in the fractional part of the number. For
more information about scale, see page 254.
ROUND
ROUND directs LOADPLUS to round the value, if necessary, during conversion. If
you do not specify ROUND, LOADPLUS truncates any digits that are not needed for
precision.
Chapter 3
241
Data types
FLOAT
FLOAT defines a floating-point numeric field. Without the EXTERNAL keyword, this
data type description indicates a four- or eight-byte internal floating-point number.
For more information, see Additional numeric fields considerations on page 254.
For examples of data type conversions using FLOAT, see Table 55 on page 252.
NOTE
LOADPLUS does not support IEEE Binary Floating Point (BFP) format.
FLOAT EXTERNAL
FLOAT EXTERNAL indicates a character string that contains an EBCDIC
floating-point constant.
(length,scale)
Length, if specified, must be 1 through 21 for a four-byte internal floating-point
number. For an eight-byte internal floating-point number, length must be 22 through
53. You can specify scale with or without specifying a length. Specifying scale
multiplies or divides the number by a power of 10. For more information about scale,
see page 254.
ROUND
ROUND directs LOADPLUS to round the value, if necessary, during conversion. If
you do not specify ROUND, LOADPLUS truncates any digits that are not needed for
precision.
DATE
DATE defines a date field. If you specify this option without EXTERNAL,
LOADPLUS does not verify input data.
When loading CSV data (FORMAT CSV), you must specify an EXTERNAL format
with your field specification.
DATE
DATE indicates a DB2 internal date value.
DATE EXTERNAL(length)
DATE EXTERNAL indicates a DB2 date string value.
DATE-format EXTERNAL(length)
This data type description indicates an external date value. In addition, it indicates
the format of the external date value. See Table 48 on page 247 for information about
the available date formats.
242
Data types
When you specify DATE-format EXTERNAL, LOADPLUS loads the current date
when the input data equates to spaces or zeros unless the column has a default value
of null. If the column has a default value of null, LOADPLUS loads nulls instead of
the current date when the input data equates to spaces or zeros.
CENTURY(ccyy,ccyy). CENTURY specifies the 100-year range that determines the
century for DATE external formats that contain two-digit year values. The first
four-digit year value must be less than the second four-digit year. You must
specify both values and these values must span 100 years.
Any two-digit year in the input data that lies between the first yy specification and
99 is prefixed with the first cc value to create a four-digit year. Any two-digit year
in the input data that lies between 00 and the second yy specification is prefixed
with the second cc value to create a four-digit year.
For example, if you specify CENTURY(1950,2049), LOADPLUS places 19 in front
of each two-digit year with a value 50 through 99, and places 20 in front of each
two-digit year with a value 00 through 49. The date 99/12/31 becomes 1999/12/31
and 00/12/31 becomes 2000/12/31.
For information about specifying CENTURY globally on the LOAD command, see
page 198. For information about the CENTURY installation option, see
Appendix A, LOADPLUS installation options.
TIMESTAMP
TIMESTAMP defines a timestamp field. If you specify this option without
EXTERNAL, LOADPLUS does not verify input data.
When loading CSV data (FORMAT CSV), you must specify an EXTERNAL format
with your field specification.
TIMESTAMP
TIMESTAMP indicates a DB2 internal timestamp value.
TIMESTAMP EXTERNAL(length)
TIMESTAMP EXTERNAL indicates a DB2 timestamp string value.
TIMESTAMP-format EXTERNAL(length)
This data type description indicates an external timestamp value. In addition, it
indicates the format of the external timestamp value. See Table 50 on page 247 for
information about the available timestamp formats.
When you specify TIMESTAMP-format EXTERNAL, LOADPLUS loads the current
timestamp when the input data equates to spaces or zeros unless the column has a
default value of null. If the column has a default value of null, LOADPLUS loads
nulls instead of the current date when the input data equates to spaces or zeros.
Chapter 3
243
Data types
TIME
TIME defines a time field. If you specify this option without EXTERNAL,
LOADPLUS does not verify input data.
When loading CSV data (FORMAT CSV), you must specify an EXTERNAL format
with your field specification.
TIME
TIME indicates a DB2 internal time value.
TIME EXTERNAL(length)
TIME EXTERNAL indicates a DB2 time string value.
TIME-format EXTERNAL(length)
This data type description indicates an external time value. In addition, it indicates
the format of the external time value. See Table 49 on page 247 for information about
the available time formats.
When you specify TIME-format EXTERNAL(length), LOADPLUS loads the current
time when the input data equates to spaces or zeros unless the column has a default
value of null. If the column has a default value of null, LOADPLUS loads nulls
instead of the current date when the input data equates to spaces or zeros.
244
Data types
ROWID
ROWID defines a field that contains generated row IDs. This field must be in internal
formata varying length hex string. The first two bytes of this hex string contain the
length of the ROWID string. The length is the number of bytes and does not include
the two length bytes.
The following information describes how LOADPLUS processes ROWID fields:
s
With the exception described in the restrictions, if the ROWID field is defined as
GENERATED ALWAYS, LOADPLUS ignores the VALUE option in the field
specification and generates its own unique row identifiers.
NOTE
If you are using LOADPLUS in a CHANGE MANAGER worklist environment, see the
CHANGE MANAGER documentation for more information about loading ROWID columns.
EXIT
EXIT allows you to request your own data conversion by using a user-written exit
routine. You must specify POSITION(start:end) or the length option to define the input
field length.
program_name
This value is the name of your conversion exit routine. You must include the library
that contains this program in your LINKLIB, JOBLIB, or STEPLIB.
Table 47 on page 246 shows the return codes that LOADPLUS expects in register 15.
Chapter 3
245
Table 47
Return code
Description
conversion complete
conversion error
LOADPLUS issues message BMC50289E and rejects this record but continues processing
other records. If you specified the DISCARDS option, records that LOADPLUS discards
because of a conversion error count toward the discards limit.
parameter error
LOADPLUS issues message BMC50289E and does not process other records. The utility
return code is set to 8.
If the exit returns an invalid return code, LOADPLUS issues message BMC50289E
and terminates. A sample exit is located in member AMUXDEPT of the HLQ.CNTL
data set (where HLQ is the high-level qualifier specified during installation).
PARM (constant1, constant2,...)
You can specify an optional parameter list that contains integer, decimal, string, or
hex constants. LOADPLUS does not support floating-point and graphic constants.
The parameter list that you pass to a conversion exit routine is identical to the
parameter list that is passed to a DB2 FIELDPROC exit routine; that is, the
FPBFCODE in the FPIB is set to FBBFENC (= 0), the CVD is the value from the input
record, the FVD is the converted column value, and the FPPVL is the PARM.
Coding requirements for the LOADPLUS conversion exit are the same as those for a
DB2 FIELDPROC. For further help with exit requirements, see the IBM DB2
documentation.
246
Table 48
Date formats
Non-delimited
Format value
Char
Int
Delimited
Format value
Format
Dec
Formata
Char
I1
P1
MMDDYY
D1
MM/DD/YY
I2
P2
YYMMDD
D2
YY/MM/DD
I3
P3
YYDDD
D3
YY/DDD
I4
P4
YYWWD
D4
YY/WW/D
I5
P5
DDMMYY
D5
DD/MM/YY
I6
P6
DDDDD
1E
I1E
P1E
MMDDYYYY
D1E
MM/DD/YYYY
2E
I2E
P2E
YYYYMMDD
D2E
YYYY/MM/DD
3E
I3E
P3E
YYYYDDD
D3E
YYYY/DDD
4E
I4E
P4E
YYYYWWD
D4E
YYYY/WW/D
5E
I5E
P5E
DDMMYYYY
D5E
DD/MM/YYYY
Table 49
Time formats
Non-delimited
Format value
Char
Int
Delimited
Format value
Format
Dec
Formata
Char
I1
P1
HHMMSS
D1
HH.MM.SS
I2
P2
HHMM
D2
HH.MM
D3
HH.MM xMb
a
b
Table 50
Timestamp formats
Delimiteda
Non-delimited
Format value
Format
Formatb
Format value
YYMMDDHHMMSS
D1
YY-MM-DD-HH.MM.SS
YYMMDDHHMMSSNNNNNN
D2
YY-MM-DD-HH.MM.SS.NNNNNN
1E
YYYYMMDDHHMMSS
D1E
YYYY-MM-DD-HH.MM.SS
2E
YYYYMMDDHHMMSSNNNNNN D2E
YYYY-MM-DD-HH.MM.SS.NNNNNN
Delimited timestamp formats are valid only if you specify FORMAT CSV.
Chapter 3
247
Xa
Xa
Xa
Xa
D
X
DECIMAL
DECIMAL EXTERNAL
Xb
Xb
TIMESTAMP
Xa
CHAR
VARCHAR
DECIMAL ZONED
FLOAT
FLOAT EXTERNAL
GRAPHIC
GRAPHIC EXTERNAL
VARGRAPHIC
DATE
DATE
EXTERNALd
This table indicates the supported conversions with the following identifiers:
Xallowable conversion
Dallowable conversion and the default input data type
248
X
D
ROWID
VARGRAPHIC
GRAPHIC
TIME
DATE
INTEGER EXTERNAL
VARCHAR
CHARACTER
INTEGER
FLOAT
DECIMAL
SMALLINT
INTEGER
Input
SMALLINT
Column
Table 51
TIME
X
D
d,e
TIME-format EXTERNAL
EXTERNALd
TIMESTAMP-format EXTERNAL
X
d
X
X
ROWID
EXIT
ROWID
TIMESTAMP
DATE
X
EXTERNALd
TIMESTAMP
TIME
VARGRAPHIC
GRAPHIC
VARCHAR
FLOAT
DECIMAL
TIMEd
Input
INTEGER
DATE-format EXTERNALd,e
SMALLINT
CHARACTER
Column
D
X
This table indicates the supported conversions with the following identifiers:
Xallowable conversion
Dallowable conversion and the default input data type
a
This conversion is approximate. The value in the floating-point column might not be identical to the value in
the input field.
For a date, time, or timestamp column, the default input data format is EXTERNAL. The default input length
(or precision and scale for DECIMAL) is the column length (or precision and scale).
The format number describes the representation of the input date or time value. If you do not specify the
format number, LOADPLUS defaults to one of the following formats:
for non-CSV input data, the format that is specified in your DSNHDECP module (ISO, USA, EUR, JIS, or
LOCAL)
for CSV input data, ISO format
Chapter 3
249
Table 52
SMALLINT
INTEGER
INTEGER EXTERNAL
DECIMAL
DECIMAL EXTERNAL
DECIMAL ZONED
FLOAT
FLOAT EXTERNAL
CHAR
10
26
VARCHAR
ROWID
TIMESTAMP
TIME
DATE
VARGRAPHIC
GRAPHIC
VARCHAR
CHARACTER
FLOAT
DECIMAL
Input
INTEGER
SMALLINT
Column
GRAPHIC
GRAPHIC EXTERNAL
VARGRAPHIC
DATE
DATE EXTERNAL
DATE-format EXTERNAL
TIME
TIME EXTERNAL
TIME-format EXTERNAL
TIMESTAMP
10
10
10
TIMESTAMP-format EXTERNAL
26
26
10
26
TIMESTAMP EXTERNAL
10
T
ROWID
EXIT
V
X
250
Table 53 describes additional information about input field lengths for some data
types.
Table 53
INTEGER EXTERNAL(n)
DECIMAL(n)
integer(n/2) + 1
DECIMAL EXTERNAL(n)
DECIMAL ZONED(n)
FLOAT(n)
4 if 1 n 21
8 if 22 n 53
FLOAT EXTERNAL(n)
CHAR(n)
VARCHAR
GRAPHIC(n)
2n
GRAPHIC EXTERNAL(n)
VARGRAPHIC
DATE EXTERNAL(n)
DATE-format EXTERNAL(n)
n if CHARACTER
always 4 if INTEGER
integer(n/2) + 1 if DECIMAL
TIME EXTERNAL(n)
TIME-format EXTERNAL(n)
n if CHARACTER
always 4 if INTEGER
integer(n/2) + 1 if DECIMAL
TIMESTAMP EXTERNAL(n)
TIMESTAMP-format
EXTERNAL(n)
n if CHARACTER
always 4 if INTEGER
integer(n/2) + 1 if DECIMAL
ROWID
EXIT(n)
Chapter 3
251
Table 54
Data type
input
Data type
column
Data input
Data column
Comments
CHAR
CHAR(8)
'ABCDEFbb'
'ABCDEFbb'
CHAR(6)
CHAR(8)
'ABCDEF'
'ABCDEFbb'
CHAR(8)
VARCHAR(8)
'ABCDEFbb'
X'0008','ABCDEFbb'
CHAR(8) TRIM
VARCHAR(6)
'ABCDEFbb'
X'0006','ABCDEF'
CHAR(8)
VARCHAR(6)
'ABCDEFbb'
conversion error
VARCHAR
CHAR(8)
X'0004','ABCD'
'ABCDbbbb'
VARCHAR
VARCHAR(6)
X'0008','ABCDEFGH'
conversion error
Table 55
Data type
column
Data input
INTEGER EXTERNAL(10)
INTEGER
'bbbbbbbb10'
X'0000000A'
INTEGER EXTERNAL(10,-1)
INTEGER
'bbbb10bbbb'
X'00000064'
result = 100
INTEGER EXTERNAL(10)
INTEGER
'9999999999'
conversion error
INTEGER
INTEGER(,2)
X'00000064'
X'00000001'
INTEGERa
CHAR(10)
X'00000064'
'bbbbbbb100'
INTEGER(,2)
DECIMAL(5,2)
X'0000007D'
X'00125C'
DECIMAL EXTERNAL
DECIMAL(5,2)
'12345'
X'12345C'
result = 123.45
Data column
Comments
DECIMAL EXTERNAL(7,-2)
DECIMAL(7,2)
'bb12345'
X'1234500C'
result = 12345.00
DECIMAL EXTERNAL(10,4)
DECIMAL(8,2)
'12345678.b'
conversion error
DECIMAL EXTERNAL(5,1)
INTEGER
'bb15b'
X'00000001'
fraction truncated
DECIMAL EXTERNAL(5,2)
DECIMAL(5,2)
'-1234'
X'01234D'
result = -12.34
252
Table 55
Data input
Data column
Comments
DECIMAL EXTERNAL(5,1)
ROUND
DECIMAL(5)
'bbb15'
X'00002C'
DECIMAL ZONED(4,0)
DECIMAL(4,0)
X'F1F2F3D3'
X'01233D'
result = -1233.
DECIMAL ZONED(4,0)
DECIMAL(4,0)
X'F1F2F3C4'
X'01234C'
result = 1234.
DECIMAL
DECIMAL(5,2)
X'12345C'
X'12345C'
DECIMAL(5,2)
DECIMAL(4,2)
X'12345C'
conversion error
FLOAT(53)
DECIMAL(5,1)
X'40DC28F5C28F5C28'
X'00859C'
input = .85999999999999999E+0
FLOAT(53)
DECIMAL(7,4)
X'4239C65B1343EC2E'
X'0577748C'
input = .57774781421740208E+2
ROUND is specified
For additional examples of INTEGER to CHAR conversions, see Converting to character data on page 254.
Table 56
Data type
column
Data input
Data column
Comments
No data type
DATE
'01/31/1990'
X'19900131'
DATE
DATE
X'19900131'
X'19900131'
DATE EXTERNAL
DATE
'1990-2-29b'
conversion error
DATE-2 EXTERNAL
DATE
'900131'
X'19900131'
CENTURY (1950-2049)
DATE-D1 EXTERNAL
DATE
'01/31/90'
X'19900131'
DATE-D1 EXTERNAL
DATE
'01/31/00'
X'20000131'
X'002291990C'
conversion error
TIME
TIME
X'123000'
'12:30 PMbb
TIME-I1 EXTERNAL
TIME
X'0001E078'
X'123000'
TIMESTAMP
EXTERNAL(19)
TIMESTAMP
'1990-1-31-12.30.00b'
X'19900131123000000000'
TIMESTAMP
EXTERNAL(26)
TIMESTAMP
'1990-01-31-12.30.00.000000'
X'19900131123000000000'
TIMESTAMP-3
EXTERNAL
TIMESTAMP
X'A197DC8F1C200000'
X'19900131123000000000'
TIMESTAMP
CHAR(19)
X'19900131123000000000'
'1990-01-31-12.30.00'
CENTURY (1950-2049)
Chapter 3
253
Numeric EXTERNAL
A numeric EXTERNAL field consists of a valid integer, decimal, or floating-point
EBCDIC constant as defined by DB2 SQL. LOADPLUS allows leading and trailing
blanks. You must specify a length (or POSITION(start:end)). The length specification
indicates the number of characters in the field, not the precision. The scale defaults to
0 if the input data does not contain an explicit decimal point.
For information about converting INTEGER EXTERNAL to CHAR, see Converting
to character data.
Scale
You can specify scale on any numeric field (internal, EXTERNAL, or other format)
with or without specifying a length. Specifying scale multiplies or divides the number
by a power of 10. For example, a scale of 3 divides the number by 1000 while a scale of
-2 multiplies the number by 100.
If you do not specify scale, 0 is the default unless the column is DECIMAL and the
field is DECIMAL(PACKED) (explicit or defaulted), or DECIMAL ZONED. In these
cases, the scale defaults to the scale of the column.
254
Table 57
Input
INTEGER EXTERNAL
16th position
less than 16
last position
11th position
less than 11
last position
INTEGER or SMALLINT
When the length of the value of your input data is smaller than the length of your
CHAR column, LOADPLUS pads your column with leading blanks. LOADPLUS
removes any leading zeros before padding with leading blanks.
For INTEGER EXTERNAL input, when the length of your CHAR column is
greater than 16, LOADPLUS inserts blanks in positions 17 and greater.
For INTEGER and SMALLINT input, when the length of your CHAR column is
greater than 11, LOADPLUS inserts blanks in positions 12 and greater.
When the length of your CHAR column is smaller than the length of the value of
your input data, LOADPLUS discards the record.
Data type
column
Data inputa
Data columnb
INTEGER EXT(6)
CHAR(18)
'bbb100'
'bbbbbbbbbbbbb100bb'
INTEGER
CHAR(10)
X'00000064'
'bbbbbbb100'
INTEGER
CHAR(14)
X'00000064'
'bbbbbbbb100bbb'
INTEGER
CHAR(3)
X'000003E8'
error
SMALLINT
CHAR(6)
X'03E8'
'bb1000'
SMALLINT
CHAR(8)
X'83E8'
'bbb-1000'
Comments
Chapter 3
255
DECIMAL
When converting a DECIMAL field to a CHAR column, LOADPLUS performs the
following conversion tasks:
s
LOADPLUS includes a place for the decimal point in the output column,
regardless of whether you specify a value for scale in your input field.
When the length of the value of your input data is smaller than the length of your
CHAR column, LOADPLUS pads your column with leading blanks. LOADPLUS
removes any leading zeros before padding with leading blanks.
When the length of your CHAR column is smaller than the length of the value of
your input data, LOADPLUS discards the record.
Data type
column
Data inputa
Data columnb
DECIMAL(5,0)
CHAR(6)
X'12345'
'12345.'
DECIMAL(5,0)
CHAR(5)
X'12345'
error
DECIMAL(5,0)
CHAR(5)
X'02345'
'2345.'
DECIMAL(5,0)
CHAR(6)
X'02345'
'b2345.'
DECIMAL(5,0)
CHAR(6)
X'2345D'
'-2345.'
Comments
256
Data translation
Before writing the input record to the table, LOADPLUS translates the data from the
specified encoding scheme of the input data. LOADPLUS determines the encoding
scheme based on the values of the EBCDIC/ASCII/UNICODE command option and
the CCSID command option (see page 154).
LOADPLUS handles translation processing in the follow manner:
1. Based on the CCSID that you specify or that LOADPLUS retrieves from
DSNHDECP, LOADPLUS searches the SYSIBM.SYSTRINGS catalog table for a
row that identifies how to translate the data. (To review the values that are
assigned to the CCSID, see the LOADPLUS parameter listing under message
number BMC50471I.)
2. If a row exists, LOADPLUS searches the row for a value, first in the TRANSPROC
field and then in the TRANSTAB field. LOADPLUS terminates in either of the
following cases:
s
In all other cases, LOADPLUS performs the data translation providing the
translation is supported. For a list of supported translations, see Table 60 on
page 258.
3. If a row does not exist in SYSIBM.SYSSTRINGS, LOADPLUS passes the data to the
z/OS Unicode Conversion Services for translation.
Chapter 3
257
Data translation
Supported translations
Target column
ASCII
SBCS
ASCII SBCS
ASCII
MIXED
Input
ASCII
DBCS
Xa
Xa
Xb
Xb
Xa,b
ASCII MIXED
Xb
ASCII DBCS
EBCDIC SBCS
EBCDIC MIXED
X
X
Xb
EBCDIC DBCS
UNICODE SBCS
UNICODE MIXED
X
X
Xb
UNICODE DBCS
a
For an SQLAPPLY load, LOADPLUS cannot load ASCII input data into columns that are defined as MIXED.
No translation is performed.
The translation process might cause the length of the resultant data to change based
on the CCSID type that you specified. To determine the resultant length of the data
based on each CCSID conversion, see the IBM DB2 SQL Reference.
If an expansion error occurs during translation, LOADPLUS writes the record to the
discard data set (SYSDISC).
Restrictions
Table 61 describes the restrictions on data translation for LOADPLUS.
Table 61
Conditions
s
s
s
s
s
s
258
Result
Data translation
Table 61
Conditions
Result
s
s
Constants
For comparisons between predicate block character constants and input data,
LOADPLUS translates constants from EBCDIC (using the EBCDIC SBCS system
default CCSID) to the encoding scheme of the input data.
For constants that are placed in the table data, LOADPLUS translates the constants
from EBCDIC (using the EBCDIC SBCS system default CCSID) to the table encoding
scheme. LOADPLUS translates the following character constants for loading:
s
s
VALUE constants
DEFAULTIF VALUE constants
NOTE
With the IBM DB2 LOAD utility, if you specify NOSUBS and discard processing is not active,
the job fails when it encounters records that require substitution. LOADPLUS does not fail
under these circumstances. However, LOADPLUS processes only the records that do not
require substitution.
Chapter 3
259
Data translation
The numbers in this table represent the type of data translation that occurs during
data type conversion:
s
s
s
Table 62
SMALLINT
cpt cpt
2
2
INTEGER
cpt cpt
2
2
INTEGER EXTERNAL
tc
1
tc
1
tc
1
tc
1
tcp tcp
1,2 1,2
tc
1
tc
1
DECIMAL
cpt cpt
2
2
DECIMAL EXTERNAL
tc
1
tc
1
tc
1
tc
1
tcp tcp
1,2 1,2
tc
1
tc
1
tcp tcp
1,2 1,2
tc
1
tc
1
tc
1
tc
1
DECIMAL ZONED
FLOAT
cpt cpt
2
2
FLOAT EXTERNAL
tc
1
tc
1
tc
1
tc
1
tcp tcp
1,2 1,2
CHAR
260
tc
1
tc
1
tc
1
tc
1
cpt cpt
3
3
tc
1
ROWID
TIMESTAMP
TIME
DATE
VARGRAPHIC
GRAPHIC
VARCHAR
CHARACTER
FLOAT
DECIMAL
Input
INTEGER
SMALLINT
Column
Data translation
Table 62
VARCHAR
tc
1
tc
1
tc
1
tc
1
cpt cpt
3
3
tc
1
GRAPHIC
x
x
x
ROWID
TIMESTAMP
tc
1
VARGRAPHIC
tc
1
GRAPHIC EXTERNAL
TIME
DATE
VARGRAPHIC
GRAPHIC
VARCHAR
CHARACTER
FLOAT
DECIMAL
Input
INTEGER
SMALLINT
Column
DATE
cpt cpt
2
2
DATE EXTERNAL
tc
1
DATE-format EXTERNAL
tcp tcp
1,2 1,2
TIME
tc
1
ctp ctp
2
2
TIME EXTERNAL
tc
1
TIME-format EXTERNAL
tcp tcp
1,2 1,2
tc
1
TIMESTAMP EXTERNAL
tc
1
TIMESTAMP-format
EXTERNAL
tc
1
tc
1
tcp tcp
1,2 1,2
tc
1
tc
1
tc
1
ROWID
EXIT
x
x
Chapter 3
261
Dynamic work file allocation options allow you to have LOADPLUS optimally
allocate the size and number of work files that are needed to process your load.
Dynamic work file allocation provides the following benefits:
s
eliminates the need to include DD statements for the specified file types in your
JCL
NOTE
If you activate dynamic allocation and you specify DD statements in your JCL, use the
IFALLOC installation option or command option to control whether LOADPLUS
dynamically allocates your data sets or uses the data sets that you allocated in your JCL.
The following sections provide the syntax that is required for enabling and using
dynamic work file allocation. For more information, see Dynamic work file
allocation on page 69.
ENUMROWS option
Dynamic work file allocation requires that you specify ENUMROWS. For more
information about the ENUMROWS option, see page 174.
262
MAXTAPE integer
DSNUEXIT
exit_name
NONE
ASM
COBOL2
LE_COBOL
C
LE_C
MAXTAPE
The MAXTAPE option allows you to specify the maximum number of tape devices
that LOADPLUS can use when dynamically allocating work files.
For details regarding how LOADPLUS handles dynamic work file allocation when it
reaches your MAXTAPE limit, see Reaching the MAXTAPE limit on page 75.
Specifying the default: You can specify the default for the MAXTAPE command
option in your installation options module (using the MAXTAPE installation option).
LOADPLUS was shipped with a default value of 3 for this option; however, it might
have been changed during installation. The command option overrides the default
that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
DSNUEXIT
The DSNUEXIT option allows you to specify a user-written exit routine that creates
user-defined variables. You can use these variables with the DSNPAT option to create
patterns for data set names for dynamically allocated data sets. For details about the
DSNPAT option, see page 276.
Specifying the default: You can also specify a default for the DSNUEXIT option in
your installation options module (using the DSNUEXIT installation option).
LOADPLUS was shipped with a default value of (NONE,ASM) for this option;
however, it might have been changed during installation. The DSNUEXIT command
option overrides any default that was established at installation. See Appendix A,
LOADPLUS installation options for details.
exit_name
Specify the name of the exit routine. This exit routine must be authorized and present
in your systems LINKLIST or your JOBLIB or STEPLIB. For COBOL II and C
programs, the appropriate runtime libraries must be authorized and in your
LINKLIST, JOBLIB, or STEPLIB. For the IBM Language Environment COBOL and C
programs (LE COBOL and LE C), the appropriate language environment runtime
libraries must be authorized and in your LINKLIST, JOBLIB, or STEPLIB.
Chapter 3
263
For more information about creating an exit routine, see Appendix F, LOADPLUS
user exits.
NONE
Specify NONE in place of an exit name to override a default user exit in your
installation options. This tells LOADPLUS that you do not want to call any
DSNUEXIT user exit.
program language
LOADPLUS supports user-written exit routines written in assembler, COBOL II, LE
COBOL, C, or LE C. After you specify the name of your user exit, you can optionally
provide the program language in which it was written. If you specify the program
language, place a comma between the exit name and the program language. Table 63
lists the keywords that you can use to specify a program language.
WARNING
The program language, whether specified here or in the installation option, must match the
source language of the specified user exit. If the language does not match, your user exit might
not function correctly.
Table 63
Keyword
Description
ASM
COBOL2
LE_COBOL
LE_C
264
DD type block
DD type block
DDTYPE
LOAD
WORK
SORTWORK
DISCARD
ERROR
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DDTYPE
This option tells LOADPLUS that you want one or more types of work files
dynamically allocated or that you want to override an active dynamic work file
allocation value in your installation options. Additional options in the DD type block
provide control for various aspects of the dynamic work file allocation process. You
can repeat this DD type block for more than one work file type. Table 64 lists the
keywords that you can specify for the data set types that you want to dynamically
allocate.
Table 64
Keyword
Description
LOAD
WORK
SORTWORK
DISCARD
ERROR
LOCPFCPY
Chapter 3
265
Table 64
Keyword
Description
LOCBFCPY
REMPFCPY
REMBFCPY
Specifying the default: You can also specify the work file type in your installation
options module (using the DDTYPE installation option). Any dynamic work file
allocation options that you specify with the DDTYPE command option override the
defaults established at installation for the same DDTYPE. For details, see
Appendix A, LOADPLUS installation options.
266
ACTIVE
YES
NO
ACTIVE
This option allows you to specify whether you want dynamic work file allocation
active for the specified work file type. If you specify just the ACTIVE keyword,
LOADPLUS treats it as ACTIVE YES.
Specifying the default: You can specify the default for the ACTIVE command option
in your installation options module (using the ACTIVE installation option).
LOADPLUS was shipped with a default value of NO for this option; however, it
might have been changed during installation. The command option overrides the
default established at installation. For details, see Appendix A, LOADPLUS
installation options.
When running in a worklist environment, LOADPLUS ignores the ACTIVE option in
your installation options module. LOADPLUS dynamically allocates your work files
only if the invoking product (DASD MANAGER PLUS, CATALOG MANAGER, or
CHANGE MANAGER) supplies the ACTIVE YES syntax.
YES
This option tells LOADPLUS that you want to activate dynamic work file allocation
for the specified work file type.
ACTIVE YES must be in effect for LOADPLUS to use the remaining dynamic
allocation options.
NOTE
When determining whether to actually dynamically allocate a work file, LOADPLUS takes
into account the values of both the ACTIVE and IFALLOC options for that work file type.
NO
This option tells LOADPLUS that you want to inactivate dynamic work file allocation
for the specified work file type. Use this option if dynamic work file allocation is set
to active in your installation options but you do not want LOADPLUS to dynamically
allocate the specified work files for a particular processing session.
Chapter 3
267
IFALLOC
USE
FREE
IFALLOC
This option directs LOADPLUS to either free the data sets specified in your JCL or
use them and, if necessary, allocate additional data sets.
Specifying the default: You can specify the default for the IFALLOC command
option in your installation options (using the IFALLOC installation option).
LOADPLUS was shipped with a default value of USE for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
USE
Specifying this option tells LOADPLUS to use the data sets that you allocated in your
JCL. If the number of SORTOUT, SYSUT1, SORTWK, SYSDISC, SYSERR, and copy
files that you specify in your JCL is insufficient for processing, LOADPLUS (or
BMCSORT in the case of SORTWK files) dynamically allocates the additional files
that your job needs. LOADPLUS uses both the dynamically allocated work files and
those that you specify in your JCL.
NOTE
LOADPLUS allocates only additional files, not additional space for a single file.
FREE
This option tells LOADPLUS to free the data sets that you allocated in your JCL and
use only dynamically allocated work files.
WARNING
If you specify this option for a load job in a worklist environment, the data sets are freed for
the remainder of the worklist execution. This can result in an error if a subsequent
LOADPLUS job in the worklist requires these data sets.
268
SMS
YES
NO
SMSUNIT
NO
YES
SMS
This option tells LOADPLUS whether to use an SMS allocation. You can specify one
of the following values:
s
s
To pass the UNIT value to SMS during dynamic allocation, use the SMSUNIT option.
Specifying the default: You can specify the default for the SMS command option in
your installation options module (using the SMS installation option). LOADPLUS
was shipped with a default value of NO for this option; however, it might have been
changed during installation. The command option overrides the default that was
established at installation. For details, see Appendix A, LOADPLUS installation
options.
SMSUNIT
This option tells LOADPLUS whether to pass the UNIT value in the SMS allocation
parameter list to SMS during dynamic allocation. LOADPLUS does not modify any
other parameters based on this option. If you do not specify SMS YES, LOADPLUS
ignores the SMSUNIT option. You can specify one of the following values for
SMSUNIT:
s
s
NO tells LOADPLUS not to pass the value for the UNIT option.
YES tells LOADPLUS to pass the value for the UNIT option.
Specifying the default: You can specify the default for the SMSUNIT command
option in your installation options module (using the SMSUNIT installation option).
LOADPLUS was shipped with a default value of NO for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
Chapter 3
269
MAXEXTSZ integer
MAXEXTSZ
This option allows you to specify the maximum size (in kilobytes), up to the MVS
limit of 65535 tracks, for any extent that LOADPLUS allocates as the primary and
secondary quantities for a dynamically allocated file.
LOADPLUS ignores MAXEXTSZ if you are using SMS to allocate the files. It also
ignores this option for SORTWK files.
If you do not want to set a limit for space allocation, specify 0 as the value for
MAXEXTSZ. If you specify 0, or if you specify a value greater than the size limit of
your physical device or greater than the MVS limit, LOADPLUS replaces this value at
runtime with the size of your physical device.
Regardless of the amount of space that LOADPLUS determines that it needs,
LOADPLUS will not allocate more than your specified MAXEXTSZ limit for either
the primary or the secondary quantity:
s
If the amount of required space that LOADPLUS calculates is greater than the
MAXEXTSZ limit for the primary quantity, LOADPLUS uses the secondary
extents to hold the remainder of the required primary space.
If the amount of required space that LOADPLUS calculates is greater than the
MAXEXTSZ limit for both the primary and secondary quantities, LOADPLUS
issues message BMC50451E and the job terminates with a return code 8.
NOTE
LOADPLUS checks the value of MAXEXTSZ after applying SIZEPCT to the allocation
amount.
Specifying the default: You can specify the default for the MAXEXTSZ command
option in your installation options module (using the MAXEXTSZ installation
option). LOADPLUS was shipped with a default value of 0 for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
270
UNIT
unit_name1
,
unit_name2
UNIT
This option allows you to specify the primary and secondary unit names that you
want LOADPLUS to use during non-SMS dynamic work file allocation. The unit
names cannot exceed eight characters. Enclose the two unit names in parentheses and
separate them with a comma.
The THRESHLD installation option or command option determines how LOADPLUS
uses the unit names that you specify in this option. See the THRESHLD command
option on page 274 for details.
Specifying the default: You can specify default unit names in your installation
options module (using the UNIT installation option). LOADPLUS was shipped with
a default value of (SYSALLDA,SYSALLDA) for this option; however, it might have
been changed during installation. Primary and secondary unit names specified with
the UNIT command option override any default established at installation. For
details, see Appendix A, LOADPLUS installation options.
Chapter 3
271
UNITCNT
0
integer1
)
,
0
integer2
VOLCNT
25
integer1
)
,
25
integer2
UNITCNT
This option allows you to specify the number of devices to allocate when dynamically
allocating data sets. Valid values are 0 through 59. A value of 0 tells LOADPLUS to
use the system default. If you specify a second value (integer2), LOADPLUS uses this
number when the value for THRESHLD (page 274) is exceeded.
Additional considerations: Note the following additional information about the
UNITCNT option:
s
s
Specifying the default: You can specify the default for the UNITCNT command
option in your installation options module (using the UNITCNT installation option).
LOADPLUS was shipped with a default value of 0 for this option; however, it might
have been changed during installation. The command option overrides the default
that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
VOLCNT
This option allows you to specify the maximum number of volumes to use during
dynamic data set allocation. Valid values are 0 through 255. A value of 0 tells
LOADPLUS to use the system default. If you specify a second value (integer2),
LOADPLUS uses this number when the value for THRESHLD (page 274) is exceeded.
Additional considerations: Note the following additional information about the
VOLCNT option:
s
272
This option is not available for SORTWK files. If you specify a value for this option
for SORTWK files, LOADPLUS changes the value to 1.
To avoid performance problems, specify only the number of volumes that you
need.
If you are allocating an SMS-managed data set, LOADPLUS recommends that you
specify a value of 0 if your ACS routines are set up to provide a volume count.
If you are loading a large number of partitions, consider lowering the VOLCNT
value from the default value of 25 to avoid data set allocation limitations.
Specifying the default: You can specify the default for the VOLCNT command
option in your installation options module (using the VOLCNT installation option).
LOADPLUS was shipped with a default value of 25 for this option; however, it might
have been changed during installation. The command option overrides the default
that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
Chapter 3
273
SIZEPCT
primary
,
THRESHLD integer
secondary
SIZEPCT
This option allows you to adjust, by percentages, the allocated work file sizes that
LOADPLUS calculated. The numbers that you specify must be greater than zero.
s
primary indicates the percentage of the primary work file size calculated by
LOADPLUS that you actually want allocated.
secondary indicates the percentage of the secondary work file size calculated by
LOADPLUS that you actually want allocated.
Specifying the default: You can specify the default for the SIZEPCT command option
in your installation options module (using the SIZEPCT installation option).
LOADPLUS was shipped with a default value of (100,100) for this option; however, it
might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
THRESHLD
This option allows you to specify a threshold value, in kilobytes. LOADPLUS tests
this threshold for each data set to be allocated. If the size for a particular data set is
greater than the threshold, LOADPLUS performs the following tasks:
s
For non-SMS managed data sets, LOADPLUS uses the secondary unit name, unit
count, and volume count.
274
If you specify zero or if the threshold is not exceeded, LOADPLUS uses the primary
values for these options.
Specifying the default: You can specify the default for the THRESHLD command
option in your installation options module (using the THRESHLD installation
option). LOADPLUS was shipped with a default value of 0 for this option; however,
it might have been changed during installation. The command option overrides the
default that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
Chapter 3
275
DSNPAT
'pattern'
'NONE'
''
DSNPAT
This option allows you to direct LOADPLUS to use a particular pattern of variables
and text to create data set names for dynamic work file allocation. The maximum total
length that LOADPLUS allows for a data set name is 44 bytes.
Specifying the default: You can specify the default for the DSNPAT command
option in your installation options module (using the DSNPAT installation option).
LOADPLUS was shipped with a default value of &&UID.&&UTILPFX.&&DDNAME
for this option; however, it might have been changed during installation. The
command option overrides the default that was established at installation. For details,
see Appendix A, LOADPLUS installation options.
'pattern'
This option provides the pattern of variables and text that you want LOADPLUS to
use to create data set names. The pattern must be specified with surrounding single
quotes.
The pattern that you specify in your DSNPAT option must allow LOADPLUS to
generate unique data set names. If LOADPLUS encounters non-unique data set
names, processing terminates. Note the following considerations:
s
With multiple SORTOUT and SYSUT1 files, you must include the &DDNAME
variable to generate unique names.
For copy data sets, you might need to include additional variables, such as
&VCAT, &DATEJ, or &TIME4 to generate unique names across multiple loads.
If you plan to use LOADPLUS with one of the Administrative Products for DB2
(for example, CHANGE MANAGER for DB2 or CATALOG MANAGER for DB2),
BMC Software recommends that you include additional variables in the default
pattern to ensure unique names. For example, the following value ensures that
LOADPLUS generates unique names:
DSNPAT '&UID.&UTILPFX.&DDNAME..D&DATE..T&TIME'
Variables: You can use any of the symbolic variables that are described in Table 65 on
page 277 to construct your pattern. In addition, you can use text or provide userdefined variables from a user exit routine. The LOAD command option, DSNUEXIT,
is described on page 263 and user exits are further discussed in Appendix F,
LOADPLUS user exits.
276
Symbolic variable
Definition
Length of resulta
&DATE
6 bytes
&DATEJ
7 bytes
&DB
8 bytes maximum
&DDNAME
ddname being used for this data set allocation 8 bytes maximum
&GRPNM
4 bytes
&JDATE
5 bytes
&JOBNAME
8 bytes maximum
&PART
&REPLACE
1 byte
&RESUME
1 byte
&SSID
DB2 subsystem ID
4 bytes
c
&STEPNAME
&TIME
6 bytes
&TIME4
4 bytes
&TS
8 bytes maximum
&USERID or &UID d
job user ID
8 bytes maximum
&UTIL
8 bytes maximume
&UTILPFX
8 bytes maximum
8 bytes maximum
Chapter 3
277
Table 65
Symbolic variable
Definition
Length of resulta
&UTILSFX
8 bytes maximum
&VCAT
278
(X'6A') , _: =
Name construction: You can specify any or all nodes of a data set name by using
variables or text. The following example generates data set names that contain the ID
of the user, the table that is involved in the load, and the name of the load job:
DSNPAT '&UID.&TS.&JOBNAME'
The following example combines actual text with symbolic variables to generate a
data set name:
DSNPAT '&DB.&DDNAME..NEW'
In certain cases, a period is required in your pattern as a node delimiter or to indicate
the end of a variable name. Table 66 illustrates concatenation in a data set name
pattern and those instances in which a period is needed.
NOTE
Concatenation is not affected by a period contained in the value of a user variable.
Table 66
Task
Code
&UID_DEPT
RDABDEV
RDAB.DEV
&UID.NEW
RDABNEW
NEWRDAB
&UID..NEW
RDAB.NEW
NEW.&UID
NEW.RDAB
Chapter 3
279
GDG names: For your dynamically allocated copy data sets, you can also specify a
pattern that contains a GDG name. Each DDTYPE must have a different GDG base.
The GDG format that you use to construct data set names is the same as the one that
you use in your JCL when allocating copy data sets with DD statements. Append the
generation number in parentheses. The open parenthesis tells LOADPLUS that the
pattern is a GDG name. The generation number can be an integer from 1 through 255.
If the base does not exist, LOADPLUS creates it for you, using everything in the
pattern up to the open parenthesis as the base name. For more information, see
Generating data set names on page 73.
The following example shows a valid GDG name:
'&UTILPFX.&DDNAME..COPY(+1)'
If you use a substitution variable as the last variable before the open parenthesis,
include a period before the open parenthesis, as in the following example:
'&UTILPFX.&DDNAME.(+1)'
If you specify COPYLVL PART on the LOAD command, each partition must have a
different GDG base. To specify a pattern that includes a partition, the partition must
not be in parentheses. The following example shows a valid name:
'&UTILPFX.&DDNAME..P&PART.(+1)'
You cannot specify a pattern that contains a PDS name. The following example shows
an invalid name:
'&UTILPFX.&DDNAME..(P&PART)'
'NONE' or ''
This value indicates that you do not want to use a pattern to create data set names for
dynamic work file allocation. This option is valid only for SORTWK data sets.
WARNING
If you specify NONE for SORTOUT, SYSUT1, SYSDISC, SYSERR, or copy data set patterns,
LOADPLUS does not allocate your data sets and processing terminates.
NOTE
In the DSNPAT installation option, the keyword NONE must not be enclosed by single
quotes.
280
EXPDT date
RETPD integer
EXPDT
Specify EXPDT to set an expiration date for the copy data set that you are
dynamically allocating. The value of date must be in the format yyddd, yyyyddd, or
yyyy/ddd. yy is the last two digits of the year, yyyy is the 4-digit year (1900 through
2155), and ddd is the 3-digit Julian day (000 through 366).
For expiration dates of January 1, 2000 and later, you must use the form yyyyddd or
yyyy/ddd.
LOADPLUS ignores this option if you specify it for any of the non-copy data sets that
you are dynamically allocating.
Specifying the default: You can specify the default for the EXPDT command option
in your installation options module using the EXPDT installation option. LOADPLUS
was shipped without a value for this option; however, it might have been changed
during installation. The EXPDT command option overrides the RETPD command
option and the EXPDT and RETPD installation options. For details, see Appendix A,
LOADPLUS installation options.
RETPD
Specify RETPD to set a retention period in days for the copy data set that you are
dynamically allocating. The value of integer must be in the range 0 through 9999.
LOADPLUS ignores this option if you specify it for any non-copy data set that you are
dynamically allocating.
Specifying the default: You can specify the default for the RETPD command option
in your installation options module using the RETPD installation option. LOADPLUS
was shipped without a value for this option; however, it might have been changed
during installation. The RETPD command option overrides the default established at
installation for both the RETPD and EXPDT installation options. However, if you
specify the EXPDT command option, it takes precedence over the RETPD command
option. For information about the installation options, see Appendix A, LOADPLUS
installation options.
Chapter 3
281
GDGLIMIT integer
GDGLIMIT
Specify GDGLIMIT to indicate the number of generations to keep for the copy data
set that you are dynamically allocating as a GDG data set. The value of integer must
be in the range 1 through 255.
LOADPLUS honors this option only when creating the GDG base. LOADPLUS
ignores this option if you specify it for any non-copy data set that you are dynamically
allocating.
Specifying the default: You can specify the default for the GDGLIMIT command
option in your installation options module using the GDGLIMIT installation option.
LOADPLUS was shipped with a default value of 5 for this option; however, it might
have been changed during installation. The command option overrides the default
that was established at installation. For details, see Appendix A, LOADPLUS
installation options.
282
class1
NONE
class2
NONE
Chapter 3
283
284
Chapter
285
286
286
286
287
291
291
311
312
312
313
320
320
285
JOB statement
DD statements as needed for the appropriate number and size of data sets for the
data structure that you are loading (page 291)
LOADPLUS control statements using the appropriate command syntax (page 137)
JOB statement
Include a LOADPLUS JOB statement that conforms to your sites standards. You can
include the REGION parameter on either your JOB statement or your EXEC
statement. See REGION parameter for recommendations.
EXEC statement
The LOADPLUS EXEC statement specifies the module to be executed for the
LOADPLUS utility. The LOADPLUS module name is AMUUMAIN. The EXEC
statement also specifies LOADPLUS utility parameters, which are described in
Utility parameters on the EXEC statement on page 287.
You can include the REGION parameter on either your EXEC statement or your JOB
statement. See REGION parameter for recommendations.
REGION parameter
Include the REGION parameter on either your JOB statement or your EXEC
statement to specify the region size (the amount of virtual storage used by the utility).
For the best performance, BMC Software recommends that you specify REGION=0M
to allocate all available virtual storage to the LOADPLUS job. If your data center does
not permit you to specify REGION=0M, specify the amount that allows the most
virtual storage both above and below the 16-megabyte line.
NOTE
If are running under DB2 version 8 and you specify a value other than 0M, ensure that you
have an appropriate value set for the MEMLIMIT parameter, either as your sites default SMF
option or on your JOB statement or EXEC statement.
BMC Software recommends that you have a MEMLIMIT value of at least 1 GB.
286
The LOADPLUS utility parameters are positional. If you do not specify a value for a
parameter (thus allowing the default value), you must substitute a comma for that
parameter if additional parameters follow. The comma indicates that a parameter
was omitted.
NOTE
When restarting in a data sharing environment, LOADPLUS can use either the same member
that was chosen in the original load or any other member in the specified group.
287
Restart parameter
The restart parameter can have one of the following values. For additional
information about specific circumstances for which you should use a particular value,
see Restarting LOADPLUS on page 313.
WARNING
This warning applies to the values RESTART, RESTART(PHASE), NEW/RESTART, and
NEW/RESTART(PHASE). If you are restarting your job and you specified DISP=NEW for the
SORTOUT, SYSUT1, and SYSERR data sets, you must change your JCL to DISP=OLD before
restarting. Alternatively, you can allocate the data sets with DISP=MOD, or allocate the data
sets in a preceding step and then specify DISP=OLD for the data sets in the load step. For
more information, see Check for data set attributes on page 79.
RESTART
Specifying this value restarts a BMC Software utility from the last restart sync point.
LOADPLUS takes restart sync points as each phase completes and as the processing
of each DB2 object completes. The utility ID must exist in the BMCUTIL table. If the
utility ID does not exist in the BMCUTIL table, LOADPLUS ends with return code 8.
RESTART(PHASE)
For a two-phase load, specifying this value restarts LOADPLUS at the beginning of
the last incomplete phase. The utility ID must exist in the BMCUTIL table. If the
utility ID does not exist in the BMCUTIL table, LOADPLUS ends with return code 8.
In general, for a single-phase load or for an SQLAPPLY load, LOADPLUS treats
RESTART(PHASE) as if you specified RESTART.
For additional criteria that affect whether to use the PHASE option, see Restarting
LOADPLUS on page 313.
NEW
Specifying this value initiates a new BMC Software utility or replaces an existing
utility ID. Specifying this value allows you to start a utility without having to end the
utility ID separately.
288
WARNING
Use care when you specify NEW. When you replace or terminate a utility ID for LOADPLUS,
data from the PRELOAD or COMBINED phase is lost and existing data in the table space can
also be lost. Similar consequences can occur in other BMC Software utilities. Consult the
reference manual for the specific BMC Software utility. See Terminating or canceling the job
on page 320 for more information for LOADPLUS.
If you specify NEW and the utility ID has a status of X (executing), LOADPLUS
issues error message BMC50012E and ends with return code 8. Refer to this message
in Appendix C, LOADPLUS messages and codes for additional information.
NEW/RESTART
Specifying this value restarts a BMC Software utility from the last restart sync point if
the utility ID exists. Otherwise, specifying this value starts a utility as NEW.
LOADPLUS takes restart sync points as each phase completes and as the processing
of each DB2 object completes.
NEW/RESTART(PHASE)
For a two-phase load, specifying this value restarts LOADPLUS at the beginning of
the last incomplete phase if the utility ID exists. Otherwise, for a two-phase load,
specifying this value starts LOADPLUS as NEW.
In general, for a single-phase load or for an SQLAPPLY load, LOADPLUS treats
NEW/RESTART(PHASE) as if you specified NEW/RESTART.
For additional criteria that affect whether to use the PHASE option, see Restarting
LOADPLUS on page 313.
TERM
Specifying this value terminates the existing utility and removes the utility ID from
the BMCUTIL table. After removing all sync point and restart information,
LOADPLUS terminates without performing a load. LOADPLUS terminates with
return code 0, regardless of whether the utility ID exists.
When specifying TERM, you need only minimal JCL. Your JCL must include at least a
SYSPRINT DD statement and STEPLIB to the LOADPLUS load library.
WARNING
Use care when you specify TERM. When you replace or terminate a utility ID, data from the
PRELOAD phase or the COMBINED phase is lost and existing data in the table space can also
be lost. Similar consequences can occur in other BMC Software utilities. Consult the reference
manual for the specific BMC Software utility. See Terminating or canceling the job on
page 320 for more information for LOADPLUS.
289
MAINT
Specifying this value causes LOADPLUS to print additional information in your
SYSPRINT. When you specify the MAINT parameter, the job ends without affecting
any utility that is running.
LOADPLUS prints the following additional information in the SYSPRINT:
s
an options module report that lists the values in the installation options module
that you are using for this load job
the values in the DSNHDECP module that LOADPLUS uses (which is the
DSNHDECP module that DB2 loads)
a summary report of all LOADPLUS product fixes that you have applied
When specifying MAINT, you need only minimal JCL. Your JCL must include at least
a SYSPRINT DD statement and STEPLIB to the LOADPLUS and DB2 load libraries.
290
STEPLIB DD statement
STEPLIB DD statement
The LOADPLUS STEPLIB DD statement specifies the following libraries, unless they
are included in your systems LINKLIST or in a JOBLIB statement:
s
load library or libraries that contain the files for the following products and
components:
LOADPLUS
BMCSORT
DB2 Solution Common Code (SCC)
Apply Plus, if you are performing an SQLAPPLY load
All load libraries in the STEPLIB or JOBLIB concatenation must be APF authorized.
LOADPLUS DD statements
LOADPLUS uses data sets that are specified by ddnames. This section provides
specification guidelines, allocation information, and usage notes for each of the data
sets that LOADPLUS uses. Use Table 67 to quickly find the data set for which you
want more information.
Table 67
ddname descriptions
Found on page
Copy
292
Other
310
SORTOUT
296
SORTWK
298
SYSDISC
300
SYSERR
301
SYSIDCIN
308
SYSIN
302
SYSPRINT
303
SYSREC
303
SYSUT1
305
UTPRINT
310
291
LOADPLUS DD statements
As an alternative to specifying data sets in DD statements in your JCL, you can have
LOADPLUS dynamically allocate the following types of data sets:
s
s
s
s
s
s
s
SYSREC
copy data sets
SORTOUT
SORTWK
SYSDISC
SYSERR
SYSUT1
For details, about dynamically allocating SYSREC data sets, see INDSN on
page 159. For details about dynamically allocating the other data sets, see Dynamic
work file allocation on page 69 and Dynamic work file allocation options on
page 262.
BMCCPYnnlocal primary
BMCCPZnnlocal backup
BMCRCYnnremote primary
BMCRCZnnremote backup
BMCCPY is required if you specify COPY YES. If you specify BMCRCZ, BMCRCY is
also required. See Table 69 on page 294 for information about the data sets that you
need when you specify COPY YES.
292
LOADPLUS DD statements
NOTE
When you are loading all partitions of a partitioned table space, you can also specify how you
want LOADPLUS to assign the dynamically allocated copy data sets. For more information,
see COPYLVL on page 210.
Registration
The ddname itself controls the registration information that is placed in the
ICBACKUP column of SYSIBM.SYSCOPY when you specify either ALL (the default)
or specific ddnames for the REGISTER command option. Table 68 describes the
LOADPLUS copy data sets that, when registered, correspond to the DB2 local and
remote copies. The table also describes when the data sets are required.
Table 68
Corresponding LOADPLUS copy data set (when registered) When the data set is required
local primary
local backup
optional
remote primary
remote backup
optional
DD statements required
Table 69 on page 294 lists the copy DD statements that LOADPLUS requires based on
the table space and type of load.
As an alternative to specifying these DD statements in your JCL, you can have
LOADPLUS dynamically allocate the copy data sets. Based on the information in this
table, specify dynamic allocation options that result in the same number and type of
copy data sets.
293
LOADPLUS DD statements
Table 69
partitioned
all partitions
(entire table space)
nonpartitioned
any kind
selected partitions
(using INTO TABLE
PART option)
Use the nn as part of the ddname only if you are loading a partitioned table space and
you want a separate data set for each partition. You must use nn when making copies
for a load of selected partitions (when you specify INTO TABLE PART).
JCL rules limit ddnames to eight characters. If you are making partition-level copies,
the ddname has two partsthe ddname prefix (minimum of one character) and the
partition number nn (one to seven characters). The ddname that you specify in the
installation options or the command options (COPYDDN on page 211 and
RECOVERYDDN on page 213) becomes the ddname prefix. The ddname that you
specify in the JCL must have the partition number nn appended to this prefix. The nn
must match the partition that you are copying, and you must allow sufficient bytes
for LOADPLUS to add the partition number to the prefix and still have a valid
ddname (eight characters or less).
If you are dynamically allocating copy data sets (and you specify COPYLVL PART to
make partition-level copies), LOADPLUS appends the partition number to the
ddname prefix. If you are loading a table space that contains more than 99 partitions,
use the COPYDDN and RECOVERYDDN options to specify a prefix that results in
eight characters or less after LOADPLUS appends the highest partition number.
294
LOADPLUS DD statements
LOADPLUS does not allow dynamically allocated copy data sets to be stacked on
tape.
If you specify VOL=(,RETAIN) in your JCL, LOADPLUS does not deallocate the
copy data set to free the device after completing the copy.
Additional consideration: Although not a restriction, copy data sets should not be
temporary data sets. For information about how LOADPLUS defines a temporary
data set, see LOADPLUS work file validity and integrity checks on page 79.
WARNING
BMC Software recommends that you do not specify DISP=MOD for an image copy data set
because LOADPLUS does not reset the data set to empty but appends to any data already
present in the file.
295
LOADPLUS DD statements
SORTOUTn usage
Load type
SORTOUTn requirement
two-phase load
not used
not used
not used
not used
not used
You can use either form of the data set name (SORTOUT or SORTOUTn). When
specifying multiple data sets, you can use one or both forms. The variable n can be
any valid single-digit alphanumeric or national character. To override the default
ddname, use the LOADDN command option as described on page 161. If you plan to
add more than one digit to the prefix or have LOADPLUS dynamically allocate more
than nine SORTOUT data sets, you must override the default name to create a
ddname prefix of six characters or less. For performance information about this data
set, see SORTOUT data set on page 465.
296
LOADPLUS DD statements
To enable LOADPLUS to restart any time during the COMBINED phase or after
the PRELOAD phase, SORTOUT cannot be a temporary data set. For information
about the LOADPLUS treatment of temporary data sets, see LOADPLUS work
file validity and integrity checks on page 79.
For multiple load jobs running in a worklist environment, do not use SMS
extended sequential data sets as SORTOUT data sets. When LOADPLUS first uses
a data set, it defines the data sets DCB attributes. With an SMS extended
sequential data set, once these attributes are defined they cannot be changed. If this
data set is reused, as with multiple load jobs in a worklist environment, it can
require different DCB attribute values, such as a different block size or record
length. LOADPLUS attempts to redefine these attributes if necessary. However,
because MVS does not allow changes to these attributes once the file has been
opened, LOADPLUS fails.
297
LOADPLUS DD statements
NOTE
For nonpartitioned table spaces, LOADPLUS uses only the first SORTOUT DD statement. For
partitioned table spaces, LOADPLUS uses SORTOUT DD statements up to the number of sort
processes that LOADPLUS can run concurrently, based on available memory and other
factors.
Explicitly specify SORTWK DD statements in your JCL. Use this option when you
want to control the allocation of your SORTWK data sets. For additional
information, see Allocating SORTWK data sets in your JCL on page 299.
You cannot allocate a SORTWK data set as any of the following data set types:
s
s
s
s
298
LOADPLUS DD statements
NOTE
To provide maximum flexibility and optimize performance, BMC Software recommends that
you allocate 12 data sets, all of the same size.
When determining the number of concurrent tasks to run, LOADPLUS checks the
amount of sort work space that is allocated. In this calculation, LOADPLUS uses only
the primary allocation. The secondary allocation is not guaranteed.
For information about calculating the size of the SORTWK data sets, see SORTWK
data sets on page 739.
299
LOADPLUS DD statements
A verification record does not match the table that is being loaded (for FORMAT
BMCUNLOAD).
NOTE
Note the following additional information about the contents of SYSDISC:
s
s
300
If your input data set is a pipe, LOADPLUS does not write discards to a SYSDISC data set.
The number of discarded records in your SYSDISC data set might not match the number
of discards that LOADPLUS reports because LOADPLUS issues a separate discard
message for each violation. For example, if two input records are duplicates and they both
violate a table check constraint, LOADPLUS reports four discard violations, but the
SYSDISC data set contains only two discarded input records.
LOADPLUS DD statements
LOADPLUS writes to this data set in the PRELOAD phase of a two-phase load or the
COMBINED phase of a single-phase or SQLAPPLY load. To override the default
ddname, use the DISCARDDN command option as described on page 164.
You can correct this discarded data and use it as input to a subsequent load job
specifying RESUME YES.
LOADPLUS frees the SYSDISC data set at the end of the PRELOAD phase or the
COMBINED phase. If you specify SYSDISC YES and no records were written to the
SYSDISC file during the load process, LOADPLUS automatically deletes the
SYSDISC file. However, LOADPLUS does not delete this data set if it contains
discarded records. You must manually delete the SYSDISC data set in this case.
301
LOADPLUS DD statements
NOTE
You can use the DISCARDS option to limit the number of SYSERR records that LOADPLUS
generates.
For an SQLAPPLY load, when Apply Plus needs to take a snap dump, Apply Plus
always directs the snap dump to the SYSERR data set. To prevent a data set name
conflict when you run an SQLAPPLY load, BMC Software recommends that you use
the ERRDDN installation or command option to specify a default ddname other than
SYSERR for the standard error data set that LOADPLUS uses.
BMC Software recommends that you do not allocate a temporary data set for
SYSERR. For information about the LOADPLUS treatment of temporary data sets,
see LOADPLUS work file validity and integrity checks on page 79.
For multiple load jobs running in a worklist environment, do not use SMS
extended sequential data sets as SYSERR data sets. When LOADPLUS first uses a
data set, it defines the data sets DCB attributes. With an SMS extended sequential
data set, once these attributes are defined they cannot be changed. If this data set is
reused, as with multiple load jobs in a worklist environment, it can require
different DCB attribute values, such as a different block size or record length.
LOADPLUS attempts to redefine these attributes if necessary. However, because
MVS does not allow changes to these attributes once the file has been opened,
LOADPLUS fails.
302
LOADPLUS DD statements
The DSN messages from DB2, such as those from a QUIESCE utility, are lost.
BMC Software recommends that you do not specify the BUFNO parameter on the
DD statement for this data set.
For information about the level of messages that LOADPLUS displays and how to
change the message level, see Message level (MSGLEVEL) on page 290.
Restrictions
SYSREC data sets have the following general restrictions. For additional restrictions
when using multiple SYSREC data sets, see the Restrictions section on page 304.
s
If you are generating values into an identity column and you want the values
ordered in input order, you must use a single SYSREC data set.
303
LOADPLUS DD statements
If you are using RECFM=U, or have concatenated an uninitialized data set in your
SYSREC DD (which results in RECFM=U), LOADPLUS processes only one record
per block and processing might not function as you expect.
If you allocate a block size that is greater than 32 KB, the load job terminates.
NOTE
If you specify more than 99 data sets, use the INDDN command option to override the default
data set name of SYSREC, specifying a ddname prefix that results in eight characters or less
after LOADPLUS appends the highest data set number. For more information, see Specifying
ddname prefixes on page 74.
LOADPLUS reads the SYSREC data sets in parallel only when loading data into a
partitioned table space. For details about performance implications of multitasking in
LOADPLUS, see Enabling multitasking for performance on page 479.
Data in the SYSREC data sets does not have to be grouped by partition. Data for a
particular partition can be in one or more SYSREC data sets.
Although not required, BMC Software recommends that you order your SYSREC DD
statements from the largest data set to the smallest to optimize performance.
If you specify PRELOAD ANALYZE, LOADPLUS stops after the optimization
process of the PRELOAD phase and displays a message that indicates the optimal
number of SORT and READER tasks that it can process concurrently. You can use
this information to adjust the number of SYSREC data sets in your JCL.
Restrictions: In addition to the general restrictions on SYSREC data sets
(Restrictions on page 303), the following restrictions apply to multiple SYSREC
data sets:
s
304
If you have multiple SYSREC data sets and specify ORDER PRESORTED, the load
job terminates.
You can specify a mixture of DASD files and pipes as input. However, you cannot
concatenate these files within one SYSREC DD.
LOADPLUS DD statements
If you concatenate your input data sets, specify the data set with the largest block
size first.
If you use multiple pipe data sets, you must specify a separate SYSREC DD
statement for each pipe data set, and the DCB parameters for all of the pipe data
sets must be the same.
Multiple SYSREC data sets must use the same record format (RECFM). In other
words, they must all be allocated as either F or FB, or they must all be allocated as
V, VB, or VBS. Mixing fixed and variable format data sets produces unpredictable
results.
Multiple SYSREC data sets that are defined with F or FB record format must use
the same record length (LRECL).
SYSUT1nn usage
Load type
SYSUT1nn requirement
two-phase load
not used
single-phase LOAD
REPLACE or LOAD
RESUME NO
not used
not used
305
LOADPLUS DD statements
You can always run with just one SYSUT1 data set. However, if you want to improve
performance, you can specify more than one data set. For more information about
specifying multiple SYSUT1 data sets, see page 307.
To override the default ddname or ddname prefix SYSUT1, use the WORKDDN
command option as described on page 162. See SYSUT1 data set on page 466 for
additional information about performance and considerations.
For multiple load jobs running in a worklist environment, do not use SMS
extended sequential data sets as SYSUT1 data sets. When LOADPLUS first uses a
data set, it defines the data sets DCB attributes. With an SMS extended sequential
data set, once these attributes are defined they cannot be changed. If this data set is
reused, as with multiple load jobs in a worklist environment, it can require
different DCB attribute values, such as a different block size or record length.
LOADPLUS attempts to redefine these attributes if necessary. However, because
MVS does not allow changes to these attributes once the file has been opened,
LOADPLUS fails.
306
LOADPLUS DD statements
If you want a separate work data set for each participating nonclustering index,
specify one DD statement named SYSUT1nn for each index.
If you do not specify ORDER YES, also include a SYSUT1nn DD statement for each
clustering index.
Specifying nn creates a unique ddname; the nn has no relation to the index name.
NOTE
If the number of SYSUT1 DD statements is greater than one and less than the number of
participating nonclustering indexes, LOADPLUS terminates with an error.
When using multiple SYSUT1 data sets, LOADPLUS assigns the index with the
largest key length to the first SYSUT1 DD statement in the JCL, the index with the
second-largest key length to the second SYSUT1 DD statement in the JCL, and so on.
This assignment of indexes to data set by key length can assist you in allocating the
sizes of your data sets and allows you to place data sets on different devices when
needed.
Due to this assignment, you should allocate the space for the participating index with
the largest key length in the first SYSUT1 DD statement in your JCL, space for the
index with the second-largest key length in the second SYSUT1 DD statement, and so
on. Follow the instructions in SYSUT1 data sets on page 735 to determine the
amount of space that you need for the primary and secondary allocations.
If you plan to specify or have LOADPLUS dynamically allocate more than 99 SYSUT1
data sets, use the WORKDDN option (page 162) to specify a ddname prefix that
results in eight characters or less after LOADPLUS appends the highest data set
number. For more information, see Specifying ddname prefixes on page 74.
307
LOADPLUS DD statements
You want to delete and redefine your existing VCAT-defined VSAM data sets as
part of the load.
If you specify REDEFINE YES and do not provide the SYSIDCIN data set,
LOADPLUS operates as if you specified REDEFINE NO. For more information about
this option, see REDEFINE on page 182.
NOTE
You still have the option of deleting and redefining VCAT-defined data sets when you specify
PRELOAD PAUSE. However, when you specify PRELOAD CONTINUE or PRELOAD
LOAD, the only way to delete and redefine VCAT-defined data sets as part of the load is to
specify REDEFINE YES and provide the SYSIDCIN data set that contains the necessary
IDCAMS command statements.
To override the default ddname, SYSIDCIN, use the IDCDDN command option as
described on page 185.
If any referenced object is VCAT-defined, the UTILINIT phase reads, parses, and
performs minimal verification checks on the commands in this data set. LOADPLUS
issues the commands during load processing.
SYSIDCIN can either be a single or concatenated list of sequential data sets,
partitioned data set members, or both. You must define this data set as fixed length
with blocked records (RECFM=FB), and the record length must be 80 bytes
(LRECL=80). LOADPLUS uses only columns 1 through 72.
See Restarting LOADPLUS on page 313 for important restart information.
308
LOADPLUS DD statements
DELETE
DEFINE
SET
IF-THEN-ELSE command sequence
DO/END (with restrictions)
To avoid a failure during processing, ensure that each DEFINE has a corresponding
DELETE specified before it and that each DELETE has a corresponding DEFINE
specified after it. Ensure that both commands specify the same data set name.
You can use the SET command to reset the IDCAMS condition code if a failure occurs
in the LOAD phase or the COMBINED phase and you do not want LOADPLUS to
terminate.
309
LOADPLUS DD statements
WARNING
JES3 users should be aware of a limitation within JES3 that does not allow concurrent tasks to
share SYSOUT data sets. (See IBM APAR OY23946 for a full description of this limitation.)
This limitation means that you cannot use additional sort routine reporting DDs (other than
UTPRINT) if they are defined as JES3 SYSOUT data sets and when LOADPLUS is
multitasking its sort activity. If you attempt to use a nonsupported DD, you risk S1FB abends
when concurrent sort tasks are running. JES3 version 4.2.1 users should also refer to IBM
APARs OW00111 and OY63725.
310
load (SORTOUT)
work (SYSUT1)
sort work (SORTWK)
discard (SYSDISC)
error (SYSERR)
image copy (BMCCPY, BMCCPZ, BMCRCY, and BMCRCZ)
NOTE
When you specify ANALYZE ONLY, LOADPLUS provides estimates for all data sets,
regardless of whether you need them for the type of load that you are running. These
estimates give you the information that you need to run any type of load job.
LOADPLUS writes these statistics to the SYSPRINT data set. For information about
other statistical information messages that the ANALYZE phase issues, see
ANALYZE messages on page 464.
As an alternative to using ANALYZE to help you estimate sizes for work files, you
can have LOADPLUS dynamically allocate your work files for you. To use dynamic
allocation, you must specify ENUMROWS and have dynamic work file allocation
active, either in your installation options or with the DDTYPE command option.
If you do not use the PAUSE or ONLY keywords with ANALYZE, LOADPLUS also
gathers the information described in this section. However, instead of pausing or
stopping, LOADPLUS continues processing. If dynamic allocation is enabled,
LOADPLUS uses the ANALYZE phase information to dynamically allocate your
work files. In this case, the ANALYZE phase does not write the statistics to
SYSPRINT.
NOTE
When you use the ANALYZE function, you must also specify the ENUMROWS option. For
information about the ENUMROWS option, see ENUMROWS on page 174.
311
NOTE
For rows that contain VARCHAR columns or tables that contain EDITPROCs, ANALYZE
ONLY might report a secondary quantity for SORTOUT that is larger than the reported
primary quantity because LOADPLUS bases the primary quantity on the average row length
and the secondary quantity on the maximum row length from the DB2 catalog. In this
instance, BMC Software recommends that you provide a secondary quantity of approximately
25 percent of the primary quantity.
Invoking LOADPLUS
You normally invoke LOADPLUS as a batch job by specifying execution of the
module AMUUMAIN on the EXEC statement of your JCL and including the required
EXEC statement parameters. You must also specify any DD statements that
LOADPLUS requires, as described in preceding sections.
Ensure that all required libraries are available and APF-authorized as described in
STEPLIB DD statement on page 291.
312
Restarting LOADPLUS
Restarting LOADPLUS
You can restart LOADPLUS from any phase. In general, when you encounter a
failure, you can correct the problem and restart the load with either the RESTART or
RESTART(PHASE) parameter on your EXEC statement. LOADPLUS issues messages
as it loads and rebuilds each DB2 object. The BMCSYNC table contains an entry for
each DB2 object that is involved in the load and its current status. The BMCUTIL table
contains an entry for each load job and its current status.
When you restart a LOADPLUS job, you must use the same objects that you used
originally:
s
Input data: You must use the same input data that you used originally and it must
be in the same order. For example, if you are loading concatenated data sets, these
data sets must be in the same order as they were originally, and you must not
include any additional data sets. Similarly, if LOADPLUS encountered duplicates
during the original job, do not remove them before you restart. Data that is missing
or that is in a different order in the restarted job than in the original job produces
unpredictable results.
Table: You must load the same table that you specified in the original run. The
table structure must not be changed (as it would be with an ALTER) before
restarting the load.
The following sections describe information that you need to know when restarting
or recovering from specific situations or when a particular environment, type of load
job, or object is involved. Use Table 72 to help locate this information.
Table 72
Environment or object
Page reference
316
314
DEFINE NO objects
318
DELETEFILES
317
317
Dynamic allocation
314
IDCAMS DEFINE
317
319
318
INDEX UPDATE
317
316
317
ORDER option
317
Partition number
317
313
Restarting LOADPLUS
Table 72
Environment or object
Page reference
Real-time statistics
318
316
Single-phase load
315
316
SQLAPPLY load
316
316, 318
316
Two-phase load
315
Dynamic allocation
On restart, LOADPLUS automatically reallocates dynamically allocated data sets.
Changing any dynamic work file allocation option on restart such that it results in
different ddnames or a different number of DDs than the original option can produce
an error. If you need to change the number of SORTOUT or SYSUT1 work files,
resubmit the job with a parameter of NEW.
You cannot change the value for the ACTIVE option on any restart.
To change the value of other dynamic work file allocation options, specify
RESTART(PHASE).
If you run out of space when dynamically allocating copy data sets, you can perform
one of the following actions:
s
NOTE
If you choose this option, ensure that you specify the appropriate COPYPEND option.
314
Restarting LOADPLUS
Two-phase load
In general, you restart a two-phase load depending on whether you want to restart
from the last restart sync point or at the beginning of the last incomplete phase:
s
To restart from the last restart sync point, specify RESTART without (PHASE).
LOADPLUS takes restart sync points as each phase completes and as the
processing of each DB2 object completes.
NOTE
The SYNC option (on the LOAD command) controls the frequency with which rows are
updated in the BMCSYNC table. It does not control sync points that LOADPLUS uses
when restarting.
Single-phase load
In general, the restart parameter RESTART(PHASE) works the same as RESTART
when you restart a single-phase load. For additional criteria that might affect which
RESTART option to use, refer to the other topics in this section.
For a single-phase LOAD RESUME YES SHRLEVEL NONE load job, you cannot
restart the job under either of the following circumstances:
s
You did not allocate a SYSUT1 data set (or specify dynamic allocation for SYSUT1)
on the original job. This restriction does not apply if you specified TABLE name
REPLACE.
You did not allocate a SORTOUT data set (or specify dynamic allocation for
SORTOUT) on the original job. This restriction does not apply if you specified
ORDER YES but not PART n REPLACE or TABLE name REPLACE.
See Recovering the DB2 object after terminating or canceling the job on page 320 for
information about recovering your load job.
Chapter 4 How to build and execute LOADPLUS jobs
315
Restarting LOADPLUS
SQLAPPLY load
As with other LOADPLUS jobs, if you restart an SQLAPPLY job, you must use the
same input data that you used originally and it must be in the same order. This is
particularly critical for an SQLAPPLY job because of the way that Apply Plus handles
restart processing.
In general, the restart parameter RESTART(PHASE) works the same as RESTART
when you restart an SQLAPPLY job. For additional criteria that might affect which
RESTART option to use, refer to the other topics in this section.
316
Restarting LOADPLUS
Partition number
If you change the partition number on restart, LOADPLUS issues message
BMC50113E and terminates with return code 8.
IDCAMS DEFINE
If you are restarting because a failure occurred during IDCAMS DEFINE processing,
you must manually define the data set.
INDEX UPDATE
If you specified INDEX UPDATE and a failure occurred during index update
processing, you must recover your table space and indexes. If you attempt to restart,
LOADPLUS terminates and issues message BMC51435S.
When you specify INDEX UPDATE and index update processing completes, but the
job fails in the LOAD or COMBINED phase, you must restart the job by specifying
RESTART without PHASE. If you specify RESTART(PHASE), LOADPLUS
terminates and issues message BMC51436E.
ORDER option
You cannot change the value of the ORDER command option when restarting your
load job.
DELETEFILES
To restart during DELETEFILES processing, specify RESTART without (PHASE).
317
Restarting LOADPLUS
DEFINE NO objects
For table spaces or index spaces that are created with DEFINE NO, if LOADPLUS is
unable to materialize a data set that is associated with the tables that you are loading,
LOADPLUS attempts to materialize the underlying data sets for all of the tables
before terminating.
If you are loading a table whose table space or index spaces are created with DEFINE
NO and there is a check constraint or VALIDPROC on the table, LOADPLUS
attempts to materialize the underlying data sets. However, if LOADPLUS cannot
resolve the constraint or if the VALIDPROC prevents LOADPLUS from materializing
the data sets, LOADPLUS terminates. To load the table in this situation, you must
manually materialize the associated data sets before you restart the job.
Real-time statistics
Unlike the IBM LOAD utility, LOADPLUS attempts to update the DB2 real-time
statistics tables any time you restart your load job. If LOADPLUS is unable to update
one or more columns, processing continues and LOADPLUS issues message
BMC50290I.
1 Copy the data from your original data set to a temporary data set.
2 Delete the original data set.
3 Allocate a larger SYSERR data set with the same data set name and DCB
parameters as the original. These might not be the same DCB parameters that were
coded in your JCL.
318
Restarting LOADPLUS
4 Copy the data from the temporary data set to the new SYSERR data set.
5 Restart your job.
SYSERR data sets that are allocated in your JCL
Perform the following steps if you are not dynamically allocating your SYSERR data
set, but allocating it in your JCL:
1 Allocate a larger SYSERR data set and make sure that you use the same DCB
parameters as your original data set. These might not be the same DCB parameters
that were coded in your JCL.
2 Because LOADPLUS verifies your SYSERR data set on restart, you must copy the
data from the original data set to the new data set.
Action
Allocate new data sets for the data sets that failed,
specifying a larger primary and secondary space or
both.
NOTE
After the PRELOAD phase, LOADPLUS does not use changes to FREEPAGE, PCTFREE, or
PIECESIZE values. LOADPLUS uses other values, such as storage group definitions and data
set passwords, if they have changed.
319
After correcting the problem that caused the inadequate space failure, restart the load
job with the RESTART option. LOADPLUS does not reload or rebuild DB2 objects
that were already loaded or built successfully. However, if you reallocate any data
sets that were successfully loaded or built, restart the load process at the beginning of
the LOAD phase with RESTART(PHASE).
WARNING
If you reallocate data sets that were successfully loaded or built in the COMBINED phase, you
will lose the data contained in those data sets.
320
The job ended for a reason other than you terminating it, and you do not intend to
restart it (or you cannot restart it due to omitted SORTOUT or SYSUT1 data sets).
You canceled the job, and you do not intend to restart it (or you cannot restart it
due to omitted SORTOUT or SYSUT1 data sets).
If you canceled your LOADPLUS job, or the job ended for a reason other than you
terminating it, you can restart the job (with the exception described in the
following note). When you restart the job, you do not need to perform any
additional recovery steps other than under the special circumstances that are
described in Restarting LOADPLUS on page 313.
NOTE
For a single-phase load job, if you did not allocate SORTOUT or SYSUT1 data sets and
LOADPLUS completed sort processing before the cancellation or termination, you cannot
restart your load job.
Table 74
If LOADPLUS dynamically allocated your work files, and you cancel your job or
your job terminates, you must manually delete the dynamically allocated files.
Phase in which
job terminated
Specified options
Recovery steps
UTILINIT
any
PRELOAD
LOAD REPLACE
PRELOAD
321
Table 74
Phase in which
job terminated
LOAD
Specified options
Recovery steps
Complete the following
steps:
1. Start the table space
and index spaces.
2. Recover the table
space.
no PART
specifications and
no TABLE name
REPLACE
specification
LOAD
LOAD or
COMBINED
322
Table 74
Phase in which
job terminated
Specified options
LOAD or
COMBINED
LOAD REPLACE
SHRLEVEL NONE
Recovery steps
Complete the following
steps:
1. Start the table and
index spaces.
2. Either rerun the job or
recover the table
space and then
recover the indexes.
COMBINED
LOAD or
COMBINED
SHRLEVEL NONE
or
LOAD RESUME YES
SHRLEVEL CHANGE
323
Table 74
Phase in which
job terminated
Specified options
UTILTERM
SHRLEVEL NONE
Recovery steps
or
LOAD RESUME YES
SHRLEVEL CHANGE
SQLAPPLY
UTILTERM
324
LOAD REPLACE
SHRLEVEL
REFERENCE
or
LOAD REPLACE
SHRLEVEL CHANGE
The renaming
process started
but did not
complete.
Manually complete or
back out the renaming
process and remove
pending statuses.
Note: BMC Software
recommends that you
restart your job rather
than attempt to rename
the staging data sets
manually.
Chapter
325
Overview
Overview
This chapter presents several examples of jobs that were run by using the
LOADPLUS product. Each example includes the following information:
s
s
s
With the exception of the SQLAPPLY example, these examples use a single BMC
Software product load library and assume that this library contains the
LOADPLUS, BMCSORT, and DB2 Solution Common Code (SCC) load files.
These examples use minimal data set space allocations in the JCL. For help in
calculating allocation sizes for your data sets, see Appendix D, Calculating
LOADPLUS work data set sizes. If you want LOADPLUS to calculate the size and
dynamically allocate the data sets for you, see Dynamic work file allocation
options on page 262.
The value for the FILECHK installation option is set to WARN. This option
prevents the jobs from failing when they encounter temporary data sets.
The value for the SORTNUM installation option is set to 32 to enable BMCSORT to
dynamically allocate sort work data sets when needed.
You can find copies of the JCL for these examples in members AMUEXnn (where nn
is the example number) in the HLQ.CNTL installation data set (where HLQ is the
high-level qualifier set during installation).
See Chapter 3, Syntax of the LOAD command for syntax details and Building the
LOADPLUS job on page 285 for details about JCL statement requirements.
Table 75
Function
Relevant examples
Load Type
REPLACE
RESUME YES
326
Overview
Table 75
Function
Relevant examples
16
RESUME NO
7, 10
single phase
1, 3, 13, 16
two phase
CSV input
13
14
online load
1, 12
partition parallelism
2, 3, 5, 8, 11
user exit
Object type
simple table space
1, 6, 7, 10, 17
2, 3, 5, 8, 9, 11, 12, 15
4, 13, 16
4, 16
8, 9, 16
17
5, 16
5, 6, 15, 16
4, 5, 8, 9, 11, 1416
Command option
ACTIVE
11, 16
ANALYZE PAUSE
AND/OR condition
BMCSTATS YES
2, 8, 11
CCSID
17
CENTURY
COPYDDN
3, 9
COPY NO
7, 10, 13, 15
COPY YES
25, 8, 9, 11, 16
COPYPEND NO
13
DDTYPE
11, 12, 16
DEFAULTIF
5, 6
DELETEFILES
1214, 16
327
Overview
Table 75
Function
Relevant examples
DISCARDDN
3, 9
DISCARDS
7, 10
DSNPAT
11, 12
EBCDIC
17
3, 9
EXIT
FORMAT BMCUNLOAD
14
FORMAT CSV
13
GDGLIMIT
11
IFALLOC
11
IFDISCARDS
IGNORE
7, 10
INDDN
3, 9
INDEX UPDATE
INDSN
2, 14
INLINE YES
4, 6, 9
13, 5, 7, 8, 1015, 17
16
LOADDN
3, 9
LOG NO
24, 8, 9, 11, 15
NULLIF
5, 7, 10, 13
ORDER NO
3, 4, 6, 9, 11, 12
ORDER YES
2, 5, 8, 12, 15, 16
PART
PART REPLACE
POSITION (start:end)
2, 3, 712, 1517
POSITION (start)
1, 57, 10
POSITION (*)
4, 7, 10, 13
PRELOAD LOAD
1, 3, 13, 14, 16
RECOVERYDDN
3, 9
REDEFINE NO
2, 8, 11
REDEFINE YES
REGISTER ALL
328
7, 8, 1012, 14, 16
16
Table 75
Function
Relevant examples
REGISTER ddname
REGISTER NONE
2, 3, 8, 9
REPORT
7, 10
12
SHRLEVEL REFERENCE
SIZEPCT
11
SKIPFIELDS YES
7, 10
SKIPIX
15
SORTDEVT
7, 10
SQLAPPLY
12
16
THRESHLD
11
TRIM
1, 5
UNIQUECHECK NO
UNIQUEINTO YES
UNIT
11
UNITCNT
11
UPDATEDB2STATS
2, 8, 11
VALUE
5, 6
VOLCNT
11
WHEN condition
4, 5, 7, 10, 15, 16
WHEN TABLE=obid
14
WORKDDN
3, 9
SYSPRINT A (starting on page 332) shows the output when the job is run as a
two-phase load.
329
In the third version of this job, the SHRLEVEL REFERENCE option is added to the
command statement, overriding the SHRLEVEL=(NONE,NONE) installation
option value, to improve the accessibility of the data. SYSPRINT C (starting on
page 337) shows the SHRLEVEL REFERENCE load output.
In this example, LOADPLUS loads the data into a simple, STOGROUP-defined table
space that contains only one table with no indexes. LOADPLUS replaces all existing
rows and deletes and redefines the VSAM data set for the space.
No sort work data sets are allocated because there are no indexes and LOADPLUS is
not sorting the data.
The following data conversions take place:
s
s
s
Because no COPY option is included on the LOAD command, LOADPLUS does not
make a copy. Because the COPYPEND installation option is set to YES, LOADPLUS
places the table space in COPY pending status and the job completes with return
code 4.
The SYSPRINT output indicates that conversion errors occurred. Because the EXEC
statement designates MSGLEVEL(1), LOADPLUS issues message BMC51501E to
identify the erroneous input fields.
Note that the JCL defines the SORTOUT and SYSERR data sets as
DISP=(MOD,CATLG,CATLG) and the SYSDISC data set as
DISP=(NEW,CATLG,CATLG). The EXEC statement includes the NEW/RESTART
restart parameter.
Figure 8 shows the JCL for example 1A.
Figure 8
//
JOB
//EXAMPLE1 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE1,NEW/RESTART,,MSGLEVEL(1),AMU$OPTO'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
330
Figure 8
//SYSUDUMP DD SYSOUT=*
//*
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX1DATA),
//
DISP=SHR,UNIT=DISK
//SORTOUT DD DSN=AMU.EXAMP01A.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP01A.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP01A.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSIN
DD *
LOAD REPLACE
INTO TABLE EXAMPLE1.TBL1
(SMINT_COL1
POSITION(1)
CHARACTER(3)
,TIMESTAMP_COL2 POSITION(4)
TIMESTAMP EXTERNAL(19)
,DATE_COL3
POSITION(23)
DATE EXTERNAL
,VARCHAR_COL4
POSITION(33)
CHARACTER(40) TRIM
,CHAR_COL5
POSITION(73)
CHARACTER(7)
)
/*
Figure 9 shows how the LOAD command changes for example 1B.
Figure 9
//SYSIN
DD *
LOAD REPLACE
PRELOAD LOAD
INTO TABLE EXAMPLE1.TBL1
(SMINT_COL1
,TIMESTAMP_COL2
,DATE_COL3
,VARCHAR_COL4
,CHAR_COL5
)
POSITION(1)
POSITION(4)
POSITION(23)
POSITION(33)
POSITION(73)
CHARACTER(3)
TIMESTAMP EXTERNAL(19)
DATE EXTERNAL
CHARACTER(40) TRIM
CHARACTER(7)
Figure 10 shows how the LOAD command changes again for example 1C.
Figure 10
//SYSIN
DD *
LOAD REPLACE SHRLEVEL REFERENCE
PRELOAD LOAD
INTO TABLE EXAMPLE1.TBL1
(SMINT_COL1
POSITION(1)
,TIMESTAMP_COL2 POSITION(4)
,DATE_COL3
POSITION(23)
,VARCHAR_COL4
POSITION(33)
,CHAR_COL5
POSITION(73)
)
CHARACTER(3)
TIMESTAMP EXTERNAL(19)
DATE EXTERNAL
CHARACTER(40) TRIM
CHARACTER(7)
331
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
332
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 11
BMC50470I
BMC50470I
BMC50470I
BMC50470I
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC50004I
=
= 5
= NO
= NO
LOAD REPLACE
INTO TABLE EXAMPLE1.TBL1
(SMINT_COL1
,TIMESTAMP_COL2
,DATE_COL3
,VARCHAR_COL4
,CHAR_COL5
)
POSITION(1)
POSITION(4)
POSITION(23)
POSITION(33)
POSITION(73)
5
NO
NO
5
NO
NO
CHARACTER(3)
TIMESTAMP EXTERNAL(19)
DATE EXTERNAL
CHARACTER(40) TRIM
CHARACTER(7)
FOR TABLE 'EXAMPLE1.TBL1', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'SMINT_COL1
' HAS POSITION(1:3)
FIELD 'TIMESTAMP_COL2
' HAS POSITION(4:22)
FIELD 'DATE_COL3
' HAS POSITION(23:32)
FIELD 'VARCHAR_COL4
' HAS POSITION(33:72)
FIELD 'CHAR_COL5
' HAS POSITION(73:79)
UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
5
NO
NO
= 0, TIME = 72704
SYSREC, DATA
SYSREC, DATA
SYSREC, DATA
5 OF SYSREC,
7 OF SYSREC,
8 OF SYSREC,
= C'1990-02-29'
= C'1990-13-1 '
= C'1990-9-31 '
DATA = C'1990-02-31-12.32.00'
DATA = C'1990-04-31-12.34.00'
DATA = C'1990-11-31-12.35.00'
333
Figure 11
BMC51510I
BMC51478I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC50476I
BMC51507I
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
BMC51524E
1
1
1
BMC51524E
2
2
2
BMC51524E
3
3
3
BMC51524E
5
5
4
BMC51524E
7
7
5
BMC51524E
8
8
6
BMC50476I DDNAME = SYSREC, I/OS = 1, I/O
DISCARD
TYPE
RELATED
ID: RECORD
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
7
7
7
7
7
7
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
DATE_COL3
DATE_COL3
DATE_COL3
TIMESTAMP_COL2
TIMESTAMP_COL2
TIMESTAMP_COL2
BMC50476I
BMC50476I
BMC51486I
BMC51472I
BMC51479I
BMC50004I
BMC50474I
BMC51498I
BMC51508I
BMC51453I
BMC50482I
BMC50477I
BMC50476I
BMC51475I
BMC50004I
BMC50387W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
334
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:45:20 ...
UTILITY ID = 'EXAMPLE1'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6816K,ABOVE 16M=1624964K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
KSAVED
0
PSAVED
0
Figure 12
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
APCOMMIT=2500
APMXAGNT=10
APRETLIM=COUNT
APRETVAL=5
CBUFFS=30
CENTURY=(1950,2049)
CHEKPEND=YES
COPYDDN=(BMCCPY,BMCCPZ)
COPYLVL=FULL
COPYPEND=YES
DELFILES=(NO,NO)
DISCARDLIMRC=8
DISCARDRC=0
DISCDDN=SYSDISC
DSNUEXIT=(NONE,ASM)
ENFORCE=CHECK
ERRDDN=SYSERR
EXCLDUMP=(X37,X22,X06)
FILECHK=WARN
IBUFFS=20
IDCACHE=1000
IDCDDN=SYSIDCIN
IDERROR=DISCARD
IMAGECPY=YES
INDDN=SYSREC
INLINECP=NO
KEEPDICTIONARY=NO
LBUFFS=20
LOADCPY=YES
LOADDN=SORTOUT
LOCKROW=YES
MAXP=5
MAXTAPE=3
MSGLEVEL=1
OPNDB2ID=YES
ORIGDISP=DELETE
PAUSEDISCARDRC=4
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
REDEFINE=YES
RENMMAX=30
RULES=STANDARD
SDUMP=YES
SHRLEVEL=(NONE,NONE)
SMAX=8
SMCORE=(0K,0K)
SORTNUM=32
SQLDELAY=3
SQLRETRY=100
STOP@CMT=NO
STOPDELAY=1
STOPRETRY=300
TAPEDISP=DELETE
UPDMAXA=NO
UXSTATE=SUP
WBUFFS=(20,10)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
335
Figure 12
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
CHARACTER SET
DATE FORMAT
TIME FORMAT
LOCAL DATE LENGTH
LOCAL TIME LENGTH
DECIMAL POINT
DECIMAL ARITHMETIC
DELIMITER
SQL DELIMITER
ENCODING SCHEME
APPL. ENCODING SCHEME
MIXED
EBCDIC CCSID
ASCII CCSID
UNICODE CCSID
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC50004I
336
ALPHANUM
USA
USA
0
0
PERIOD
15
DEFAULT
DEFAULT
EBCDIC
EBCDIC
NO
(37,65534,65534)
(819,65534,65534)
(367,1208,1200)
LOAD REPLACE
PRELOAD LOAD
INTO TABLE EXAMPLE1.TBL1
(SMINT_COL1
,TIMESTAMP_COL2
,DATE_COL3
,VARCHAR_COL4
,CHAR_COL5
)
POSITION(1)
POSITION(4)
POSITION(23)
POSITION(33)
POSITION(73)
CHARACTER(3)
TIMESTAMP EXTERNAL(19)
DATE EXTERNAL
CHARACTER(40) TRIM
CHARACTER(7)
FOR TABLE 'EXAMPLE1.TBL1', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'SMINT_COL1
' HAS POSITION(1:3)
FIELD 'TIMESTAMP_COL2
' HAS POSITION(4:22)
FIELD 'DATE_COL3
' HAS POSITION(23:32)
FIELD 'VARCHAR_COL4
' HAS POSITION(33:72)
FIELD 'CHAR_COL5
' HAS POSITION(73:79)
UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
Figure 12
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
BMC51524E
1
1
1
BMC51524E
2
2
2
BMC51524E
3
3
3
BMC51524E
5
5
4
BMC51524E
7
7
5
BMC51524E
8
8
6
BMC50476I DDNAME = SYSREC, I/OS = 1, I/O
DISCARD
TYPE
RELATED
ID: RECORD
CONVERSION
59:
CONVERSION
59:
CONVERSION
59:
CONVERSION
59:
CONVERSION
59:
CONVERSION
59:
WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
7
7
7
7
7
7
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
DATE_COL3
DATE_COL3
DATE_COL3
TIMESTAMP_COL2
TIMESTAMP_COL2
TIMESTAMP_COL2
BMC50476I
BMC50476I
BMC51472I
BMC51479I
BMC51475I
BMC50004I
BMC50386W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
KSAVED
0
PSAVED
0
337
Figure 13
BMC50471I
BMC50471I
BMC50471I
BMC50471I
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I BMC_BMCUTIL
BMC50471I BMC_BMCSYNC
BMC50471I BMC_BMCHIST
338
='BMCUTIL.CMN_BMCUTIL'
='BMCUTIL.CMN_BMCSYNC'
='BMCUTIL.CMN_BMCHIST'
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 13
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC50004I
FOR TABLE 'EXAMPLE1.TBL1', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'SMINT_COL1
' HAS POSITION(1:3)
FIELD 'TIMESTAMP_COL2
' HAS POSITION(4:22)
FIELD 'DATE_COL3
' HAS POSITION(23:32)
FIELD 'VARCHAR_COL4
' HAS POSITION(33:72)
FIELD 'CHAR_COL5
' HAS POSITION(73:79)
UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
CHARACTER(3)
TIMESTAMP EXTERNAL(19)
DATE EXTERNAL
CHARACTER(40) TRIM
CHARACTER(7)
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
BMC51524E
1
1
1
BMC51524E
2
2
2
BMC51524E
3
3
3
BMC51524E
5
5
4
BMC51524E
7
7
5
BMC51524E
8
8
6
BMC50476I DDNAME = SYSREC, I/OS = 1, I/O
DISCARD
TYPE
RELATED
ID: RECORD
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
CONVERSION
87:
WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
7
7
7
7
7
7
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
EXAMPLE1.TBL1
DATE_COL3
DATE_COL3
DATE_COL3
TIMESTAMP_COL2
TIMESTAMP_COL2
TIMESTAMP_COL2
BMC50476I
BMC50476I
BMC51472I
BMC51479I
BMC51475I
BMC50004I
BMC50890I
BMC50891I
BMC50890I
BMC50891I
BMC50890I
BMC50891I
1:
1:
1:
1:
1:
1:
339
Figure 13
DBCARD PCOMP
0
0
KSAVED
0
PSAVED
0
340
//
JOB
//EXAMPLE2 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE2,NEW/RESTART,,MSGLEVEL(1),AMU$OPTO'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//SORTOUT DD DSN=AMU.EXAMP002.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP002.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP002.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSUT101 DD DSN=AMU.EXAMP002.SYSUT101,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SORTWK01 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK04 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK05 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK06 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK07 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK08 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK09 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK10 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK11 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK12 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//*
//BMCCPY01 DD DSN=AMU.EXAMP002.PART1.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY02 DD DSN=AMU.EXAMP002.PART2.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY03 DD DSN=AMU.EXAMP002.PART3.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY04 DD DSN=AMU.EXAMP002.PART4.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY05 DD DSN=AMU.EXAMP002.PART5.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY06 DD DSN=AMU.EXAMP002.PART6.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY07 DD DSN=AMU.EXAMP002.PART7.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY08 DD DSN=AMU.EXAMP002.PART8.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY09 DD DSN=AMU.EXAMP002.PART9.COPY,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY10 DD DSN=AMU.EXAMP002.PART10.COPY,,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
341
Figure 14
//SYSIN DD *
LOAD REPLACE
INDSN('AMU.QA.RGRTESTS(EX2DATA)')
ORDER YES
UPDATEDB2STATS YES BMCSTATS YES
REDEFINE NO
INTO TABLE EXAMPLE2.TBL1 INTO PART 1:5,8:10
(DATE_OF_SALE
POSITION(72:77) DATE-2 EXTERNAL
,SALES_TRANS_ID
POSITION(52:61) INTEGER EXTERNAL
,SALES_ITEM_ID
POSITION(1:10) CHARACTER
,SALES_QTY
POSITION(11:21) INTEGER EXTERNAL
,SALES_PR_PER_ITEM
POSITION(22:30) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL_TX
POSITION(31:39) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL
POSITION(42:50) DECIMAL EXTERNAL(9,2)
,SELLER_ID
POSITION(62:71) CHARACTER
)
LOG NO
COPY YES INLINE YES REGISTER NONE
/*
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:47:40 ...
UTILITY ID = 'EXAMPLE2'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6812K,ABOVE 16M=1624788K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
342
Figure 15
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
343
Figure 15
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
DATE-2 EXTERNAL
INTEGER EXTERNAL
CHARACTER
INTEGER EXTERNAL
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
CHARACTER
'.
'.
VALUE IS DEFAULTED
VALUE IS DEFAULTED
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
DISCARD
TYPE
RELATED
ID: RECORD
BMC51524E
201
201
1 PARTITION
11:
BMC51524E
202
202
2 PARTITION
11:
BMC51524E
203
203
3 PARTITION
11:
BMC51524E
204
204
4 PARTITION
11:
BMC51524E
205
205
5 PARTITION
11:
BMC51524E
206
206
6 PARTITION
11:
BMC51524E
207
207
7 PARTITION
11:
BMC51524E
208
208
8 PARTITION
11:
BMC51524E
209
209
9 PARTITION
11:
BMC51524E
210
210
10 PARTITION
11:
BMC51524E
211
211
11 PARTITION
11:
BMC51524E
212
212
12 PARTITION
11:
BMC51524E
213
213
13 PARTITION
11:
BMC51524E
214
214
14 PARTITION
11:
BMC51524E
215
215
15 PARTITION
11:
BMC51524E
216
216
16 PARTITION
11:
BMC51524E
217
217
17 PARTITION
11:
BMC51524E
218
218
18 PARTITION
11:
BMC51524E
219
219
19 PARTITION
11:
BMC50476I DDNAME = SYSREC01, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC50476I
BMC50476I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
344
TABLE
NAME
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
FIELD, INDEX, OR
CONSTRAINT NAME
12 PAGES
PAGES (APPROX.)
4 PAGES
PAGES (APPROX.)
4 PAGES
PAGES (APPROX.)
Figure 15
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51488I
BMC51472I
BMC51479I
BMC50004I
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
LOADING
PRELOAD
PRELOAD
PRELOAD
BMC50474I
BMC51498I
BMC51508I
BMC51508I
BMC51453I
BMC50375I
BMC50476I
BMC50481I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50375I
BMC51476I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC50482I
BMC50477I
BMC50375I
345
Figure 15
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC51476I
BMC51475I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50004I
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
346
DBCARD PCOMP
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
KSAVED
0
0
0
0
0
0
0
0
0
0
PSAVED
0
0
0
0
0
0
0
0
0
0
Figure 15
BMC50531I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50505I
BMC50506I
BMC50290I
BMC50006I
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
1
6
454
50
0
1
0
4
2
2
2
5
59
0
1
0
0
6
1
2
3
5
60
0
1
0
0
6
1
2
4
5
0
0
0
0
0
7
1
2
5
5
62
0
1
0
0
6
1
2
6
5
0
0
0
0
0
7
1
2
7
5
0
0
0
0
0
7
1
2
8
5
100
0
1
0
0
6
1
2
9
5
100
0
1
0
0
6
1
2
10
5
0
0
0
0
0
7
1
2
INDEX
EXAMPLE2.IX1
TABLE EXAMPLE2.TBL1
COLUMN SELLER_ID
NACTIVE = 6
SPACE
= 15
FIRSTKEY= 2
FULLKEY = 2
NLEAF
= 2
LEVELS = 2
PCTCLUST= 75
KEYLEN = 10
COLCOUNT= 1
SUBPAGE = 1
CLUSTER = N
UNIQUE = D
HIGH2KEY= X'E2D4C9E3C8F54040' LOW2KEY= X'E9C9C7C1C6D6D6E2'
HIGH2KEY= SMITH5
LOW2KEY= ZIGAFOOS
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
0
6
835
50
11
2
0
7
2
2
BMCSTATS UPDATED IN THE DASD MANAGER PLUS DATABASE
STATISTICS COLUMNS UPDATED IN THE DB2 CATALOG
DB2 REAL-TIME-STATISTICS -RESET STATS- FUNCTION FOR LOAD UTILITY SUCCESSFUL FOR ALL OBJECTS
UTILITY EXECUTION COMPLETE, RETURN CODE = 0
SPACE
15
15
15
15
15
15
15
15
15
15
EXTENTS
1
1
1
1
1
1
1
1
1
1
SPACE
15
EXTENTS
1
347
Assuming that the data was sorted before this run, the LOAD command includes the
ORDER NO option. The clustering index is processed as a secondary index, which
allows LOADPLUS to use two SYSUT1 data sets to process the two indexes
concurrently.
The DD statements in the JCL direct LOADPLUS to create two copies of each
partition.
Figure 16 shows the JCL for example 3.
Figure 16
//
JOB
//EXAMPLE3 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE3,NEW/RESTART,,MSGLEVEL(1),AMU$OPTO'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//INDATA
DD DSN=AMU.QA.RGRTESTS(EX3DATA),DISP=SHR
//DATAWK
DD DSN=AMU.EXAMP003.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//ERRWK
DD DSN=AMU.EXAMP003.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//DISCARDS DD DSN=AMU.EXAMP003.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//IXWK01
DD DSN=AMU.EXAMP003.SYSUT1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//IXWK02
DD DSN=AMU.EXAMP003.SYSUT2,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SORTWK01 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK04 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK05 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK06 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK07 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK08 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK09 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK10 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK11 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK12 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//*
//CPY00001 DD DSN=AMU.EXAMP003.COPY01,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00002 DD DSN=AMU.EXAMP003.COPY02,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00003 DD DSN=AMU.EXAMP003.COPY03,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00004 DD DSN=AMU.EXAMP003.COPY04,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00005 DD DSN=AMU.EXAMP003.COPY05,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00006 DD DSN=AMU.EXAMP003.COPY06,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00007 DD DSN=AMU.EXAMP003.COPY07,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00008 DD DSN=AMU.EXAMP003.COPY08,
348
Figure 16
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00009 DD DSN=AMU.EXAMP003.COPY09,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY00010 DD DSN=AMU.EXAMP003.COPY10,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00001 DD DSN=AMU.EXAMP003.RCOPY01,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00002 DD DSN=AMU.EXAMP003.RCOPY02,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00003 DD DSN=AMU.EXAMP003.RCOPY03,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00004 DD DSN=AMU.EXAMP003.RCOPY04,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00005 DD DSN=AMU.EXAMP003.RCOPY05,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00006 DD DSN=AMU.EXAMP003.RCOPY06,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00007 DD DSN=AMU.EXAMP003.RCOPY07,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00008 DD DSN=AMU.EXAMP003.RCOPY08,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00009 DD DSN=AMU.EXAMP003.RCOPY09,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY00010 DD DSN=AMU.EXAMP003.RCOPY10,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSIN
DD *
LOAD RESUME YES
PRELOAD LOAD
INDDN
INDATA
LOADDN
DATAWK
ERRDDN
ERRWK
WORKDDN
IXWK
DISCARDDN
DISCARDS
COPYDDN
CPY
RECOVERYDDN RCY
ORDER NO
INTO TABLE EXAMPLE2.TBL1
(DATE_OF_SALE
POSITION(72:77) DATE-2 EXTERNAL
,SALES_TRANS_ID
POSITION(52:61) INTEGER EXTERNAL
,SALES_ITEM_ID
POSITION(1:10) CHARACTER
,SALES_QTY
POSITION(11:21) INTEGER EXTERNAL
,SALES_PR_PER_ITEM
POSITION(22:30) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL_TX
POSITION(31:39) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL
POSITION(42:50) DECIMAL EXTERNAL(9,2)
,SELLER_ID
POSITION(62:71) CHARACTER
)
LOG NO
COPY YES REGISTER NONE
/*
349
Figure 17
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
IDCACHE=1000
IDCDDN=SYSIDCIN
IDERROR=DISCARD
IMAGECPY=YES
INDDN=SYSREC
INLINECP=NO
KEEPDICTIONARY=NO
LBUFFS=20
LOADCPY=YES
LOADDN=SORTOUT
LOCKROW=YES
MAXP=5
MAXTAPE=3
MSGLEVEL=1
OPNDB2ID=YES
ORIGDISP=DELETE
PAUSEDISCARDRC=4
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
REDEFINE=YES
RENMMAX=30
RULES=STANDARD
SDUMP=YES
SHRLEVEL=(NONE,NONE)
SMAX=8
SMCORE=(0K,0K)
SORTNUM=32
SQLDELAY=3
SQLRETRY=100
STOP@CMT=NO
STOPDELAY=1
STOPRETRY=300
TAPEDISP=DELETE
UPDMAXA=NO
UXSTATE=SUP
WBUFFS=(20,10)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
350
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 17
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
CHARACTER SET
DATE FORMAT
TIME FORMAT
LOCAL DATE LENGTH
LOCAL TIME LENGTH
DECIMAL POINT
DECIMAL ARITHMETIC
DELIMITER
SQL DELIMITER
ENCODING SCHEME
APPL. ENCODING SCHEME
MIXED
EBCDIC CCSID
ASCII CCSID
UNICODE CCSID
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
ALPHANUM
USA
USA
0
0
PERIOD
15
DEFAULT
DEFAULT
EBCDIC
EBCDIC
NO
(37,65534,65534)
(819,65534,65534)
(367,1208,1200)
POSITION(72:77)
POSITION(52:61)
POSITION(1:10)
POSITION(11:21)
POSITION(22:30)
POSITION(31:39)
POSITION(42:50)
POSITION(62:71)
DATE-2 EXTERNAL
INTEGER EXTERNAL
CHARACTER
INTEGER EXTERNAL
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
CHARACTER
'.
'.
VALUE IS DEFAULTED
VALUE IS DEFAULTED
351
Figure 17
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC50481I
BMC50481I
BMC50482I
BMC50477I
BMC51476I
BMC50481I
BMC51510I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC51505E
BMC51506E
BMC50482I
BMC50477I
BMC51474I
BMC51505E
BMC51506E
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50481I
BMC51510I
BMC50476I
BMC50482I
BMC50477I
BMC50476I
BMC50481I
BMC50481I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50481I
BMC51510I
BMC50481I
BMC50482I
BMC50477I
BMC50476I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC51507I
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
DISCARD
TYPE
RELATED
ID: RECORD
BMC51524E
1
1
1 DUPLICATE KEY
0:
BMC51524E
2
2
2 DUPLICATE KEY
0:
BMC50476I DDNAME = INDATA, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
0
0
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE2.TBL1
EXAMPLE2.TBL1
EXAMPLE2.IX0
EXAMPLE2.IX0
352
Figure 17
BMC51479I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51473I
BMC51476I
BMC51476I
BMC51475I
BMC50370I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50476I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50376I
BMC50376I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50376I
BMC50376I
BMC50476I
BMC50376I
BMC50376I
BMC50004I
BMC50501I
BMC50503I
BMC50503I
BMC50503I
BMC50503I
BMC50290I
BMC50006I
353
//
JOB
//EXAMPLE4 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE4,NEW/RESTART,,MSGLEVEL(1),AMU$OPTS'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX4DATA),DISP=SHR
//SORTOUT DD DSN=AMU.EXAMP004.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP004.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP004.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SYSUT101 DD DSN=AMU.EXAMP004.SYSUT101,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
354
Figure 18
//SYSUT102 DD DSN=AMU.EXAMP004.SYSUT102,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSUT103 DD DSN=AMU.EXAMP004.SYSUT103,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSUT104 DD DSN=AMU.EXAMP004.SYSUT104,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSUT105 DD DSN=AMU.EXAMP004.SYSUT105,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSUT106 DD DSN=AMU.EXAMP004.SYSUT106,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//BMCCPY
DD DSN=AMU.EXAMP004.COPY1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPZ
DD DSN=AMU.EXAMP004.COPY2,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//SORTWK01 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK04 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK05 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK06 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK07 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK08 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK09 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK10 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK11 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK12 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//*
//SYSIN
DD *
LOAD REPLACE ORDER NO
UNIQUEINTO YES
INTO TABLE EXAMPLE4.RET_EMPLS
WHEN STATUS_IND = 'RETIRED'
AND (EMPL_HIREDT >= '1960-01-01'
OR EMPL_DOB < '1936-01-01')
(EMPL_ID
POSITION(*) INTEGER EXTERNAL(4),
EMPL_LNAME POSITION(*)
CHARACTER(20),
EMPL_FNAME POSITION(*) CHARACTER(10),
EMPL_DOB
POSITION(*) DATE-2E EXTERNAL,
EMPL_SALARY POSITION(*) DEC EXTERNAL(10),
EMPL_HIREDT POSITION(*) DATE-2E EXTERNAL,
STATUS_IND POSITION(*) CHARACTER(7)
)
INTO TABLE EXAMPLE4.SAL_EMPLS
WHEN STATUS_IND = 'SALARY'
(EMPL_ID
POSITION(*) INTEGER EXTERNAL(4),
EMPL_LNAME POSITION(*)
CHARACTER(20),
EMPL_FNAME POSITION(*) CHARACTER(10),
EMPL_DOB
POSITION(*) DATE-2E EXTERNAL,
EMPL_SALARY POSITION(*) DEC EXTERNAL(10),
EMPL_HIREDT POSITION(*) DATE-2E EXTERNAL,
STATUS_IND POSITION(*) CHARACTER(7)
)
INTO TABLE EXAMPLE4.HRLY_EMPLS
WHEN STATUS_IND = 'HOURLY'
(EMPL_ID
POSITION(*) INTEGER EXTERNAL(4),
EMPL_LNAME POSITION(*)
CHARACTER(20),
EMPL_FNAME POSITION(*) CHARACTER(10),
EMPL_DOB
POSITION(*) DATE-2E EXTERNAL,
EMPL_SALARY POSITION(*) DEC EXTERNAL(10),
EMPL_HIREDT POSITION(*) DATE-2E EXTERNAL,
STATUS_IND POSITION(*) CHARACTER(7)
)
LOG NO
COPY YES
/*
355
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:51:10 ...
UTILITY ID = 'EXAMPLE4'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6812K,ABOVE 16M=1624796K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
356
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 19
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
INTEGER EXTERNAL(4),
CHARACTER(20),
CHARACTER(10),
DATE-2E EXTERNAL,
DEC EXTERNAL(10),
DATE-2E EXTERNAL,
CHARACTER(7)
INTEGER EXTERNAL(4),
CHARACTER(20),
CHARACTER(10),
DATE-2E EXTERNAL,
DEC EXTERNAL(10),
DATE-2E EXTERNAL,
CHARACTER(7)
INTEGER EXTERNAL(4),
CHARACTER(20),
CHARACTER(10),
DATE-2E EXTERNAL,
DEC EXTERNAL(10),
DATE-2E EXTERNAL,
CHARACTER(7)
357
Figure 19
BMC50102I
BMC50102I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC50004I
FOR TABLE 'EXAMPLE4.RET_EMPLS', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'EMPL_ID
' HAS POSITION(1:4)
FIELD 'EMPL_LNAME
' HAS POSITION(5:24)
FIELD 'EMPL_FNAME
' HAS POSITION(25:34)
FIELD 'EMPL_DOB
' HAS POSITION(35:42)
FIELD 'EMPL_SALARY
' HAS POSITION(43:52)
FIELD 'EMPL_HIREDT
' HAS POSITION(53:60)
FIELD 'STATUS_IND
' HAS POSITION(61:67)
FOR TABLE 'EXAMPLE4.SAL_EMPLS', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'EMPL_ID
' HAS POSITION(1:4)
FIELD 'EMPL_LNAME
' HAS POSITION(5:24)
FIELD 'EMPL_FNAME
' HAS POSITION(25:34)
FIELD 'EMPL_DOB
' HAS POSITION(35:42)
FIELD 'EMPL_SALARY
' HAS POSITION(43:52)
FIELD 'EMPL_HIREDT
' HAS POSITION(53:60)
FIELD 'STATUS_IND
' HAS POSITION(61:67)
FOR TABLE 'EXAMPLE4.HRLY_EMPLS', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'EMPL_ID
' HAS POSITION(1:4)
FIELD 'EMPL_LNAME
' HAS POSITION(5:24)
FIELD 'EMPL_FNAME
' HAS POSITION(25:34)
FIELD 'EMPL_DOB
' HAS POSITION(35:42)
FIELD 'EMPL_SALARY
' HAS POSITION(43:52)
FIELD 'EMPL_HIREDT
' HAS POSITION(53:60)
FIELD 'STATUS_IND
' HAS POSITION(61:67)
UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
358
Figure 19
BMC51498I
BMC50370I
BMC51508I
BMC51508I
BMC51453I
BMC50476I
BMC50481I
BMC50476I
BMC50481I
BMC50476I
BMC50481I
BMC50482I
BMC50477I
BMC50476I
BMC51473I
BMC51473I
BMC51473I
BMC51475I
BMC50482I
BMC50482I
BMC50477I
BMC50477I
BMC50482I
BMC50477I
BMC50476I
BMC50476I
BMC50476I
BMC50482I
BMC50477I
BMC51476I
BMC51476I
BMC51476I
BMC51476I
BMC50482I
BMC50477I
BMC51476I
BMC50375I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50482I
BMC50477I
BMC51476I
BMC50004I
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
DBCARD PCOMP
0
0
SPACE
15
PSAVED
0
EXTENTS
1
SPACE
15
KSAVED
0
EXTENTS
1
359
Figure 19
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50290I
BMC50006I
CREATOR NAME
CARD
NPAGES
INDREF ROWAVG PCTPAGES PCOMP
EXAMPLE4 SAL_EMPLS
120
3
0
55
75
0
INDEX
EXAMPLE4.SALIX1
TABLE EXAMPLE4.SAL_EMPLS
COLUMN EMPL_ID
NACTIVE = 5
SPACE
= 15
FIRSTKEY= 120
FULLKEY = 120
NLEAF
= 1
LEVELS = 2
PCTCLUST= 83
KEYLEN = 2
COLCOUNT= 1
SUBPAGE = 1
CLUSTER = Y
UNIQUE = U
HIGH2KEY= X'80B2404040404040' LOW2KEY= X'8004404040404040'
HIGH2KEY=
LOW2KEY=
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
SPACE
0
5
120
0
0
23
0
6
1
2
15
INDEX
EXAMPLE4.SALIX2
TABLE EXAMPLE4.SAL_EMPLS
COLUMN EMPL_LNAME
NACTIVE = 5
SPACE
= 15
FIRSTKEY= 30
FULLKEY = 30
NLEAF
= 1
LEVELS = 2
PCTCLUST= 8
KEYLEN = 32
COLCOUNT= 2
SUBPAGE = 1
CLUSTER = N
UNIQUE = D
HIGH2KEY= X'00E6C8C9E3E3D3C5' LOW2KEY= X'00C4C1D5C6D6D9E3'
HIGH2KEY= WHITTLE LOW2KEY= DANFORT
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
SPACE
0
5
120
0
0
30
0
6
1
2
15
CREATOR NAME
CARD
NPAGES
INDREF ROWAVG PCTPAGES PCOMP
EXAMPLE4 HRLY_EMPLS
46
1
0
55
25
0
INDEX
EXAMPLE4.HRLYIX1
TABLE EXAMPLE4.HRLY_EMPLS
COLUMN EMPL_ID
NACTIVE = 5
SPACE
= 15
FIRSTKEY= 46
FULLKEY = 46
NLEAF
= 1
LEVELS = 2
PCTCLUST= 100
KEYLEN = 2
COLCOUNT= 1
SUBPAGE = 1
CLUSTER = Y
UNIQUE = U
HIGH2KEY= X'80B4404040404040' LOW2KEY= X'800A404040404040'
HIGH2KEY=
LOW2KEY=
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
SPACE
0
5
46
0
0
1
0
7
1
2
15
INDEX
EXAMPLE4.HRLYIX2
TABLE EXAMPLE4.HRLY_EMPLS
COLUMN EMPL_LNAME
NACTIVE = 5
SPACE
= 15
FIRSTKEY= 16
FULLKEY = 16
NLEAF
= 1
LEVELS = 2
PCTCLUST= 100
KEYLEN = 32
COLCOUNT= 2
SUBPAGE = 1
CLUSTER = N
UNIQUE = D
HIGH2KEY= X'00E9C5C9C7D3C1D9' LOW2KEY= X'00C4C9E2C8E6C1C9'
HIGH2KEY= ZEIGLAR LOW2KEY= DISHWAI
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
SPACE
0
5
46
0
0
1
0
7
1
2
15
DB2 REAL-TIME-STATISTICS -RESET STATS- FUNCTION FOR COPY UTILITY FAILED OR PARTIALLY COMPLETE
DB2 REAL-TIME-STATISTICS -RESET STATS- FUNCTION FOR LOAD UTILITY SUCCESSFUL FOR ALL OBJECTS
UTILITY EXECUTION COMPLETE, RETURN CODE = 0
EXTENTS
1
EXTENTS
1
EXTENTS
1
EXTENTS
1
360
361
Figure 20
//
JOB
//EXAMPLE5 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE5,NEW/RESTART,,MSGLEVEL(1),AMU$OPTS'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT
DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//SYSREC
DD DSN=AMU.QA.RGRTESTS.DTA163,DISP=SHR
//*
//SORTOUT
DD DSN=AMU.EXAMP005.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP005.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC
DD DSN=AMU.EXAMP005.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SYSUT101 DD DSN=AMU.EXAMP005.SYSUT1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSUT102 DD DSN=AMU.EXAMP005.SYSUT2,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SORTWK01 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK02 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK03 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK04 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK05 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK06 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK07 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK08 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK09 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK10 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK11 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//SORTWK12 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=NEW
//*
//BMCCPY
DD DSN=AMU.EXAMP005.BMCCPY,
//
UNIT=WORK,SPACE=(TRK,(3,1)),DISP=(NEW,CATLG)
//BMCCPZ
DD DSN=AMU.EXAMP005.BMCCPZ,
//
UNIT=WORK,SPACE=(TRK,(3,1)),DISP=(NEW,CATLG)
//BMCRCY
DD DSN=AMU.EXAMP005.BMCRCY,
//
UNIT=WORK,SPACE=(TRK,(3,1)),DISP=(NEW,CATLG)
//BMCRCZ
DD DSN=AMU.EXAMP005.BMCRCZ,
//
UNIT=WORK,SPACE=(TRK,(3,1)),DISP=(NEW,CATLG)
362
Figure 21
//*
//SYSIN
DD *
LOAD DATA REPLACE
ORDER YES
COPY YES REGISTER BMCCPY,BMCRCY
INTO TABLE EXAMPLE5.EMPLS
WHEN DEPT_NO > '1000'
(PART_401K POSITION(34) CHAR(1)
NULLIF
PART_401K NOT IN ('Y','N','1','0')
DEFAULTIF PART_401K = 'Y' VALUE('1')
DEFAULTIF PART_401K = 'N' VALUE('0')
,EMP_ID
POSITION(1)
CHAR(5)
,SSN
POSITION(7) CHAR(9)
,JOB_CODE
POSITION(22) INTEGER EXTERNAL(3)
NULLIF ERROR
,SALARY
POSITION(26) DEC EXTERNAL(7,0)
,DEPT_NO
POSITION(17) EXIT AMUXDEPT(4)
,EMP_LNAME POSITION(36) CHAR(20) TRIM
,EMP_FNAME POSITION(57) CHAR(15) TRIM
,EMP_MNAME POSITION(73) CHAR(15) TRIM
,HIRE_DATE POSITION(89) DATE-D1 EXTERNAL
NULLIF (89:93) = '*****'
NULLIF (89:96) = '00/00/00'
)
/*
00101.451846211.A00
00120.326759081.B01
00138.238755558.C01
00240.456679040.E01
00258.873402211.D11
00266.433358923.D21
00307.345270812.E11
00380.453809376.E21
00390.176834690.A00
00400.611800345.A00
00419.112377650.C01
00428.231544001.C01
00433.157919155.D11
00540.268025274.D11
00559.379136386.D11
00567.480247497.D11
00672.591358508.D11
00682.602469819.D11
00690.713571723.D11
00701.824682632.D11
00718.935793541.D11
00724.146824450.D11
00830.257935361.D21
00844.368046272.D21
00852.479157183.D21
00862.580268294.D21
00876.691379385.D21
00888.702480479.E11
00898.813593568.E11
00909.924644657.E11
00918.135755746.E11
00923.246866835.E21
.066.0052750.Y.HAAS
.061.0041250.Y.THOMPSON
.060.0038250.Y.KWAN
.058.0040175.Y.GEYER
.055.0032250.Y.STERN
.056.0036170. .PULASKI
.055.0029750.N.HENDERSON
.054.0026150.N.SPENSER
.058.0046500.N.LUCCHESI
.058.0029250.N.O'CONNELL
.055.0023800.N.QUINTANA
.056.0028420.N.NICHOLLS
.055.0025280.N.ADAMSON
.056.0022250.N.PIANKA
.055.0024680.N.YOSHIMURA
.054.0021340.0.SCOUTEN
.054.0020450.N.WALKER
.053.0027740.Y.BROWN
.053.0018270.N.JONES
.055.0029840. .LUTZ
.052.0022180. .JEFFERSON
.055.0028760. .MARINO
.053.0019180.N.SMITH
.055.0017250.0.JOHNSON
.052.0027380.N.PEREZ
.052.0026250.N.SCHNEIDER
.055.0015340. .PARKER
.054.0017750. .SMITH
.042.0015900.N.SETRIGHT
.048.0019950.N.MEHTA
.043.0025370.Y.LEE
.052.0023840.1.GROUNOT
.CHRISTINE
.MICHAEL
.SALLY
.JOHN
.IRVING
.EVA
.EILEEN
.THEODORE
.VINCENZO
.SEAN
.DOLORES
.HEATHER
.BRUCE
.ELIZABETH
.MASATOSHI
.MARILYN
.JAMES
.DAVID
.WILLIAM
.JENNIFER
.JAMES
.SALVATORE
.DANIEL
.SYBIL
.MARIA
.ETHEL
.JOHN
.PHILLIP
.MAUDE
.RAMLAL
.WING
.JASON
.I
.L
.A
.B
.F
.D
.W
.Q
.G
.
.M
.A
.
.R
.J
.S
.H
.
.T
.K
.J
.M
.S
.V
.L
.R
.R
.X
.F
.V
.
.R
.01/01/65
.*****
.*****
.08/17/49
.09/14/73
.00/00/00
.08/15/70
.06/19/80
.05/16/58
.00/00/00
.07/28/71
.12/15/76
.02/12/72
.10/11/77
.09/15/76
.07/07/78
.07/26/73
.03/03/74
.04/11/66
.08/29/79
.11/21/69
.12/05/75
.10/13/80
.09/11/67
.09/29/80
.03/21/72
.05/05/64
.06/30/65
.09/24/76
.07/30/77
.02/19/88
.05/12/86
363
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:53:01 ...
UTILITY ID = 'EXAMPLE5'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1625836K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
364
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 23
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
365
Figure 23
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
BMC51524E
1
1
1
BMC51524E
9
9
2
BMC51524E
10
10
3
BMC50476I DDNAME = SYSREC, I/OS = 1, I/O
DISCARD
TYPE
RELATED
ID: RECORD
WHEN
95:
WHEN
95:
WHEN
95:
WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
FIELD, INDEX, OR
CONSTRAINT NAME
0
0
0
BMC50476I
BMC50476I
BMC51471I
BMC51486I
BMC51488I
BMC51471I
BMC51486I
BMC51488I
BMC51471I
BMC51486I
BMC51488I
BMC51471I
BMC51486I
BMC51488I
BMC51490I
BMC51472I
BMC51479I
BMC50004I
BMC50474I
BMC51498I
BMC50370I
BMC51508I
BMC51508I
BMC51453I
BMC50482I
BMC50477I
BMC50476I
BMC51476I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
366
Figure 23
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC51476I
BMC51475I
BMC50375I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50376I
BMC50376I
BMC50004I
0: PARTITION =
3, ROWS/KEYS = 11, I/O WAITS = 5 ,DDNAME = SYS00034
LOAD STATISTICS: 11 ROWS LOADED INTO PARTITION 3
FULL IMAGE COPY STARTED FOR DATASET = 'DECACAT.DSNDBD.AMUEX5DB.EX5TS.I0001.A003'
0: BUILD COMPLETE. ELAPSED TIME = 00:00:03 DSN = 'DECACAT.DSNDBD.AMUEX5DB.EMPLSRCL.I0001.A004'
0: PARTITION =
4, ROWS/KEYS = 2, I/O WAITS = 7 ,DDNAME = SYS00044
0: LOAD COMPLETE. ELAPSED TIME = 00:00:06 DSN = 'DECACAT.DSNDBD.AMUEX5DB.EX5TS.I0001.A004'
0: PARTITION =
4, ROWS/KEYS = 2, I/O WAITS = 5 ,DDNAME = SYS00041
LOAD STATISTICS: 2 ROWS LOADED INTO PARTITION 4
DDNAME = SORTOUT, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BUILD STATISTICS: 29 KEYS LOADED INTO INDEX 'EXAMPLE5.EMPLS_CLUST_IX'
LOAD STATISTICS: 29 ROWS LOADED INTO TABLE SPACE 'AMUEX5DB.EX5TS'
FULL IMAGE COPY STARTED FOR DATASET = 'DECACAT.DSNDBD.AMUEX5DB.EX5TS.I0001.A004'
DDNAME = BMCCPY, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
DDNAME = BMCCPZ, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
DDNAME = BMCRCY, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
DDNAME = BMCRCZ, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
12 PAGES COPIED TO DATASET = 'AMU.EXAMP005.BMCCPY'
12 PAGES COPIED TO DATASET = 'AMU.EXAMP005.BMCCPZ'
12 PAGES COPIED TO DATASET = 'AMU.EXAMP005.BMCRCY'
12 PAGES COPIED TO DATASET = 'AMU.EXAMP005.BMCRCZ'
LOAD PHASE COMPLETE. ELAPSED TIME = 00:00:34
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
0
0
0
0
0
0
SPACE
15
15
15
15
PSAVED
0
0
0
0
EXTENTS
1
1
1
1
SPACE
15
KSAVED
0
0
0
0
EXTENTS
1
367
Figure 24 shows the output of a SELECT on the loaded table for example 5.
Figure 24
PAGE
1
***INPUT STATEMENT:
SELECT EMP_ID,SSN,HIRE_DATE,DEPT_NO,JOB_CODE,SALARY,PART_401K,
EMP_LNAME FROM EXAMPLE5.EMPLS ;
+-----------------------------------------------------------------------------------------------------------+
| EMP_ID |
SSN
| HIRE_DATE | DEPT_NO | JOB_CODE |
SALARY
| PART_401K |
EMP_LNAME
|
+-----------------------------------------------------------------------------------------------------------+
1_|
120
| 326759081 | ?
| 2000
|
61 |
41250.00 | 1
| THOMPSON
|
2_|
138
| 238755558 | ?
| 3000
|
60 |
38250.00 | 1
| KWAN
|
3_|
419
| 112377650 | 07/28/1971 | 3000
|
55 |
23800.00 | 0
| QUINTANA
|
4_|
428
| 231544001 | 12/15/1976 | 3000
|
56 |
28420.00 | 0
| NICHOLLS
|
5_|
240
| 456679040 | 08/17/2049 | 4000
|
58 |
40175.00 | 1
| GEYER
|
6_|
258
| 873402211 | 09/14/1973 | 5000
|
55 |
32250.00 | 1
| STERN
|
7_|
433
| 157919155 | 02/12/1972 | 5000
|
55 |
25280.00 | 0
| ADAMSON
|
8_|
540
| 268025274 | 10/11/1977 | 5000
|
56 |
22250.00 | 0
| PIANKA
|
9_|
559
| 379136386 | 09/15/1976 | 5000
|
55 |
24680.00 | 0
| YOSHIMURA
|
10_|
567
| 480247497 | 07/07/1978 | 5000
|
54 |
21340.00 | 0
| SCOUTEN
|
11_|
672
| 591358508 | 07/26/1973 | 5000
|
54 |
20450.00 | 0
| WALKER
|
12_|
682
| 602469819 | 03/03/1974 | 5000
|
53 |
27740.00 | 1
| BROWN
|
13_|
690
| 713571723 | 04/11/1966 | 5000
|
53 |
18270.00 | 0
| JONES
|
14_|
701
| 824682632 | 08/29/1979 | 5000
|
55 |
29840.00 | ?
| LUTZ
|
15_|
718
| 935793541 | 11/21/1969 | 5000
|
52 |
22180.00 | ?
| JEFFERSON
|
16_|
724
| 146824450 | 12/05/1975 | 5000
|
55 |
28760.00 | ?
| MARINO
|
17_|
266
| 433358923 | ?
| 6000
|
56 |
36170.00 | ?
| PULASKI
|
18_|
830
| 257935361 | 10/13/1980 | 6000
|
53 |
19180.00 | 0
| SMITH
|
19_|
844
| 368046272 | 09/11/1967 | 6000
|
55 |
17250.00 | 0
| JOHNSON
|
20_|
852
| 479157183 | 09/29/1980 | 6000
|
52 |
27380.00 | 0
| PEREZ
|
21_|
862
| 580268294 | 03/21/1972 | 6000
|
52 |
26250.00 | 0
| SCHNEIDER
|
22_|
876
| 691379385 | 05/05/1964 | 6000
|
55 |
15340.00 | ?
| PARKER
|
23_|
307
| 345270812 | 08/15/1970 | 7000
|
55 |
29750.00 | 0
| HENDERSON
|
24_|
888
| 702480479 | 06/30/1965 | 7000
|
54 |
17750.00 | ?
| SMITH
|
25_|
898
| 813593568 | 09/24/1976 | 7000
|
42 |
15900.00 | 0
| SETRIGHT
|
26_|
909
| 924644657 | 07/30/1977 | 7000
|
48 |
19950.00 | 0
| MEHTA
|
27_|
918
| 135755746 | 02/19/1988 | 7000
|
43 |
25370.00 | 1
| LEE
|
28_|
380
| 453809376 | 06/19/1980 | 9000
|
54 |
26150.00 | 0
| SPENSER
|
29_|
923
| 246866835 | 05/12/1986 | 9000
|
52 |
23840.00 | 1
| GROUNOT
|
+-----------------------------------------------------------------------------------------------------------+
SUCCESSFUL RETRIEVAL OF
29 ROW(S)
368
This example illustrates methods for putting specific values in columns as needed for
testing. In this example, the DEFAULTIF option is used to create multiple values in
the same column. Different VALUE options are used for the same column in different
INTO statements to create multiple values for the same column.
The UNIQUEINTO option is not specified in this job, causing LOADPLUS to use the
default, UNIQUEINTO NO. Specifying UNIQUEINTO YES with this job would cause
LOADPLUS to stop processing each record after the first INTO statementthus
creating only 213,000 rows instead of 852,000.
The EXEC statement does not supply an installation options module, so LOADPLUS
uses the default module, AMU$OPTS. RULES=BMC is specified in the options
module so that the job can use extended operators, such as greater than (>) and less
than (<), on the LOAD command.
Because the LOAD command does not include the COPY YES option, LOADPLUS
does not make a copy. Because the COPYPEND installation option is set to YES,
LOADPLUS places the table space in COPY pending status and the job completes
with return code 4.
Figure 25 shows the JCL for example 6.
Figure 25
//
JOB
//EXAMPLE6 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE6,NEW,,MSGLEVEL(1)'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SORTOUT DD DSN=AMU.EXAMP006.SORTOUT,
//
DISP=(MOD,CATLG),UNIT=CART,
//
VOL=(,,,10)
//SYSUT101 DD DSN=AMU.EXAMP006.SYSUT1,
//
UNIT=WORK,SPACE=(CYL,(10,10)),DISP=(MOD,CATLG)
//SORTWK01 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK02 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK03 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK04 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK05 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK06 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK07 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK08 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK09 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK10 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK11 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SORTWK12 DD UNIT=WORK,SPACE=(CYL,(25,10)),DISP=NEW
//SYSREC
DD DSN=AMU.QA.RGRTESTS.DTA111,DISP=SHR
//SYSERR
DD DSN=AMU.EXAMP006.SYSERR,
//
DISP=(MOD,CATLG),UNIT=WORK,
//
SPACE=(CYL,(5,1))
//SYSDISC DD DSN=AMU.EXAMP006.SYSDISC,
//
DISP=(MOD,CATLG),UNIT=WORK,
//
SPACE=(CYL,(5,1))
369
Figure 25
//SYSIN
DD *
LOAD ORDER NO
REPLACE
REDEFINE YES
INTO TABLE EXAMPLE6.TBL1
(KEYFLD1_CHAR
VALUE('01')
,KEYFLD2_CHAR
POSITION(75) CHAR(6)
,FLD5_SMALLINT
VALUE(1)
,FLD6_INT
POSITION(4) INTEGER
DEFAULTIF KEYFLD2_CHAR < '001000' VALUE(2311)
DEFAULTIF KEYFLD2_CHAR >= '001000' VALUE(-500)
,FLD10_DEC
VALUE(123.4567)
,FLD11_CHAR
VALUE('B')
,FLD12_CHAR
VALUE('C')
)
INTO TABLE EXAMPLE6.TBL1
(KEYFLD1_CHAR
VALUE('02')
,KEYFLD2_CHAR
POSITION(75) CHAR(6)
,FLD5_SMALLINT
VALUE(1)
,FLD6_INT
POSITION(4) INTEGER
DEFAULTIF KEYFLD2_CHAR < '002000' VALUE(2311)
DEFAULTIF KEYFLD2_CHAR >= '002000' VALUE(-500)
,FLD10_DEC
VALUE(123)
,FLD11_CHAR
VALUE('H')
,FLD12_CHAR
VALUE('J')
)
INTO TABLE EXAMPLE6.TBL1
(KEYFLD1_CHAR
VALUE('03')
,KEYFLD2_CHAR
POSITION(75) CHAR(6)
,FLD5_SMALLINT
VALUE(1)
,FLD6_INT
POSITION(4) INTEGER
DEFAULTIF KEYFLD2_CHAR < '050000' VALUE(1406)
DEFAULTIF KEYFLD2_CHAR >= '050000' VALUE(-409)
,FLD10_DEC
VALUE(-3.45)
,FLD11_CHAR
VALUE('D')
,FLD12_CHAR
VALUE('E')
)
INTO TABLE EXAMPLE6.TBL1
(KEYFLD1_CHAR
VALUE('04')
,KEYFLD2_CHAR
POSITION(75) CHAR(6)
,FLD5_SMALLINT
VALUE(1)
,FLD6_INT
POSITION(4) INTEGER
DEFAULTIF KEYFLD2_CHAR < '002000' VALUE(1405)
DEFAULTIF KEYFLD2_CHAR >= '002000' VALUE(3409)
,FLD10_DEC
VALUE(-.4567)
,FLD11_CHAR
VALUE('A')
,FLD12_CHAR
VALUE('Z')
)
/*
370
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:55:06 ...
UTILITY ID = 'EXAMPLE6'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6816K,ABOVE 16M=1624976K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
371
Figure 26
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
372
LOAD ORDER NO
REPLACE
REDEFINE YES
INTO TABLE EXAMPLE6.TBL1
(KEYFLD1_CHAR
VALUE('01')
,KEYFLD2_CHAR
POSITION(75) CHAR(6)
,FLD5_SMALLINT
VALUE(1)
,FLD6_INT
POSITION(4) INTEGER
DEFAULTIF KEYFLD2_CHAR < '001000' VALUE(2311)
DEFAULTIF KEYFLD2_CHAR >= '001000' VALUE(-500)
,FLD10_DEC
VALUE(123.4567)
,FLD11_CHAR
VALUE('B')
,FLD12_CHAR
VALUE('C')
)
INTO TABLE EXAMPLE6.TBL1
(KEYFLD1_CHAR
VALUE('02')
,KEYFLD2_CHAR
POSITION(75) CHAR(6)
,FLD5_SMALLINT
VALUE(1)
,FLD6_INT
POSITION(4) INTEGER
DEFAULTIF KEYFLD2_CHAR < '002000' VALUE(2311)
DEFAULTIF KEYFLD2_CHAR >= '002000' VALUE(-500)
,FLD10_DEC
VALUE(123)
,FLD11_CHAR
VALUE('H')
,FLD12_CHAR
VALUE('J')
)
Figure 26
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51422I
BMC51423I
BMC51423I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51422I
BMC51423I
BMC51423I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51422I
BMC51423I
BMC51423I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51421I
BMC51422I
BMC51423I
BMC51423I
BMC50004I
'. VALUE
'. VALUE
'. VALUE
'. VALUE
'. VALUE
KNOWN START:END
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
POSITIONS THAT WERE NOT SPECIFIED
'. VALUE
'. VALUE
'. VALUE
'. VALUE
'. VALUE
KNOWN START:END
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
POSITIONS THAT WERE NOT SPECIFIED
'. VALUE
'. VALUE
'. VALUE
'. VALUE
'. VALUE
KNOWN START:END
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
POSITIONS THAT WERE NOT SPECIFIED
'. VALUE
'. VALUE
'. VALUE
'. VALUE
'. VALUE
KNOWN START:END
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
IS DEFAULTED
POSITIONS THAT WERE NOT SPECIFIED
373
Example 7: LOAD RESUME NO using DISCARDS options and user-defined return codes
Figure 26
BMC51486I
BMC51490I
BMC51472I
BMC51479I
BMC50004I
LOADING
LOADING
PRELOAD
PRELOAD
PRELOAD
BMC50474I
BMC51498I
BMC51508I
BMC51508I
BMC51453I
BMC50482I
BMC50477I
BMC50476I
BMC51476I
BMC50482I
BMC50477I
BMC50476I
BMC51475I
BMC50004I
BMC50387W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
SPACE
345
KSAVED
0
PSAVED
0
EXTENTS
11
374
Example 7: LOAD RESUME NO using DISCARDS options and user-defined return codes
Not reporting the discarded WHEN records is beneficial if the input data set
(SYSREC) contains large amounts of data that will be discarded. Note messages
BMC51462I and BMC51463I regarding the DISCARDS IGNORE and REPORT
options.
The IFDISCARDS option provides a user-defined return code that LOADPLUS
returns if there are any non-ignored discards for the job. The value of 5 overrides the
value of 0 for the DISCARDRC installation option.
RESUME NO indicates that the table space being loaded is empty. Specifying
ENUMROWS 50 estimates that LOADPLUS will load 50 rows.
The 3390 device type will be used for the sort work file that BMCSORT dynamically
allocates (as specified by SORTDEVT 3390).
SKIPFIELDS YES enables processing of input record fields that do not have
corresponding columns in the table. In this case, NULL1 is used in NULLIF condition
processing.
The COPY NO command instructs LOADPLUS not to make a copy. Because the
COPYPEND installation option is set to YES, LOADPLUS places the table space in
COPY pending status. However, the job completes with return code 5 (instead of the
normal return code 4 when COPY pending status is set) because IFDISCARDS 5 is
specified and there are discards on the job.
Figure 27 shows the JCL for example 7.
Figure 27
//
JOB
//EXAMPLE7 EXEC PGM=AMUUMAIN,REGION=4M,
//
PARM='&SSID,EXAMPLE7,NEW,,MSGLEVEL(1),AMU$OPTO'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX7DATA),
//
DISP=SHR
//*
//SORTOUT DD DSN=AMU.EXAMP007.SORTOUT,
//
SPACE=(CYL,(20,10)),UNIT=WORK,DISP=(MOD,CATLG,DELETE)
//SYSUT101 DD DSN=AMU.EXAMP007.SYSUT1,
//
SPACE=(CYL,(20,10)),UNIT=WORK,DISP=(MOD,CATLG,DELETE)
//SYSERR
DD DSN=AMU.EXAMP007.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,DELETE)
//SYSDISC DD DSN=AMU.EXAMP007.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,DELETE)
375
Example 7: LOAD RESUME NO using DISCARDS options and user-defined return codes
Figure 27
//SYSIN
DD *
LOAD
RESUME NO
DISCARDS 50 IGNORE DUPKEY REPORT NO WHEN
IFDISCARDS 5
ENUMROWS 50
SORTDEVT 3390
COPY NO
SKIPFIELDS YES
INTO TABLE EXAMPLE7.TBL1
WHEN RECNO <> '90000'
(RECNO
POSITION(*)
,INPUT_A
POSITION(*)
,NULL1
POSITION(9)
,INPUT_3
POSITION(10:12)
NULLIF NULL1='?'
,INPUT_7
POSITION(13:19)
,INPUT_10
POSITION(30:39)
,INPUT_12
POSITION(25:36)
,MLT_SMINT1 POSITION(10)
,DIV_SMINT1 POSITION(10)
,MLT_INT2
POSITION(13)
,DIV_INT2
POSITION(13)
,MLT_DEC3
POSITION(25)
,DIV_DEC3
POSITION(25)
,MLT_FLOAT40 POSITION(30)
,DIV_FLOAT40 POSITION(30)
)
/*
CHARACTER
CHARACTER
CHARACTER(1)
CHARACTER
CHARACTER
CHARACTER
CHARACTER
INTEGER EXTERNAL (3,-1)
INTEGER EXTERNAL (3,1)
DECIMAL EXTERNAL (7,-2)
DECIMAL EXTERNAL (7,2)
DECIMAL EXTERNAL (12,-3)
DECIMAL EXTERNAL (12,3)
FLOAT EXTERNAL (10,-40)
FLOAT EXTERNAL (10,40)
376
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:56:16 ...
UTILITY ID = 'EXAMPLE7'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626152K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
Example 7: LOAD RESUME NO using DISCARDS options and user-defined return codes
Figure 28
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
377
Example 7: LOAD RESUME NO using DISCARDS options and user-defined return codes
Figure 28
LOAD
RESUME NO
DISCARDS 50 IGNORE DUPKEY REPORT NO WHEN
IFDISCARDS 5
ENUMROWS 50
SORTDEVT 3390
COPY NO
SKIPFIELDS YES
INTO TABLE EXAMPLE7.TBL1
WHEN RECNO <> '90000'
(RECNO
POSITION(*)
,INPUT_A
POSITION(*)
,NULL1
POSITION(9)
,INPUT_3
POSITION(10:12)
NULLIF NULL1='?'
,INPUT_7
POSITION(13:19)
,INPUT_10
POSITION(30:39)
,INPUT_12
POSITION(25:36)
,MLT_SMINT1 POSITION(10)
,DIV_SMINT1 POSITION(10)
,MLT_INT2
POSITION(13)
,DIV_INT2
POSITION(13)
,MLT_DEC3
POSITION(25)
,DIV_DEC3
POSITION(25)
,MLT_FLOAT40 POSITION(30)
,DIV_FLOAT40 POSITION(30)
)
378
CHARACTER
CHARACTER
CHARACTER
INTEGER EXTERNAL (3,-1)
INTEGER EXTERNAL (3,1)
DECIMAL EXTERNAL (7,-2)
DECIMAL EXTERNAL (7,2)
DECIMAL EXTERNAL (12,-3)
DECIMAL EXTERNAL (12,3)
FLOAT EXTERNAL (10,-40)
FLOAT EXTERNAL (10,40)
FOR TABLE 'EXAMPLE7.TBL1', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'RECNO
' HAS POSITION(1:5)
FIELD 'INPUT_A
' HAS POSITION(6:8)
FIELD 'NULL1
' HAS POSITION(9:9)
FIELD 'MLT_SMINT1
' HAS POSITION(10:12)
FIELD 'DIV_SMINT1
' HAS POSITION(10:12)
FIELD 'MLT_INT2
' HAS POSITION(13:19)
FIELD 'DIV_INT2
' HAS POSITION(13:19)
FIELD 'MLT_DEC3
' HAS POSITION(25:36)
FIELD 'DIV_DEC3
' HAS POSITION(25:36)
FIELD 'MLT_FLOAT40
' HAS POSITION(30:39)
FIELD 'DIV_FLOAT40
' HAS POSITION(30:39)
UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
CHARACTER
CHARACTER
CHARACTER(1)
CHARACTER
Example 7: LOAD RESUME NO using DISCARDS options and user-defined return codes
Figure 28
BMC51510I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC51507I
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
DISCARD
TYPE
RELATED
ID: RECORD
BMC51524E
22
22
3 CONVERSION
19:
BMC50476I DDNAME = SYSREC, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
1
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE7.TBL1
INPUT_7
BMC51463I
BMC51462I
BMC50476I
BMC50476I
BMC51486I
BMC51490I
BMC51472I
BMC51479I
BMC50004I
BMC50474I
BMC51498I
BMC50476I
BMC51508I
BMC51508I
BMC50482I
BMC50477I
BMC50476I
BMC51475I
BMC50482I
BMC50477I
BMC50476I
BMC51476I
BMC50004I
BMC50387W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
SPACE
15
KSAVED
0
PSAVED
0
EXTENTS
1
379
380
//
JOB
//EXAMPLE8 EXEC PGM=AMUUMAIN,
//
PARM='&SSID ,EXAMPLE8,NEW,,MSGLEVEL(1),AMU$OPTO'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//SYSREC1 DD DISP=SHR,DSN=AMU.QA.RGRTESTS.DTA112
//SYSREC2 DD DISP=SHR,DSN=AMU.QA.RGRTESTS.DTA113
//SYSREC3 DD DISP=SHR,DSN=AMU.QA.RGRTESTS.DTA114
//SYSREC4 DD DISP=SHR,DSN=AMU.QA.RGRTESTS.DTA115
//*
//SORTOUT1 DD DSN=AMU.EXAMP008.SORTOUT1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SORTOUT2 DD DSN=AMU.EXAMP008.SORTOUT2,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SORTOUT3 DD DSN=AMU.EXAMP008.SORTOUT3,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SORTOUT4 DD DSN=AMU.EXAMP008.SORTOUT4,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SORTOUT5 DD DSN=AMU.EXAMP008.SORTOUT5,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SYSERR
DD DSN=AMU.EXAMP008.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP008.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSUT101 DD DSN=AMU.EXAMP008.SYSUT1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SORTWK01 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK02 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK03 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK04 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK05 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK06 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK07 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK08 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK09 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK10 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK11 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//SORTWK12 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(5,1))
//*
//BMCCPY01 DD DSN=AMU.EXAMP008.COPY01,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY02 DD DSN=AMU.EXAMP008.COPY02,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY03 DD DSN=AMU.EXAMP008.COPY03,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY04 DD DSN=AMU.EXAMP008.COPY04,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY05 DD DSN=AMU.EXAMP008.COPY05,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY06 DD DSN=AMU.EXAMP008.COPY06,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY07 DD DSN=AMU.EXAMP008.COPY07,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY08 DD DSN=AMU.EXAMP008.COPY08,
381
Figure 29
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY09 DD DSN=AMU.EXAMP008.COPY09,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//BMCCPY10 DD DSN=AMU.EXAMP008.COPY10,,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSIN
DD *
LOAD REPLACE ORDER YES
UPDATEDB2STATS YES BMCSTATS YES
CENTURY(1900,1999)
REDEFINE NO
INTO TABLE EXAMPLE8.TBL1
(DATE_OF_SALE
POSITION(72:77) DATE-2 EXTERNAL
,SALES_TRANS_ID
POSITION(52:61) INTEGER EXTERNAL
,SALES_ITEM_ID
POSITION(1:10) CHARACTER
,SALES_QTY
POSITION(11:21) INTEGER EXTERNAL
,SALES_PR_PER_ITEM
POSITION(22:30) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL_TX
POSITION(31:39) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL
POSITION(42:50) DECIMAL EXTERNAL(9,2)
,SELLER_ID
POSITION(62:71) CHARACTER
)
LOG NO
COPY YES REGISTER NONE
ENUMROWS(,17000,5)
ANALYZE PAUSE
/*
382
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:57:57 ...
UTILITY ID = 'EXAMPLE8'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6812K,ABOVE 16M=1624548K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
Figure 30
BMC50471I FILECHK=WARN
BMC50471I IBUFFS=20
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
BMC_BMCSYNC
BMC_BMCHIST
BMC_BMCDICT
DASD MANAGER PLUS
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
='BMCUTIL.CMN_BMCUTIL'
='BMCUTIL.CMN_BMCSYNC'
='BMCUTIL.CMN_BMCHIST'
='BMCUTIL.CMN_BMCDICT'
TABLES:
383
Figure 30
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
DATE-2 EXTERNAL
INTEGER EXTERNAL
CHARACTER
INTEGER EXTERNAL
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
CHARACTER
3380 CYLS
PRI
'.
'.
SEC
VALUE IS DEFAULTED
VALUE IS DEFAULTED
3390 CYLS
PRI
SEC
INDEX
SORTOUT
SORTOUT8
SORTOUT7
SORTOUT6
SORTOUT5
SORTOUT4
SORTOUT3
SORTOUT2
SORTOUT1
1620
203
203
203
203
203
203
203
203
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
BMC51533I SYSUT101
266
BMC51533I SYSUT1
266
BMC51533I SORTWK
2640
160
160
160
160
160
160
160
160
160
160
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
1600
EXAMPLE8.IX1
160
160
160
160
160
160
160
160
160
160
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
1600
EXAMPLE8.IX1
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMCCPY01
BMCCPY02
BMCCPY03
BMCCPY04
BMCCPY05
BMCCPY06
BMCCPY07
BMCCPY08
BMCCPY09
BMCCPY10
BMC51533I BMCCPY
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMCCPZ01
BMCCPZ02
BMCCPZ03
BMCCPZ04
BMCCPZ05
BMCCPZ06
BMCCPZ07
BMCCPZ08
BMCCPZ09
BMCCPZ10
BMC51533I BMCCPZ
384
EXAMPLE8.IX1
Figure 30
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMCRCY01
BMCRCY02
BMCRCY03
BMCRCY04
BMCRCY05
BMCRCY06
BMCRCY07
BMCRCY08
BMCRCY09
BMCRCY10
160
160
160
160
160
160
160
160
160
160
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
1600
EXAMPLE8.IX1
160
160
160
160
160
160
160
160
160
160
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
EXAMPLE8.IX1
BMC51533I BMCRCZ
1600
EXAMPLE8.IX1
BMC51533I SYSERR
BMC51533I SYSDISC
BMC51533I BMCRCY
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMC51533I
BMCRCZ01
BMCRCZ02
BMCRCZ03
BMCRCZ04
BMCRCZ05
BMCRCZ06
BMCRCZ07
BMCRCZ08
BMCRCZ09
BMCRCZ10
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:58:00 ...
UTILITY ID = 'EXAMPLE8'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6812K,ABOVE 16M=1624472K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
385
Figure 31
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DISCDDN=SYSDISC
DSNUEXIT=(NONE,ASM)
ENFORCE=CHECK
ERRDDN=SYSERR
EXCLDUMP=(X37,X22,X06)
FILECHK=WARN
IBUFFS=20
OPNDB2ID=YES
ORIGDISP=DELETE
PAUSEDISCARDRC=4
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
UPDMAXA=NO
UXSTATE=SUP
WBUFFS=(20,10)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
386
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 31
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50003I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
RESTARTING UTILITY: COMMAND = 'LOAD', PHASE = 'PRELOAD'
LOAD REPLACE ORDER YES
UPDATEDB2STATS YES BMCSTATS YES
CENTURY(1900,1999)
REDEFINE NO
INTO TABLE EXAMPLE8.TBL1
(DATE_OF_SALE
POSITION(72:77)
,SALES_TRANS_ID
POSITION(52:61)
,SALES_ITEM_ID
POSITION(1:10)
,SALES_QTY
POSITION(11:21)
,SALES_PR_PER_ITEM
POSITION(22:30)
,SALES_TOTAL_TX
POSITION(31:39)
,SALES_TOTAL
POSITION(42:50)
,SELLER_ID
POSITION(62:71)
)
LOG NO
COPY YES REGISTER NONE
ENUMROWS(,17000,5)
ANALYZE PAUSE
DATE-2 EXTERNAL
INTEGER EXTERNAL
CHARACTER
INTEGER EXTERNAL
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
CHARACTER
'.
'.
VALUE IS DEFAULTED
VALUE IS DEFAULTED
387
Figure 31
BMC50367I
BMC50481I
BMC51510I
BMC50481I
BMC51510I
BMC50367I
BMC50481I
BMC51510I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC51507I
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
DISCARD
TYPE
RELATED
ID: RECORD
BMC51524E
1
1
1 DUPLICATE KEY
4:
100
BMC50476I DDNAME = SYSREC3, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE8.TBL1
EXAMPLE8.IX0
TABLE
NAME
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLE8.TBL1
EXAMPLE8.IX0
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
DISCARD
TYPE
RELATED
ID: RECORD
BMC51524E
100
100
2 DUPLICATE KEY
4:
100
BMC50476I DDNAME = SYSREC4, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC50476I
BMC50476I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51488I
BMC51472I
BMC51479I
BMC50004I
388
Figure 31
BMC50474I
BMC51498I
BMC50476I
BMC50370I
BMC51508I
BMC51508I
BMC51453I
BMC50476I
BMC50481I
BMC50482I
BMC50477I
BMC51476I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC51474I
BMC50476I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50482I
BMC50477I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC50476I
BMC51474I
389
Figure 31
BMC50375I
BMC50375I
BMC50375I
BMC50375I
BMC50476I
BMC50376I
BMC50476I
BMC50376I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC51476I
BMC51475I
BMC50375I
BMC50476I
BMC50376I
BMC50004I
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
390
DBCARD PCOMP
1917
83
522
0
529
0
577
0
543
0
109
0
236
0
793
0
789
0
900
0
SPACE
15
15
15
15
15
15
15
15
15
15
EXTENTS
1
1
1
1
1
1
1
1
1
1
KSAVED
277
0
0
0
0
0
0
0
0
0
PSAVED
37
0
0
0
0
0
0
0
0
0
Example 9: LOAD RESUME YES replacing individual partitions and updating indexes
Figure 31
BMC50531I
BMC50532I
BMC50505I
BMC50506I
BMC50290I
BMC50006I
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
0
27
16029
4
653
557
0
14
23
2
BMCSTATS UPDATED IN THE DASD MANAGER PLUS DATABASE
STATISTICS COLUMNS UPDATED IN THE DB2 CATALOG
DB2 REAL-TIME-STATISTICS -RESET STATS- FUNCTION FOR LOAD UTILITY SUCCESSFUL FOR ALL OBJECTS
UTILITY EXECUTION COMPLETE, RETURN CODE = 0
SPACE
15
EXTENTS
1
391
Example 9: LOAD RESUME YES replacing individual partitions and updating indexes
Assuming that the data was sorted before this run, the LOAD command includes the
ORDER NO option. The clustering index is processed as a secondary index, which
allows LOADPLUS to use two IXWK (SYSUT1) data sets to process the indexes
concurrently.
The COPY YES option and DD statements in the JCL direct LOADPLUS to create two
copies of each partition. Note that LOADPLUS makes copies only for the partitions
that are participating in the load.
Figure 32 shows the JCL for example 9.
Figure 32
//
JOB
//EXAMPLE9 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPLE9,NEW/RESTART,,MSGLEVEL(1)'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//INDATA1 DD DISP=SHR,DSN=AMU.QA.EXAMPLE9.DATA02
//INDATA2 DD DISP=SHR,DSN=AMU.QA.EXAMPLE9.DATA01
//*
//DATAWK1 DD DSN=AMU.QA.EXAMP009.SORTOUT1,
//
UNIT=WORK,SPACE=(CYL,(5,1)),DISP=(MOD,CATLG,CATLG)
//DATAWK2 DD DSN=AMU.QA.EXAMP009.SORTOUT2,
//
UNIT=WORK,SPACE=(CYL,(5,1)),DISP=(MOD,CATLG,CATLG)
//ERRWK
DD DSN=AMU.QA.EXAMP009.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//DISCARDS DD DSN=AMU.QA.EXAMP009.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//IXWK01
DD DSN=AMU.QA.EXAMP009.SYSUT1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//IXWK02
DD DSN=AMU.QA.EXAMP009.SYSUT2,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SORTWK01 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK04 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK05 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK06 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK07 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK08 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK09 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK10 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK11 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//SORTWK12 DD UNIT=WORK,DISP=NEW,SPACE=(CYL,(1,1))
//*
//CPY09
DD DSN=AMU.QA.EXAMP009.COPY09,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY09
DD DSN=AMU.QA.EXAMP009.RCOPY09,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//CPY10
DD DSN=AMU.QA.EXAMP009.COPY10,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//RCY10
DD DSN=AMU.QA.EXAMP009.RCOPY10,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
392
Example 9: LOAD RESUME YES replacing individual partitions and updating indexes
Figure 32
//SYSIN
DD *
LOAD RESUME YES
INDEX UPDATE UNIQUECHECK NO
INDDN INDATA LOADDN DATAWK ERRDDN ERRWK WORKDDN IXWK
DISCARDDN DISCARDS
ORDER NO
INTO TABLE EXAMPLE8.TBL1 PART 10 REPLACE
(DATE_OF_SALE
POSITION(72:77) DATE-2 EXTERNAL
,SALES_TRANS_ID
POSITION(52:61) INTEGER EXTERNAL
,SALES_ITEM_ID
POSITION(1:10) CHARACTER
,SALES_QTY
POSITION(11:21) INTEGER EXTERNAL
,SALES_PR_PER_ITEM
POSITION(22:30) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL_TX
POSITION(31:39) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL
POSITION(42:50) DECIMAL EXTERNAL(9,2)
,SELLER_ID
POSITION(62:71) CHARACTER
)
INTO TABLE EXAMPLE8.TBL1 PART 09
(DATE_OF_SALE
POSITION(72:77) DATE-2 EXTERNAL
,SALES_TRANS_ID
POSITION(52:61) INTEGER EXTERNAL
,SALES_ITEM_ID
POSITION(1:10) CHARACTER
,SALES_QTY
POSITION(11:21) INTEGER EXTERNAL
,SALES_PR_PER_ITEM
POSITION(22:30) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL_TX
POSITION(31:39) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL
POSITION(42:50) DECIMAL EXTERNAL(9,2)
,SELLER_ID
POSITION(62:71) CHARACTER
)
LOG NO
COPY YES REGISTER NONE
COPYDDN CPY RECOVERYDDN RCY
/*
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:58:39 ...
UTILITY ID = 'EXAMPLE9'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6812K,ABOVE 16M=1624892K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
393
Example 9: LOAD RESUME YES replacing individual partitions and updating indexes
Figure 33
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
394
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Example 9: LOAD RESUME YES replacing individual partitions and updating indexes
Figure 33
'SALES_ITEM_DESC
'ENTRY_TIMESTAMP
'SALES_ITEM_DESC
'ENTRY_TIMESTAMP
TIME = 00:00:00
'.
'.
'.
'.
VALUE
VALUE
VALUE
VALUE
IS
IS
IS
IS
DEFAULTED
DEFAULTED
DEFAULTED
DEFAULTED
395
Example 9: LOAD RESUME YES replacing individual partitions and updating indexes
Figure 33
BMC50501I
BMC50510I
BMC50513I
BMC50503I
BMC50503I
BMC50503I
BMC50503I
BMC50290I
BMC50006I
396
//
JOB
//EXAMPL10 EXEC PGM=AMUUMAIN,REGION=4M,
//
PARM='&SSID,EXAMPL10,NEW,,MSGLEVEL(1),AMU$OPTS'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT
DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
397
Figure 34
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX7DATA),
//
DISP=SHR
//SORTOUT DD DSN=AMU.EXAMP010.SORTOUT,
//
SPACE=(CYL,(20,10)),UNIT=WORK,DISP=(MOD,CATLG,CATLG)
//SYSUT101 DD DSN=AMU.EXAMP010.SYSUT1,
//
SPACE=(CYL,(20,10)),UNIT=WORK,DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP010.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP010.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//SYSIN
DD *
LOAD
RESUME NO
DISCARDS 50 IGNORE DUPKEY REPORT NO WHEN
ENUMROWS 50
SORTDEVT 3390
COPY NO
SKIPFIELDS YES
INTO TABLE EXAMPLEA.TBL1
WHEN RECNO <> '90000'
(RECNO
POSITION(*)
CHARACTER
,INPUT_A
POSITION(*)
CHARACTER
,NULL1
POSITION(9)
CHARACTER(1)
,INPUT_3
POSITION(10:12) CHARACTER
NULLIF NULL1='?'
,INPUT_7
POSITION(13:19) CHARACTER
,INPUT_10
POSITION(30:39) CHARACTER
,INPUT_12
POSITION(25:36) CHARACTER
,MLT_SMINT1 POSITION(10)
INTEGER EXTERNAL (3,-1)
,DIV_SMINT1 POSITION(10)
INTEGER EXTERNAL (3,1)
,MLT_INT2
POSITION(13)
DECIMAL EXTERNAL (7,-2)
,DIV_INT2
POSITION(13)
DECIMAL EXTERNAL (7,2)
,MLT_DEC3
POSITION(25)
DECIMAL EXTERNAL (12,-3)
,DIV_DEC3
POSITION(25)
DECIMAL EXTERNAL (12,3)
,MLT_FLOAT40 POSITION(30)
FLOAT EXTERNAL (10,-40)
,DIV_FLOAT40 POSITION(30)
FLOAT EXTERNAL (10,40)
)
/*
398
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
10:59:15 ...
UTILITY ID = 'EXAMPL10'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626084K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
Figure 35
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DISCARDLIMRC=8
DISCARDRC=0
DISCDDN=SYSDISC
DSNUEXIT=(NONE,ASM)
ENFORCE=CHECK
ERRDDN=SYSERR
EXCLDUMP=(X37,X22,X06)
FILECHK=WARN
IBUFFS=20
MAXTAPE=3
MSGLEVEL=1
OPNDB2ID=YES
ORIGDISP=DELETE
PAUSEDISCARDRC=4
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
STOPRETRY=300
TAPEDISP=DELETE
UPDMAXA=NO
UXSTATE=SUP
WBUFFS=(20,10)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
399
Figure 35
BMC51422I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC51423I
BMC50004I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
LOAD
RESUME NO
DISCARDS 50 IGNORE DUPKEY REPORT NO WHEN
ENUMROWS 50
SORTDEVT 3390
COPY NO
SKIPFIELDS YES
INTO TABLE EXAMPLEA.TBL1
WHEN RECNO <> '90000'
(RECNO
POSITION(*)
,INPUT_A
POSITION(*)
,NULL1
POSITION(9)
,INPUT_3
POSITION(10:12)
NULLIF NULL1='?'
,INPUT_7
POSITION(13:19)
,INPUT_10
POSITION(30:39)
,INPUT_12
POSITION(25:36)
,MLT_SMINT1 POSITION(10)
,DIV_SMINT1 POSITION(10)
,MLT_INT2
POSITION(13)
,DIV_INT2
POSITION(13)
,MLT_DEC3
POSITION(25)
,DIV_DEC3
POSITION(25)
,MLT_FLOAT40 POSITION(30)
,DIV_FLOAT40 POSITION(30)
)
400
CHARACTER
CHARACTER
CHARACTER(1)
CHARACTER
CHARACTER
CHARACTER
CHARACTER
INTEGER EXTERNAL (3,-1)
INTEGER EXTERNAL (3,1)
DECIMAL EXTERNAL (7,-2)
DECIMAL EXTERNAL (7,2)
DECIMAL EXTERNAL (12,-3)
DECIMAL EXTERNAL (12,3)
FLOAT EXTERNAL (10,-40)
FLOAT EXTERNAL (10,40)
FOR TABLE 'EXAMPLEA.TBL1', THE FOLLOWING INPUT FIELDS HAVE KNOWN START:END POSITIONS THAT WERE NOT SPECIFIED
FIELD 'RECNO
' HAS POSITION(1:5)
FIELD 'INPUT_A
' HAS POSITION(6:8)
FIELD 'NULL1
' HAS POSITION(9:9)
FIELD 'MLT_SMINT1
' HAS POSITION(10:12)
FIELD 'DIV_SMINT1
' HAS POSITION(10:12)
FIELD 'MLT_INT2
' HAS POSITION(13:19)
FIELD 'DIV_INT2
' HAS POSITION(13:19)
FIELD 'MLT_DEC3
' HAS POSITION(25:36)
FIELD 'DIV_DEC3
' HAS POSITION(25:36)
FIELD 'MLT_FLOAT40
' HAS POSITION(30:39)
FIELD 'DIV_FLOAT40
' HAS POSITION(30:39)
UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
= (367,1208,1200)
NO. 7 OF SYSREC
NO. 14 OF SYSREC
NO. 26 OF SYSREC
NO. 44 OF SYSREC
Figure 35
BMC51506E
BMC51505E
BMC51506E
BMC51505E
BMC51506E
BMC51505E
BMC51506E
BMC51505E
BMC51506E
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC51507I
PHYSICAL
RECORD
BMC51524E
BMC51524E
BMC51524E
BMC51524E
BMC51524E
BMC50476I DDNAME
LOGICAL
RECORD
7
14
22
26
44
= SYSREC,
DISCARD
RECORD
7
2
14
4
22
5
26
7
44
9
I/OS = 1, I/O
DISCARD
TYPE
RELATED
ID: RECORD
CHECK CONSTRAINT
19:
CHECK CONSTRAINT
19:
CONVERSION
19:
CHECK CONSTRAINT
19:
CHECK CONSTRAINT
19:
WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
0
0
1
0
0
FIELD, INDEX, OR
CONSTRAINT NAME
EXAMPLEA.TBL1
EXAMPLEA.TBL1
EXAMPLEA.TBL1
EXAMPLEA.TBL1
EXAMPLEA.TBL1
VAL_INPUT_A
VAL_INPUT_A
INPUT_7
VAL_INPUT_A
VAL_INPUT_A
BMC51463I
BMC51462I
BMC50476I
BMC50476I
BMC51486I
BMC51490I
BMC51472I
BMC51479I
BMC50004I
BMC50474I
BMC51498I
BMC50476I
BMC51508I
BMC51508I
BMC50482I
BMC50477I
BMC50476I
BMC51476I
BMC50482I
BMC50477I
BMC50476I
BMC51475I
BMC50004I
BMC50386W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
SPACE
15
KSAVED
0
PSAVED
0
EXTENTS
1
401
The SIZEPCT option tells LOADPLUS to allocate 500 percent of the primary and 50
percent of the secondary data set size calculation.
The UNIT option tells LOADPLUS what type of device to use for allocation.
402
The VOLCNT option specifies the maximum number of volumes to use during
dynamic allocation.
The copy data sets are allocated with GDG names. The GDGLIMIT option tells
LOADPLUS to keep five generations of each copy data set.
This job allocates multiple SORTOUT and SORTWK data sets, demonstrating how
LOADPLUS automatically multitasks for optimal performance when you use
dynamic allocation.
LOADPLUS updates statistics in both the DB2 catalog and the DASD MANAGER
PLUS statistics tables.
Figure 36 shows the JCL for example 11.
Figure 36
//
JOB
//EXAMPL11 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPL11,NEW,,MSGLEVEL(1),AMU$OPTH'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX2DATA),DISP=SHR
//SYSERR
DD DSN=AMU.EXAMP011.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,DELETE)
//SYSUT101 DD DSN=AMU.EXAMP011.SYSUT101,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,DELETE)
//SYSIN
DD *
LOAD REPLACE ORDER NO
UPDATEDB2STATS YES BMCSTATS YES
COPY YES
REDEFINE NO
INTO TABLE EXAMPLEB.TBL1
(DATE_OF_SALE
POSITION(72:77) DATE-2 EXTERNAL
,SALES_TRANS_ID
POSITION(52:61) INTEGER EXTERNAL
,SALES_ITEM_ID
POSITION(1:10) CHARACTER
,SALES_QTY
POSITION(11:21) INTEGER EXTERNAL
,SALES_PR_PER_ITEM
POSITION(22:30) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL_TX
POSITION(31:39) DECIMAL EXTERNAL(9,2)
,SALES_TOTAL
POSITION(42:50) DECIMAL EXTERNAL(9,2)
,SELLER_ID
POSITION(62:71) CHARACTER
)
LOG NO
ENUMROWS(900,900,100)
DDTYPE LOAD
THRESHLD 50000 UNIT(WORK,CART)
VOLCNT 100 UNITCNT 15
DDTYPE SORTWORK DSNPAT 'NONE'
DDTYPE DISCARD DSNPAT 'AMU.&UTIL..T&TIME.&DDNAME'
VOLCNT 100 UNITCNT 15
DDTYPE ERROR
ACTIVE YES IFALLOC FREE SIZEPCT(500,50)
VOLCNT 100 UNITCNT 15
DDTYPE LOCPFCPY
DSNPAT 'AMU.EXAMP011.LOCPFCPY.&DDNAME.(+1)'
DDTYPE LOCBFCPY
DSNPAT 'AMU.EXAMP011.LOCBFCPY.&DDNAME.(+1)'
DDTYPE REMPFCPY
DSNPAT 'AMU.EXAMP011.REMPFCPY.&DDNAME.(+1)'
DDTYPE REMBFCPY
DSNPAT 'AMU.EXAMP011.REMBFCPY.&DDNAME.(+1)'
/*
403
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:10:12 ...
UTILITY ID = 'EXAMPL11'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTH'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626168K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
404
DISCARD
YES
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 37
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC51424I ANALYZE PHASE WILL BE PERFORMED DUE TO DYNAMIC WORK FILE ALLOCATION
BMC51421I NO FIELD SPECIFICATION FOR COLUMN 'SALES_ITEM_DESC
'.
VALUE IS DEFAULTED
405
Figure 37
&JOBNAME
&RESUME
&UTIL
&VCAT
AMUEX11
N
EXAMPL11
DECACAT
'.
VALUE IS DEFAULTED
&STEPNAME
&REPLACE
&UTILPFX
&TIME4
EXAMPL11
Y
EXAMPL11
1110
&DB
&DATE
&UTILSFX
&DATEJ
AMUEXBDB
112105
2005325
&TS
&TIME
&DATE8
&JDATE
EXBTS
111012
11212005
05325
&UID
&SSID
&GRPNM
RDAMZL3
DECA
DECA
DSNAME
KBYTES
PRI
KBYTES
SEC
ALOC
PRI
ALOC
SEC
120
120
120
120
11
11
11
11
11
11
11
11
5
5
5
5
5
5
5
5
5
5
5
5
7
10
14
12
12
12
12
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
0
2
3
3
3
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMCCPY
BMCCPZ
BMCRCY
BMCRCZ
SORTOUT1
SORTOUT2
SORTOUT3
SORTOUT4
SORTOUT5
SORTOUT6
SORTOUT7
SORTOUT8
SORTWK01
SORTWK02
SORTWK03
SORTWK04
SORTWK05
SORTWK06
SORTWK07
SORTWK08
SORTWK09
SORTWK10
SORTWK11
SORTWK12
SYSDISC
SYSERR
SYSUT102
BMC50466W
BMC50474I
BMC51495I
BMC51495I
BMC51496I
BMC50481I
BMC51510I
BMC51478I
BMC50481I
BMC50481I
BMC50481I
BMC50481I
BMC50481I
BMC50481I
BMC50481I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC50481I
BMC51510I
BMC50481I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
406
AMU.EXAMP011.LOCPFCPY.BMCCPY.G0004V00
AMU.EXAMP011.LOCBFCPY.BMCCPZ.G0004V00
AMU.EXAMP011.REMPFCPY.BMCRCY.G0004V00
AMU.EXAMP011.REMBFCPY.BMCRCZ.G0004V00
RDAMZL3.EXAMPL11.SORTOUT1
RDAMZL3.EXAMPL11.SORTOUT2
RDAMZL3.EXAMPL11.SORTOUT3
RDAMZL3.EXAMPL11.SORTOUT4
RDAMZL3.EXAMPL11.SORTOUT5
RDAMZL3.EXAMPL11.SORTOUT6
RDAMZL3.EXAMPL11.SORTOUT7
RDAMZL3.EXAMPL11.SORTOUT8
UNIT OR
DATACLAS MGMTCLAS STORCLAS
AMU.EXAMPL11.T111012.SYSDISC
RDAMZL3.EXAMPL11.SYSERR
RDAMZL3.EXAMPL11.SYSUT102
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
WORK
WORK
WORK
WORK
WORK
WORK
WORK
WORK
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
Figure 37
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC51507I
BMC50476I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51488I
BMC51472I
BMC51479I
BMC50004I
BMC50474I
BMC51498I
BMC50370I
BMC51508I
BMC51508I
BMC51453I
BMC50476I
BMC50476I
BMC50481I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC51474I
BMC50476I
BMC51474I
BMC51474I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
407
Figure 37
BMC51474I
BMC50476I
BMC50476I
BMC50476I
BMC51474I
BMC50476I
BMC50476I
BMC50482I
BMC50477I
BMC51476I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC51475I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50375I
BMC50482I
BMC50477I
BMC51474I
BMC50375I
BMC50476I
BMC50476I
BMC50476I
BMC50476I
BMC50376I
BMC50376I
BMC50376I
BMC50376I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC51474I
BMC51476I
BMC50004I
408
TABLES = 1
SPACE
= 150
SEGSIZE = 0
Example 12: LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY of a partitioned table space
Figure 37
BMC50511I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50505I
BMC50506I
BMC50290I
BMC50006I
PART NACTIVE
CARD
FARIND
NEARIND
FULL
DIRTY PACT PDRP
SPACE EXTENTS
1
11
454
0
0
2
0
83
0
15
1
2
3
59
0
0
2
0
11
0
15
1
3
3
60
0
0
2
0
12
0
15
1
4
1
0
0
0
2
0 100
0
15
1
5
3
62
0
0
2
0
16
0
15
1
6
1
0
0
0
2
0 100
0
15
1
7
2
19
0
0
2
0
0
0
15
1
8
3
100
0
0
2
0
87
0
15
1
9
3
100
0
0
2
0
87
0
15
1
10
1
0
0
0
2
0 100
0
15
1
CREATOR NAME
CARD
NPAGES
INDREF ROWAVG PCTPAGES PCOMP
EXAMPLEB TBL1
854
21
0
68
67
0
INDEX
EXAMPLEB.IX0
TABLE EXAMPLEB.TBL1
COLUMN DATE_OF_SALE
NACTIVE = 51
SPACE
= 150
FIRSTKEY= 12
FULLKEY = 854
NLEAF
= 11
LEVELS = 2
PCTCLUST= 99
KEYLEN = 9
COLCOUNT= 2
SUBPAGE = 1
CLUSTER = Y
UNIQUE = U
HIGH2KEY= X'1990012500800000' LOW2KEY= X'1982052400800000'
HIGH2KEY=
LOW2KEY=
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
1
6
454
50
0
3
0
4
2
2
2
5
59
0
1
0
0
6
1
2
3
5
60
0
1
0
0
6
1
2
4
5
0
0
0
0
0
7
1
2
5
5
62
0
1
1
0
6
1
2
6
5
0
0
0
0
0
7
1
2
7
5
19
0
1
0
0
7
1
2
8
5
100
0
1
0
0
6
1
2
9
5
100
0
1
0
0
6
1
2
10
5
0
0
0
0
0
7
1
2
INDEX
EXAMPLEB.IX1
TABLE EXAMPLEB.TBL1
COLUMN SELLER_ID
NACTIVE = 6
SPACE
= 15
FIRSTKEY= 3
FULLKEY = 3
NLEAF
= 2
LEVELS = 2
PCTCLUST= 58
KEYLEN = 10
COLCOUNT= 1
SUBPAGE = 1
CLUSTER = N
UNIQUE = D
HIGH2KEY= X'E64BC14BD9C5C5C4' LOW2KEY= X'E64BC14BD9C5C5C4'
HIGH2KEY= W.A.REED LOW2KEY= W.A.REED
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
0
6
854
50
12
3
0
7
2
2
BMCSTATS UPDATED IN THE DASD MANAGER PLUS DATABASE
STATISTICS COLUMNS UPDATED IN THE DB2 CATALOG
DB2 REAL-TIME-STATISTICS -RESET STATS- FUNCTION FOR LOAD UTILITY SUCCESSFUL FOR ALL OBJECTS
UTILITY EXECUTION COMPLETE, RETURN CODE = 0
DBCARD PCOMP
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SPACE
15
15
15
15
15
15
15
15
15
15
PSAVED
0
0
0
0
0
0
0
0
0
0
EXTENTS
1
1
1
1
1
1
1
1
1
1
SPACE
15
KSAVED
0
0
0
0
0
0
0
0
0
0
EXTENTS
1
409
Example 12: LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY of a partitioned table space
For the second part of this example, the LOAD command is changed to specify
ORDER YES. In addition, the EXEC statement in the JCL includes an options module
override. The new options module activates dynamic work file allocation for all work
files by specifying ACTIVE YES for each DDTYPE. The LOAD command provides
additional overrides for dynamic allocation by using the DSNPAT command option
to specify a different pattern for the work file data set names. The LOAD command
also includes the DELETEFILES YES SYSDISC YES option to delete the work files and
SYSDISC file after the load completes. SYSPRINT B (starting on page 418) shows the
output from the ORDER YES job.
In these examples, the Apply Plus load library (indicated in this example with
$APLIB1) is included in the STEPLIB. However, the Apply Plus load library could
have been included in the JOBLIB or LINKLIST instead.
Note the BMC51576 messages, which return information from Apply Plus.
Although the value of the COPYPEND default installation option is YES, LOADPLUS
does not set COPY pending because COPYPEND YES is ignored for an SQLAPPLY
load job.
Figure 38 shows the JCL for example 12A.
Figure 38
//
JOB
//EXAMPL12 EXEC PGM=AMUUMAIN,
//
PARM=&SSID,EXAMPL12,NEW,,MSGLEVEL(1),AMU$OPTO
//STEPLIB DD DISP=SHR,DSN=&AMULIB1
//
DD DISP=SHR,DSN=&APLIB1
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSREC
DD DSN=AMU.QA.RGRTESTS.DTAEX12,DISP=SHR
//SYSERR
DD DSN=AMU.EXAMP12A.SYSERR,
//
DISP=(MOD,CATLG),
//
UNIT=WORK,SPACE=(CYL,(5,2),RLSE)
//SYSDISC DD DSN=AMU.EXAMP12A.SYSDISC,
//
DISP=(MOD,CATLG),
//
UNIT=WORK,SPACE=(CYL,(10,01),RLSE)
//SYSIN
DD *
LOAD DATA RESUME YES
SHRLEVEL CHANGE SQLAPPLY
ORDER NO
INTO TABLE EXAMPLEC.TBL1
(RECNO
POS(1:4)
INTEGER,
INPUT_A
POS(5:14) CHAR(10),
RECNO2
POS(15:18) INTEGER,
INPUT_B
POS(19:28) CHAR(10),
INPUT_C
POS(29:43) CHAR(15),
INPUT_D
POS(44:58) CHAR(15)
)
/*
410
//
JOB
//EXAMP12B EXEC PGM=AMUUMAIN,
//
PARM=&SSID,EXAMP12B,NEW,,MSGLEVEL(1),AMU$OPTE
//STEPLIB DD DISP=SHR,DSN=&AMULIB1
//
DD DISP=SHR,DSN=&APLIB1
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSREC
DD DSN=AMU.QA.RGRTESTS.DTAEX12,DISP=SHR
//SYSIN
DD *
LOAD DATA RESUME YES
SHRLEVEL CHANGE
ENUMROWS(100000)
ORDER YES
DDTYPE LOAD
DSNPAT '&UID..RESUME&RESUME.&DDNAME'
DDTYPE WORK
DSNPAT '&UID..RESUME&RESUME.&DDNAME'
DDTYPE SORTWORK DSNPAT '&UID..RESUME&RESUME.&DDNAME'
DDTYPE DISCARD DSNPAT '&UID..RESUME&RESUME.&DDNAME'
DDTYPE ERROR
DSNPAT '&UID..RESUME&RESUME.&DDNAME'
DELETEFILES YES SYSDISC YES
INTO TABLE EXAMPLEC.TBL1
(RECNO
POS(1:4)
INTEGER,
INPUT_A
POS(5:14) CHAR(10),
RECNO2
POS(15:18) INTEGER,
INPUT_B
POS(19:28) CHAR(10),
INPUT_C
POS(29:43) CHAR(15),
INPUT_D
POS(44:58) CHAR(15)
)
/*
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
14:48:21 ...
UTILITY ID = 'EXAMP12A'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1627592K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
411
Figure 40
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
CHEKPEND=YES
COPYDDN=(BMCCPY,BMCCPZ)
COPYLVL=FULL
COPYPEND=YES
DELFILES=(NO,NO)
DISCARDLIMRC=8
DISCARDRC=0
DISCDDN=SYSDISC
DSNUEXIT=(NONE,ASM)
ENFORCE=CHECK
ERRDDN=SYSERR
EXCLDUMP=(X37,X22,X06)
FILECHK=WARN
IBUFFS=20
LBUFFS=20
LOADCPY=YES
LOADDN=SORTOUT
LOCKROW=YES
MAXP=5
MAXTAPE=3
MSGLEVEL=1
OPNDB2ID=YES
ORIGDISP=DELETE
PAUSEDISCARDRC=4
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
SORTNUM=32
SQLDELAY=3
SQLRETRY=100
STOP@CMT=NO
STOPDELAY=1
STOPRETRY=300
TAPEDISP=DELETE
UPDMAXA=NO
UXSTATE=SUP
WBUFFS=(20,10)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
412
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 40
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
ENCODING SCHEME
APPL. ENCODING SCHEME
MIXED
EBCDIC CCSID
ASCII CCSID
UNICODE CCSID
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
=
=
=
=
=
=
EBCDIC
EBCDIC
NO
(37,65534,65534)
(819,65534,65534)
(367,1208,1200)
INTEGER,
CHAR(10),
INTEGER,
CHAR(10),
CHAR(15),
CHAR(15)
413
Figure 40
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
414
SIMPLETSCLUSTERING=NO
RICLUSTERING=NO
PARTITIONCLUSTERING=NO
URCHECKRI=YES
/ANYCONFLICT/
CODE=-803
ACTION=CALLBACK
ACTION=CONTINUE
CODE=-530
ACTION=CALLBACK
ACTION=CONTINUE
CODE=-359
ACTION=CALLBACK
ACTION=CONTINUE
CODE=-330
ACTION=CALLBACK
ACTION=CONTINUE
CODE=SQLWARN0
ACTION=WARN
CODE=SQLWARN1
ACTION=WARN
CODE=SQLWARN2
ACTION=WARN
CODE=SQLWARN3
ACTION=WARN
CODE=SQLWARN4
ACTION=WARN
CODE=SQLWARN5
ACTION=WARN
CODE=SQLWARN6
ACTION=WARN
CODE=SQLWARN7
ACTION=WARN
CODE=SQLWARN8
ACTION=WARN
CODE=SQLWARN9
ACTION=WARN
CODE=SQLWARNA
ACTION=WARN
CODE=NEGATIVE
ACTION=ABORT
CODE=POSITIVE
ACTION=WARN
CODE=MULTIPLEROWS
ACTION=WARN
CODE=NOROWS
ACTION=WARN
CODE=TIMEOUT
ACTION=RETRY
/CONFLICT/
RETRYLIMIT=COUNT
RETRYVALUE=5
DATATYPE=ID
DATATYPE=SQLCODE
DATATYPE=MESSAGE
RETRYFAIL=ABORT
RETRYDELAY=0
/CONFLICTFILE/
SPACE=TRACK
SPACEPRI=15
SPACESEC=5
FILENAMEMODEL=&SYSUID..BMCAPT.&REQUESTID..D&DATE..T&TIME.
SINGLEFILE=NO
DISP=NEW
MEDIATYPE=FILE
RELEASE=YES
/BIND/
FREEOPTION=ALL
PLANPREFIX=APT
/BINDTUNING/
STATEMENTCOUNT=1
MAXPACKAGES=25
MAXFAILEDBINDS=5
MAXRETRIES=5
PACKAGEUSAGE=500
STATEMENTUSAGE=200
Figure 40
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
415
Figure 40
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC50481I
BMC51510I
BMC51478I
BMC51576I
BMC51480I
BMC51510I
BMC51510I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
416
Figure 40
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC50481I
BMC50476I
BMC50476I
BMC51507I
BMC51507I
BMC50476I
BMC51472I
BMC51479I
BMC51475I
BMC50004I
BMC51577I
BMC51578I
ROWS
INSERTED
PART
PART
PART
PART
PART
0001
0002
0003
0004
0005
DISCARDED
SQLERRORS
100000
20000
20000
20000
20000
20000
0
0
0
0
0
417
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
14:48:58 ...
UTILITY ID = 'EXAMP12B'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTE'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1627488K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
LOCBFCPY
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
REMPFCPY
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
REMBFCPY
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
418
DISCARD
YES
FREE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Figure 41
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
=
=
=
=
=
=
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC51424I ANALYZE PHASE WILL BE PERFORMED DUE TO DYNAMIC WORK FILE ALLOCATION
BMC50004I UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:01
BMC50004I ANALYZE PHASE COMPLETE.
419
Figure 41
BMC50425I
BMC50425I
BMC50425I
BMC50425I
&JOBNAME
&RESUME
&UTIL
&VCAT
AMUEX12
Y
EXAMP12B
DECACAT
&STEPNAME
&REPLACE
&UTILPFX
&TIME4
EXAMP12B
N
EXAMP12B
1448
&DB
&DATE
&UTILSFX
&DATEJ
AMUEXCDB
112105
2005325
&TS
&TIME
&DATE8
&JDATE
EXCTS
144858
11212005
05325
&UID
&SSID
&GRPNM
RDAMZL3
DECA
DECA
DSNAME
UNIT OR
DATACLAS MGMTCLAS STORCLAS
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
SORTWK01
SORTWK02
SORTWK03
SORTWK04
SORTWK05
SORTWK06
SORTWK07
SORTWK08
SORTWK09
SORTWK10
SORTWK11
SORTWK12
SYSDISC
SYSERR
RDAMZL3.RESUMEY.SORTWK01
RDAMZL3.RESUMEY.SORTWK02
RDAMZL3.RESUMEY.SORTWK03
RDAMZL3.RESUMEY.SORTWK04
RDAMZL3.RESUMEY.SORTWK05
RDAMZL3.RESUMEY.SORTWK06
RDAMZL3.RESUMEY.SORTWK07
RDAMZL3.RESUMEY.SORTWK08
RDAMZL3.RESUMEY.SORTWK09
RDAMZL3.RESUMEY.SORTWK10
RDAMZL3.RESUMEY.SORTWK11
RDAMZL3.RESUMEY.SORTWK12
RDAMZL3.RESUMEY.SYSDISC
RDAMZL3.RESUMEY.SYSERR
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
BMC50474I
BMC51499I
BMC51499I
BMC51500I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
420
KBYTES
PRI
KBYTES
SEC
ALOC
PRI
ALOC
SEC
717
717
717
717
717
717
717
717
717
717
717
717
10218
3125
72
72
72
72
72
72
72
72
72
72
72
72
1277
1250
14
14
14
14
14
14
14
14
14
14
14
14
190
58
2
2
2
2
2
2
2
2
2
2
2
2
24
24
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
Figure 41
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC50481I
BMC51510I
BMC51478I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
ACTION=CALLBACK
ACTION=CONTINUE
CODE=-359
ACTION=CALLBACK
ACTION=CONTINUE
CODE=-330
ACTION=CALLBACK
ACTION=CONTINUE
CODE=SQLWARN0
ACTION=WARN
CODE=SQLWARN1
ACTION=WARN
CODE=SQLWARN2
ACTION=WARN
CODE=SQLWARN3
ACTION=WARN
CODE=SQLWARN4
ACTION=WARN
CODE=SQLWARN5
ACTION=WARN
CODE=SQLWARN6
ACTION=WARN
CODE=SQLWARN7
ACTION=WARN
CODE=SQLWARN8
ACTION=WARN
CODE=SQLWARN9
ACTION=WARN
CODE=SQLWARNA
ACTION=WARN
CODE=NEGATIVE
ACTION=ABORT
CODE=POSITIVE
ACTION=WARN
CODE=MULTIPLEROWS
ACTION=WARN
CODE=NOROWS
ACTION=WARN
CODE=TIMEOUT
ACTION=RETRY
14:49:03 000 APT0085I /CONFLICT/
RETRYLIMIT=COUNT
RETRYVALUE=5
DATATYPE=ID
DATATYPE=SQLCODE
DATATYPE=MESSAGE
RETRYFAIL=ABORT
RETRYDELAY=0
14:49:03 000 APT0085I /CONFLICTFILE/
SPACE=TRACK
SPACEPRI=15
SPACESEC=5
FILENAMEMODEL=&SYSUID..BMCAPT.&REQUESTID..D&DATE..T&TIME.
SINGLEFILE=NO
DISP=NEW
MEDIATYPE=FILE
RELEASE=YES
14:49:03 000 APT0085I /BIND/
FREEOPTION=ALL
PLANPREFIX=APT
14:49:03 000 APT0085I /BINDTUNING/
STATEMENTCOUNT=1
MAXPACKAGES=25
MAXFAILEDBINDS=5
MAXRETRIES=5
PACKAGEUSAGE=500
STATEMENTUSAGE=200
14:49:04 001 APT0097I Request ID: AB6S
Restart ID: EXAMP12B
14:49:05 000 APT0019I File DBRMLIB :SYS05325.T144905.RA000.AMUEX12.R0351245 allocated - elapsed time: 00:00:00
1: READ TASK COMPLETE. ELAPSED TIME = 00:00:00
1: READ TASK, XBLK XFERS = 135, EMPTY WAITS = 9, FULL WAITS = 0
PRELOAD STATISTICS: 100000 PHYSICAL (100000 LOGICAL) RECORDS READ FROM SYSREC
14:49:06 001 APT0032I DSN output follows:
DSNT252I *DECA DSNTBCM1 BIND OPTIONS FOR PLAN APTAB6S
ACTION
ADD
OWNER
RDAMZL3
421
Figure 41
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
422
14:49:07
14:49:07
14:49:07
14:49:07
14:49:07
14:49:07
006
007
008
009
010
001
APT0079I
APT0079I
APT0079I
APT0079I
APT0079I
APT0148I
VALIDATE
RUN
ISOLATION
CS
ACQUIRE
USE
RELEASE
COMMIT
EXPLAIN
NO
DYNAMICRULES RUN
DSNT253I *DECA DSNTBCM1 BIND OPTIONS FOR PLAN APTAB6S
NODEFER
PREPARE
CACHESIZE
1024
QUALIFIER
RDAMZL3
CURRENTSERVER
CURRENTDATA
YES
DEGREE
1
SQLRULES
DB2
DISCONNECT
EXPLICIT
REOPT
NONE
KEEPDYNAMIC
YES
IMMEDWRITE
NO
DBPROTOCOL
DRDA
OPTHINT
ENCODING
EBCDIC(00037)
PATH
DSNT200I *DECA BIND FOR PLAN APTAB6S SUCCESSFUL
DSN output follows:
DSNT254I *DECA DSNTBCM2 BIND OPTIONS FOR
PACKAGE = DECA.APTAB6S.AB6S0000.()
ACTION
ADD
OWNER
RDAMZL3
QUALIFIER
RDAMZL3
VALIDATE
RUN
EXPLAIN
NO
ISOLATION
CS
RELEASE
COMMIT
COPY
DSNT255I *DECA DSNTBCM2 BIND OPTIONS FOR
PACKAGE = DECA.APTAB6S.AB6S0000.()
SQLERROR
NOPACKAGE
CURRENTDATA
YES
DEGREE
1
DYNAMICRULES
DEFER
REOPT
NONE
KEEPDYNAMIC
YES
IMMEDWRITE
NO
DBPROTOCOL
DRDA
OPTHINT
ENCODING
EBCDIC(00037)
PATH
DSNT232I *DECA SUCCESSFUL BIND FOR
PACKAGE = DECA.APTAB6S.AB6S0000.()
Apply Processing Started - Agent: 1
Apply Processing Started - Agent: 2
Apply Processing Started - Agent: 3
Apply Processing Started - Agent: 4
Apply Processing Started - Agent: 5
Bind started for package AB6S0001 - Trigger statistics:
STATEMENTCOUNT...........................1
PACKAGEUSAGE.............................1
STATEMENTUSAGE...........................1
DSN output follows:
DSNT254I *DECA DSNTBCM2 BIND OPTIONS FOR
PACKAGE = DECA.APTAB6S.AB6S0001.()
ACTION
ADD
OWNER
RDAMZL3
QUALIFIER
RDAMZL3
VALIDATE
RUN
EXPLAIN
NO
ISOLATION
CS
RELEASE
COMMIT
COPY
DSNT255I *DECA DSNTBCM2 BIND OPTIONS FOR
PACKAGE = DECA.APTAB6S.AB6S0001.()
SQLERROR
NOPACKAGE
CURRENTDATA
YES
DEGREE
1
DYNAMICRULES
Figure 41
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51480I
BMC51480I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51480I
BMC51480I
BMC51480I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51510I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
DEFER
REOPT
NONE
KEEPDYNAMIC
YES
IMMEDWRITE
NO
DBPROTOCOL
DRDA
OPTHINT
ENCODING
EBCDIC(00037)
PATH
DSNT232I *DECA SUCCESSFUL BIND FOR
PACKAGE = DECA.APTAB6S.AB6S0001.()
14:49:10 001 APT0185I Statements committed: 12500
14:49:12 001 APT0185I Statements committed: 22500
14:49:13 001 APT0185I Statements committed: 27500
14:49:14 001 APT0185I Statements committed: 32500
2: DATA TASK COMPLETE. ELAPSED TIME = 00:00:11. 20000 ROWS PASSED TO APPLY PLUS
3: DATA TASK COMPLETE. ELAPSED TIME = 00:00:11. 20000 ROWS PASSED TO APPLY PLUS
2: SORT TASK, XBLK XFERS = 27, EMPTY WAITS = 0, FULL WAITS = 11
2: SORT TASK, APBUF XFERS = 43, EMPTY WAITS = 39, FULL WAITS = 0
3: SORT TASK, XBLK XFERS = 27, EMPTY WAITS = 0, FULL WAITS = 6
3: SORT TASK, APBUF XFERS = 43, EMPTY WAITS = 40, FULL WAITS = 0
4: DATA TASK COMPLETE. ELAPSED TIME = 00:00:11. 20000 ROWS PASSED TO APPLY PLUS
6: DATA TASK COMPLETE. ELAPSED TIME = 00:00:11. 20000 ROWS PASSED TO APPLY PLUS
5: DATA TASK COMPLETE. ELAPSED TIME = 00:00:11. 20000 ROWS PASSED TO APPLY PLUS
4: SORT TASK, XBLK XFERS = 27, EMPTY WAITS = 0, FULL WAITS = 5
4: SORT TASK, APBUF XFERS = 43, EMPTY WAITS = 40, FULL WAITS = 0
6: SORT TASK, XBLK XFERS = 27, EMPTY WAITS = 0, FULL WAITS = 11
6: SORT TASK, APBUF XFERS = 43, EMPTY WAITS = 40, FULL WAITS = 0
5: SORT TASK, XBLK XFERS = 27, EMPTY WAITS = 0, FULL WAITS = 14
5: SORT TASK, APBUF XFERS = 43, EMPTY WAITS = 41, FULL WAITS = 0
14:49:15 001 APT0185I Statements committed: 40000
14:49:16 001 APT0118I Input statements processed: 100000
14:49:16 001 APT0066I Input processing complete
14:49:17 001 APT0185I Statements committed: 52500
14:49:18 001 APT0185I Statements committed: 57500
14:49:19 001 APT0210I Updating Checkpoint Statement ID: 0000EC18000030D400030003010000CD14
14:49:19 001 APT0185I Statements committed: 65000
14:49:21 001 APT0185I Statements committed: 70000
14:49:22 001 APT0185I Statements committed: 77500
14:49:23 007 APT0080I Apply Processing Ended - Agent: 2
14:49:24 001 APT0185I Statements committed: 90000
14:49:25 009 APT0080I Apply Processing Ended - Agent: 4
14:49:25 010 APT0080I Apply Processing Ended - Agent: 5
14:49:25 001 APT0185I Statements committed: 95000
14:49:26 008 APT0080I Apply Processing Ended - Agent: 3
14:49:26 006 APT0080I Apply Processing Ended - Agent: 1
14:49:26 001 APT0047I TABLE STATISTICS - EXAMPLEC.TBL1
AGENT
ASSIGNBY
INSERT
UPDATE
DELETE
DDL
TOTAL
0 PARTITION
100000
0
0
0
100000
14:49:26 001 APT0048I PARTITION STATISTICS - EXAMPLEC.TBL1
AGENT
ASSIGNBY PART
INSERT
UPDATE
DELETE
DDL
TOTAL
5 PARTITION
1
20000
0
0
0
20000
3 PARTITION
2
20000
0
0
0
20000
1 PARTITION
3
20000
0
0
0
20000
4 PARTITION
4
20000
0
0
0
20000
2 PARTITION
5
20000
0
0
0
20000
14:49:26 001 APT0032I DSN output follows:
DSNT200I *DECA FREE FOR PLAN APTAB6S SUCCESSFUL
14:49:26 001 APT0032I DSN output follows:
DSNT232I *DECA SUCCESSFUL FREE FOR
PACKAGE = DECA.APTAB6S.AB6S0000.()
DSNT232I *DECA SUCCESSFUL FREE FOR
PACKAGE = DECA.APTAB6S.AB6S0001.()
14:49:26 000 APT0020I File DBRMLIB :SYS05325.T144905.RA000.AMUEX12.R0351245 deallocated
14:49:26 001 APT0111I INPUT PROCESSING STATISTICS
INSERT
UPDATE
DELETE
DDL
TOTAL
100000
0
0
0
100000
14:49:26 001 APT0166I STATEMENTS COMMITTED STATISTICS
AGENT
INSERT
UPDATE
DELETE
DDL
TOTAL
1
20000
0
0
0
20000
2
20000
0
0
0
20000
3
20000
0
0
0
20000
4
20000
0
0
0
20000
5
20000
0
0
0
20000
----- --------- --------- --------- --------- ---------TOTAL
100000
0
0
0
100000
423
Figure 41
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC51576I
BMC50481I
BMC50476I
BMC50476I
BMC51507I
BMC51507I
BMC50476I
BMC51472I
BMC51479I
BMC51475I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50004I
424
Figure 41
BMC51577I
BMC51578I
ROWS
INSERTED
PART
PART
PART
PART
PART
0001
0002
0003
0004
0005
DISCARDED
SQLERRORS
100000
20000
20000
20000
20000
20000
0
0
0
0
0
425
Figure 42
//
JOB
//EXAMPL13 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,AMUEXDDB,NEW,,MSGLEVEL(1),AMU$OPTS'
//STEPLIB DD DISP=SHR,DSN=&AMULIB1
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SORTOUT DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,PASS),
//
DSN=AMU.EXAMP013.SORTOUT
//SYSUT101 DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,PASS),
//
DSN=AMU.EXAMP013.SYSUT1
//SYSERR
DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,PASS),
//
DSN=AMU.EXAMP013.SYSERR
//SYSDISC DD UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,PASS),
//
DSN=AMU.EXAMP013.SYSDISC
//*
//SYSREC
DD DSN=AMU.QA.RGRTESTS.DTAEX13,DISP=SHR
//SYSIN
DD *
LOAD REPLACE
PRELOAD LOAD
DELETEFILES YES
COPY NO COPYPEND NO
FORMAT CSV
INTO TABLE EXAMPLED.TBL1
(INTEGER_COLUMN
POSITION(*)
,SMALLINT_COLUMN
POSITION(*)
,DECIMAL_COLUMN
POSITION(*)
,CHAR_COLUMN
POSITION(*)
,VARCHAR_COLUMN
POSITION(*)
,DATE_COLUMN_D1
POSITION(*) DATE-D1
EXTERNAL
,TIME_COLUMN_D1
POSITION(*) TIME-D1
EXTERNAL
,TIMESTP_COLUMN_D1E POSITION(*) TIMESTAMP-1E EXTERNAL
,FLOAT_COLUMN
POSITION(*)
NULLIF FLOAT_COLUMN = ''
)
Figure 43 shows an image of the SYSREC data set for example 13.
Figure 43
"000001",524,"55521.15","KATHY","WISE","02/01/00","11:10:12","20021031211512","9.869217185085289E+09",
"000002","722","53251.78","JOHN","BROWN","10/07/00","01:01:45","20021210234211","9.231216185085289E+09",
"000003","755","45631.43","BERTHA","SMITH","11/08/00","14:55:42","20000110203423",,
"000004","572","34678.55","JEREMY","BROWN","05/03/00","16:39:39","20000503031639","9.169234115085689E+09",
"000005","289","93352.65","LINDA","KANDU","07/04/00","20:54:01","20000120110124","9.366213124064289E+09",
"000006","424","34553.48","CHRIS","CRUZ","02/11/00","22:23:37","20010322233711","9.267122386485689E+09",
"000007","522","72526.43","JULIE","CRIMSON","03/29/00","03:06:11","20000503061142",,
"000008","743","41781.25","ALEX","MCNALLA","05/30/00","15:45:03","20000311010312","9.859313455385283E+09",
"000009","455","31524.41","ANNA","STACK","12/15/00","02:24:47","20000302224332","9.469245685081539E+09",
"000010","667","91206.35","BOB","PRICE","10/19/00","04:29:29","20060204212112","9.569211235085349E+09",
"000011","724","41528.55","ALEXIA","ROBERTS","04/01/00","05:13:32","20021105133212","9.369237184125383E+09",
"000012","857","81520.55","CHUCK","JONES","08/02/00","08:06:53","20000201011112","3.321267332045211E+01",
"000013","999","36522.35","JANET","RYAN","07/14/00","10:13:29","20010210132011",,
"000014","370","41528.85","DOUG","FRAME","02/21/00","09:23:18","20000209231013","9.259237485085289E+09",
"000015","642","11521.95","RACHEL","POTTS","03/22/00","02:29:22","20000102212232","9.466414125082389E+09",
"000016","323","22527.05","RANDY","GRIFFIN","03/14/00","01:45:35","20000201031322","9.563717183085489E+09",
"000017","645","35524.72","WANDA","JENKINS","08/04/00","04:53:46","20031104134202","9.269287185425229E+09",
"000018","221","81471.65","PRIYA","LONG","04/29/00","05:28:30","20040105233032","9.869239225233423E+09",
"000019","255","51534.42","JOHN","MERCER","02/28/00","08:47:38","20001003012022","2.332235343235211E+02",
"000020","513","62561.15","MARIE","MORALEZ","09/20/00","07:18:43","20000901024302","9.769214184085289E+09",
426
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:13:37 ...
UTILITY ID = 'AMUEXDDB'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626136K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
427
Figure 44
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
LOAD REPLACE
PRELOAD LOAD
DELETEFILES YES
COPY NO COPYPEND NO
FORMAT CSV
INTO TABLE EXAMPLED.TBL1
(INTEGER_COLUMN
POSITION(*)
,SMALLINT_COLUMN
POSITION(*)
,DECIMAL_COLUMN
POSITION(*)
,CHAR_COLUMN
POSITION(*)
,VARCHAR_COLUMN
POSITION(*)
,DATE_COLUMN_D1
POSITION(*) DATE-D1
,TIME_COLUMN_D1
POSITION(*) TIME-D1
,TIMESTP_COLUMN_D1E POSITION(*) TIMESTAMP-1E
,FLOAT_COLUMN
POSITION(*)
NULLIF FLOAT_COLUMN = ''
)
EXTERNAL
EXTERNAL
EXTERNAL
BMC51414I 'FORMAT CSV' SPECIFIED. STANDARD RULES IN EFFECT FOR WHEN COMPARISONS
BMC50004I UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
BMC50004I ANALYZE PHASE COMPLETE.
BMC50466W
BMC50466W
BMC50394I
BMC50474I
BMC51499I
BMC51500I
BMC51453I
BMC50481I
BMC51510I
BMC51478I
BMC50482I
428
Figure 44
BMC50477I
BMC50481I
BMC51510I
BMC50481I
BMC50482I
BMC50477I
BMC51476I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC51507I
BMC50476I
BMC51472I
BMC51479I
BMC51475I
BMC50004I
2: PARTITION =
0, ROWS/KEYS = 20, I/O WAITS = 5 ,DDNAME = SYS00004
2: DATA TASK COMPLETE. ELAPSED TIME = 00:00:02
2: SORT TASK, XBLK XFERS = 2, EMPTY WAITS = 0, FULL WAITS = 1
3: INDEX SORT COMPLETE. ELAPSED TIME = 00:00:02
3: BUILD COMPLETE. ELAPSED TIME = 00:00:02 DSN = 'DECACAT.DSNDBD.AMUEXDDB.IX1.I0001.A001'
3: PARTITION =
0, ROWS/KEYS = 20, I/O WAITS = 7 ,DDNAME = SYS00008
BUILD STATISTICS: 20 KEYS LOADED INTO INDEX 'EXAMPLED.IX1'
3: INDEX TASK COMPLETE. ELAPSED TIME = 00:00:05
3: INDEX TASK, XBLK XFERS = 1, EMPTY WAITS = 0, FULL WAITS = 1
DDNAME = SYSERR, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
DDNAME = SYSREC, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
XBLKS = 10, XFERS = 2, EMPTY WAITS = 0, FULL WAITS =2
DDNAME = SYSDISC, I/OS = 0, I/O WAITS = 0, RDB LOCK WAITS = 0
COMBINED PHASE STATISTICS: 20 ROWS SELECTED FOR SPACE 'AMUEXDDB.EXDTS', 0 ROWS SELECTED BUT DISCARDED DUE TO ERRORS
COMBINED PHASE STATISTICS: 0 PHYSICAL (0 LOGICAL) RECORDS DISCARDED TO SYSDISC
LOAD STATISTICS: 20 ROWS LOADED INTO TABLE SPACE 'AMUEXDDB.EXDTS'
COMBINED PHASE COMPLETE. ELAPSED TIME = 00:00:07
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
SPACE
15
KSAVED
0
PSAVED
0
EXTENTS
1
Figure 45 shows the SPUFI output of a SELECT on the loaded table for example 13.
Figure 45
PAGE
1
***INPUT STATEMENT:
SELECT * FROM EXAMPLED.TBL1;
+--------------------------------------------------------------------------------------------------------------------| INTEGER_COLUMN | SMALLINT_COLUMN | DECIMAL_COLUMN | CHAR_COLUMN | VARCHAR_COLUMN | DATE_COLUMN_D1 | TIME_COLUMN_D1 |
+--------------------------------------------------------------------------------------------------------------------1_|
1 |
524
|
55521.15
| KATHY
| WISE
| 02/01/2000
| 11:10 AM
|
2_|
2 |
722
|
53251.78
| JOHN
| BROWN
| 10/07/2000
| 01:01 AM
|
3_|
3 |
755
|
45631.43
| BERTHA
| SMITH
| 11/08/2000
| 02:55 PM
|
4_|
4 |
572
|
34678.55
| JEREMY
| BROWN
| 05/03/2000
| 04:39 PM
|
5_|
5 |
289
|
93352.65
| LINDA
| KANDU
| 07/04/2000
| 08:54 PM
|
6_|
6 |
424
|
34553.48
| CHRIS
| CRUZ
| 02/11/2000
| 10:23 PM
|
7_|
7 |
522
|
72526.43
| JULIE
| CRIMSON
| 03/29/2000
| 03:06 AM
|
8_|
8 |
743
|
41781.25
| ALEX
| MCNALLA
| 05/30/2000
| 03:45 PM
|
9_|
9 |
455
|
31524.41
| ANNA
| STACK
| 12/15/2000
| 02:24 AM
|
10_|
10 |
667
|
91206.35
| BOB
| PRICE
| 10/19/2000
| 04:29 AM
|
11_|
11 |
724
|
41528.55
| ALEXIA
| ROBERTS
| 04/01/2000
| 05:13 AM
|
12_|
12 |
857
|
81520.55
| CHUCK
| JONES
| 08/02/2000
| 08:06 AM
|
13_|
13 |
999
|
36522.35
| JANET
| RYAN
| 07/14/2000
| 10:13 AM
|
14_|
14 |
370
|
41528.85
| DOUG
| FRAME
| 02/21/2000
| 09:23 AM
|
15_|
15 |
642
|
11521.95
| RACHEL
| POTTS
| 03/22/2000
| 02:29 AM
|
16_|
16 |
323
|
22527.05
| RANDY
| GRIFFIN
| 03/14/2000
| 01:45 AM
|
17_|
17 |
645
|
35524.72
| WANDA
| JENKINS
| 08/04/2000
| 04:53 AM
|
18_|
18 |
221
|
81471.65
| PRIYA
| LONG
| 04/29/2000
| 05:28 AM
|
19_|
19 |
255
|
51534.42
| JOHN
| MERCER
| 02/28/2000
| 08:47 AM
|
20_|
20 |
513
|
62561.15
| MARIE
| MORALEZ
| 09/20/2000
| 07:18 AM
|
+---------------------------------------------------------------------------------------------------------------------
429
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Figure 45
PAGE
SUCCESSFUL RETRIEVAL OF
------------------------------------------------------+
|
TIMESTP_COLUMN_D1E
|
FLOAT_COLUMN
|
------------------------------------------------------+
1_| 2002-10-31-21.15.12.000000 | 9.869217185085288E+09 |
2_| 2002-12-10-23.42.11.000000 | 9.231216185085288E+09 |
3_| 2000-01-10-20.34.23.000000 | ?
|
4_| 2000-05-03-03.16.39.000000 | 9.169234115085688E+09 |
5_| 2000-01-20-11.01.24.000000 | 9.366213124064288E+09 |
6_| 2001-03-22-23.37.11.000000 | 9.267122386485688E+09 |
7_| 2000-05-03-06.11.42.000000 | ?
|
8_| 2000-03-11-01.03.12.000000 | 9.859313455385282E+09 |
9_| 2000-03-02-22.43.32.000000 | 9.469245685081538E+09 |
10_| 2006-02-04-21.21.12.000000 | 9.569211235085349E+09 |
11_| 2002-11-05-13.32.12.000000 | 9.369237184125382E+09 |
12_| 2000-02-01-01.11.12.000000 | 3.321267332045210E+01 |
13_| 2001-02-10-13.20.11.000000 | ?
|
14_| 2000-02-09-23.10.13.000000 | 9.259237485085288E+09 |
15_| 2000-01-02-21.22.32.000000 | 9.466414125082388E+09 |
16_| 2000-02-01-03.13.22.000000 | 9.563717183085488E+09 |
17_| 2003-11-04-13.42.02.000000 | 9.269287185425228E+09 |
18_| 2004-01-05-23.30.32.000000 | 9.869239225233422E+09 |
19_| 2000-10-03-01.20.22.000000 | 2.332235343235210E+02 |
20_| 2000-09-01-02.43.02.000000 | 9.769214184085289E+09 |
------------------------------------------------------+
20 ROW(S)
430
The OUTPUT option provides dynamic allocation options for the default output
data set.
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
NOTE
When you specify FORMAT BMCLOAD in UNLOAD PLUS, UNLOAD PLUS forces
CNTLCARDS BMCLOAD.
The ENUMROWS control card directs UNLOAD PLUS to determine the value to
include with the LOADPLUS ENUMROWS option from the number of rows that
are unloaded.
The UNLOADDN option overrides the default ddname of the unload data set.
The ACTIVE (YES) option directs UNLOAD PLUS to dynamically allocate the
SYSREC data set.
ORDER YES directs UNLOAD PLUS to sort output records in clustering key
sequence. The full data migration process obtains optimized sort processing by
sorting in UNLOAD PLUS rather than in LOADPLUS.
The INTO parameter of the SELECT statement passes to LOADPLUS the name of
the table into which LOADPLUS is to load the data. This table is identical in
structure to the table from which UNLOAD PLUS is unloading data.
The UNLOAD PLUS SYSPRINT shows the LOADPLUS control cards that UNLOAD
PLUS writes to the SYSCNTL data set. Note the following LOADPLUS options:
s
The INDSN option names the SYSREC data set that UNLOAD PLUS created.
UNLOAD PLUS builds the data set name dynamically based on the DSNAME
defaults in the UNLOAD PLUS installation options.
The ENUMROWS option shows that UNLOAD PLUS calculated the number of
new rows that LOADPLUS will load as 29. This number includes the header
records that UNLOAD PLUS creates when using FORMAT BMCLOAD.
LOADPLUS uses these header records to ensure that the table being loaded
matches the table that was unloaded.
DELETEFILES YES SYSDISC YES directs LOADPLUS to delete the work files and
SYSDISC file (if the SYSDISC file is empty) after the load completes.
The INTO statement contains the WHEN TABLE=obid option, which is required
when using FORMAT BMCUNLOAD. The OBID is the identifier that UNLOAD
PLUS generated for this table.
431
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Because no COPY option is included, LOADPLUS does not make a copy. Because
the value of the COPYPEND installation option is YES, LOADPLUS places the
table space in COPY pending status and the job completes with return code 4.
The SYSIN DD statement in the LOADPLUS JCL specifies the name of the SYSCNTL
data set that contains the LOAD command options that UNLOAD PLUS created.
Passing the options from UNLOAD PLUS to LOADPLUS in this way streamlines the
data migration process because it eliminates the need to specify options in your
LOADPLUS JCL. This method maximizes data integrity by ensuring that the
LOADPLUS control cards match the input data. Note that the JCL does not include a
SYSREC DD statement because the input data set is specified with the INDSN option.
Figure 46 shows the UNLOAD PLUS JCL for example 14.
Figure 46
//
JOB
//UNLOAD14 EXEC PGM=ADUUMAIN,COND=EVEN,
//
PARM='&SSID,ADUXM14,NEW,,MSGLEVEL(1)'
//STEPLIB DD DISP=SHR,DSN=&ADULIB1
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSCNTL DD DISP=(NEW,CATLG),DSN=&UNLDCNTL,
//
SPACE=(CYL,(5,2)),UNIT=SYSDA
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//SYSIN
DD *
UNLOAD
OUTPUT SYSREC UNIT SYSDA
SPACE (5,1)
DSNAME 'AMU.EXAMP014.SYSREC'
*
CNTLCARDS 'ENUMROWS' 'REPLACE'
'PRELOAD LOAD DELETEFILES YES SYSDISC YES'
UNLOADDN (SYSREC) ACTIVE (YES)
ORDER YES
FORMAT BMCLOAD
SELECT * INTO NAME BMC.TBEXB20
FROM BMC.RET_EMPLS
Figure 47 shows the UNLOAD PLUS SYSPRINT output for example 14.
Figure 47
BMC50001I
BMC50002I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
432
***** B M C
U N L O A D
P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1991 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:31:57 ...
UTILITY ID = 'ADUXM14'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'ADU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626444K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
FILL=NO
SMCORE=(0K,0K)
ANALYZE=(DB2STATS,NOLIMIT)
HISTORY=YES
SORTNUM=32
CENTURY=(1950,2049)
IBUFFS=25
SQLDELAY=3
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Figure 47
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
CHANGE_CONSISTENT=NO
CHANGE_QUIESCE=NO
CMAX=16
CMRATIO=50
CONSTRULES=BMC
CURRENTDEGREE=NONE
DELFILES=NO
DRNDELAY=3
DRNRETRY=10
DRNWAIT=UTIL
DSPLOCKS=NONE
EXCLDUMP=(X37,X22,X06)
INLINE=NO
LOADDECP=NO
LOCKROW=YES
MAXP=5
MSGLEVEL=1
NULLCHAR=X'6F'
NULLTYPE=T1
OPNDB2ID=YES
PLAN=ADU0820
SDUMP=YES
SHRLEVEL=REFERENCE
SMAX=16
SQLRETRY=100
TAPEDISP=DELETE
TASKMAX=200%
UBUFFS=25
UNLDMAX=200%
UNLOADDN_ACTIVE=(NO,NO)
UNLOADDN=(SYSREC,SYSRED)
USELRECL=NO
UXSTATE=SUP
ZONEDDECOVP=(C,D)
BMC50471I TAPES=NONE
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50483I
BMC50483I
OUTPUT
=
UNIT
=
VOLCNT
=
GDGLIMIT =
GDGEMPTY =
GDGSCRAT =
STORCLAS =
DATACLAS =
MGMTCLAS =
UNITCNT =
SPACE
=
PCTPRIM =
MAXPRIM =
MAXSECD =
FILESZPCT
NBRSECD =
DISKRETN =
DISKEXPD =
RETPD
=
EXPDT
=
TRTCH
=
SYSREC
SYSRED
BMC50483I SYSREC
BMC50483I SYSRED
SYSREC
SYSALLDA
25
5
NO
NO
NONE
NONE
NONE
0
CYL
AUTO
0
0
100
AUTO
NONE
NONE
NONE
99000
NONE
VOLUMES=NONE
VOLUMES=NONE
SYSRED
SYSALLDA
25
5
NO
NO
NONE
NONE
NONE
0
CYL
AUTO
0
0
100
AUTO
NONE
NONE
NONE
99000
NONE
DSNAME=&USERID.&TYPE.S&SELNUM
DSNAME=&USERID.&TYPE.S&SELNUM
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
BMC_BMCSYNC
BMC_BMCHIST
BMC_BMCXCOPY
='BMCUTIL.CMN_BMCUTIL'
='BMCUTIL.CMN_BMCSYNC'
='BMCUTIL.CMN_BMCHIST'
='BMCUTIL.CMN_BMCXCOPY'
BMC50102I
UNLOAD
BMC50102I
OUTPUT SYSREC UNIT SYSDA
BMC50102I
SPACE (5,1)
BMC50102I
DSNAME 'AMU.EXAMP014.SYSREC'
BMC50102I *
BMC50102I
CNTLCARDS 'ENUMROWS' 'REPLACE'
BMC50102I
'PRELOAD LOAD DELETEFILES YES SYSDISC YES'
BMC50102I
UNLOADDN (SYSREC) ACTIVE (YES)
433
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Figure 47
BMC50102I
BMC50102I
BMC50102I
BMC50102I
ESTIMATED
ESTIMATED
ESTIMATED
ESTIMATED
ESTIMATED
ROWS
ROWS
ROWS
ROWS
ROWS
FOR
FOR
FOR
FOR
FOR
UNIT OR
DATACLAS MGMTCLAS STORCLAS
DSNAME
KBYTES
PRI
KBYTES
SEC
ALOC
PRI
ALOC
SEC
SYSDA
11/21/2005
11:32:19
ELAPSED TIME =
00:00:00
434
CYL
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
//
JOB
//LOADEX14 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPL14,NEW,,MSGLEVEL(1)'
//STEPLIB DD DISP=SHR,DSN=&AMULIB1
//
DD DISP=SHR,DSN=&AMULIB2
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSERR
DD DSN=AMU.EXAMP14B.SYSERR,
//
DISP=(NEW,CATLG),SPACE=(CYL,(5,2)),
//
UNIT=SYSDA
//SYSIN
DD DISP=SHR,DSN=&UNLDCNTL
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:32:00 ...
UTILITY ID = 'EXAMPL14'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626400K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
=
=
=
=
LOAD
NO
USE
NO
WORK
NO
USE
NO
SORTWORK
NO
USE
NO
ERROR
NO
USE
NO
DISCARD
NO
USE
NO
435
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Figure 49
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
436
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Figure 49
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50394I
BMC50474I
BMC51499I
BMC51500I
BMC51453I
BMC50481I
BMC51510I
BMC51592I
BMC51478I
BMC50482I
BMC50477I
BMC50481I
BMC51510I
BMC50481I
BMC50482I
BMC50477I
BMC51476I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC51507I
BMC51472I
BMC51479I
BMC51475I
BMC50318I
BMC50004I
BMC50387W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
DBCARD PCOMP
0
0
SPACE
15
KSAVED
0
PSAVED
0
EXTENTS
1
437
Example 14: LOAD REPLACE from UNLOAD PLUS data in internal format
Figure 50 shows the output of a SELECT on the loaded table for example 14.
Figure 50
PAGE
1
***INPUT STATEMENT:
SELECT * FROM BMC.TBEXB20;
+----------------------------------------------------------------------------------------------------|
EMPL_LNAME
| EMPL_FNAME | EMPL_SALARY_CODE | EMPL_SALARY_HRLY | EMPL_DEPT_NO | EMPL_HIRE_DATE |
+----------------------------------------------------------------------------------------------------1_| Johnson
| Raymond
| H
|
9.00
| 1100
| 01/16/1993
|
2_| Broderick
| Samuel
| S
|
44000.00
| 1300
| 08/23/1992
|
3_| Baker
| Kathy
| H
|
4.75
| 1300
| ?
|
4_| Adkinson
| William
| H
| ?
| 2100
| 04/02/1990
|
5_| Jackson
| William
| S
|
76000.00
| 2400
| 09/14/1992
|
6_| Jackson
| David
| S
|
92000.00
| 2500
| 07/02/1991
|
7_| Billingsly
| Randy
| H
|
8.10
| 2500
| 06/17/1988
|
8_| Brown
| Ellen
| S
|
24000.00
| 2700
| 11/02/1991
|
9_| Bronson
| Parker
| H
|
6.25
| 3200
| 03/05/1990
|
10_| Doe
| John
| S
|
32000.00
| 3300
| ?
|
11_| Welch
| John
| S
|
44500.00
| 3600
| 08/26/1993
|
12_| Britain
| Michelle
| H
| ?
| 4200
| 12/24/1994
|
13_| Franklin
| Erica
| S
|
32000.00
| 4300
| 04/18/1990
|
14_| Williamson
| Floyd
| H
|
5.75
| 5100
| 04/03/1992
|
15_| George
| Hugh
| H
|
7.50
| 5100
| 05/19/1989
|
16_| Slaughter
| Johnathon | H
|
6.25
| 5200
| ?
|
17_| Johnson
| Robert
| H
| ?
| 6300
| 07/31/1991
|
18_| Peterson
| Barbara
| H
|
6.90
| 6700
| 12/19/1989
|
19_| Kennedy
| Jennifer
| S
|
36000.00
| 8200
| 03/31/1993
|
20_| Wilson
| Lindsay
| S
|
45000.00
| 8200
| 04/25/1992
|
+----------------------------------------------------------------------------------------------------PAGE
2
-----------------------------+
|
EMPL_REC_CREATED
|
-----------------------------+
1_| 2005-02-03-22.49.00.181672 |
2_| 2005-02-03-22.49.00.184649 |
3_| 2005-02-03-22.49.00.184656 |
4_| 2005-02-03-22.49.00.184661 |
5_| 2005-02-03-22.49.00.184666 |
6_| 2005-02-03-22.49.00.184672 |
7_| 2005-02-03-22.49.00.184677 |
8_| 2005-02-03-22.49.00.184683 |
9_| 2005-02-03-22.49.00.184688 |
10_| 2005-02-03-22.49.00.184693 |
11_| 2005-02-03-22.49.00.184698 |
12_| 2005-02-03-22.49.00.184703 |
13_| 2005-02-03-22.49.00.184708 |
14_| 2005-02-03-22.49.00.184714 |
15_| 2005-02-03-22.49.00.184719 |
16_| 2005-02-03-22.49.00.184724 |
17_| 2005-02-03-22.49.00.184731 |
18_| 2005-02-03-22.49.00.184736 |
19_| 2005-02-03-22.49.00.184742 |
20_| 2005-02-03-22.49.00.184747 |
-----------------------------+
SUCCESSFUL RETRIEVAL OF
20 ROW(S)
438
//
JOB
//EXAMPL15 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,EXAMPL15,NEW/RESTART,,MSGLEVEL(1),AMU$OPTO'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD SYSOUT=*
//SYSOUT
DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//SORTOUT DD DSN=AMU.EXAMP015.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP015.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP015.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSUT101 DD DSN=AMU.EXAMP015.SYSUT1,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//*
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX6DATA),
//
DISP=SHR
//*
439
Figure 51
//SYSIN
DD *
LOAD REPLACE
ORDER YES SKIPIX SIX
INTO TABLE EXAMPL15.TBL1
WHEN (21:25) = X'000555555C'
(DATE_OF_SALE
POSITION(67:72)
,SALES_TRANS_ID
POSITION(47:56)
,SALES_ITEM_ID
POSITION(1:10)
,SALES_QTY
POSITION(11:20)
,SALES_PR_PER_ITEM
POSITION(21:25)
,SALES_TOTAL_TX
POSITION(26:34)
,SALES_TOTAL
POSITION(37:45)
,SELLER_ID
POSITION(57:66)
)
LOG NO
COPY NO
DATE-2 EXTERNAL
INTEGER EXTERNAL
CHARACTER
INTEGER EXTERNAL
DECIMAL
(9,2)
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
CHARACTER
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:16:33 ...
UTILITY ID = 'EXAMPL15'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1625984K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
440
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
Figure 52
(NONE,NONE)
0
0
(NONE,NONE)
0
N/A
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
(NONE,NONE)
0
0
LOAD REPLACE
ORDER YES SKIPIX SIX
441
Figure 52
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
DATE-2 EXTERNAL
INTEGER EXTERNAL
CHARACTER
INTEGER EXTERNAL
DECIMAL
(9,2)
DECIMAL EXTERNAL(9,2)
DECIMAL EXTERNAL(9,2)
CHARACTER
'.
'.
VALUE IS DEFAULTED
VALUE IS DEFAULTED
PHYSICAL
RECORD
LOGICAL
RECORD
DISCARD
RECORD
BMC51524E
1
1
1
BMC51524E
2
2
2
BMC51524E
3
3
3
BMC51524E
4
4
4
BMC51524E
6
6
5
BMC51524E
7
7
6
BMC51524E
8
8
7
BMC51524E
9
9
8
BMC51524E
10
10
9
BMC50476I DDNAME = SYSREC, I/OS = 1, I/O
BMC50476I
BMC50476I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
442
DISCARD
TYPE
RELATED
ID: RECORD
WHEN
07:
WHEN
07:
WHEN
07:
WHEN
07:
WHEN
07:
WHEN
07:
WHEN
07:
WHEN
07:
WHEN
07:
WAITS = 1, RDB LOCK WAITS = 0
TABLE
NAME
0
0
0
0
0
0
0
0
0
FIELD, INDEX, OR
CONSTRAINT NAME
Figure 52
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51471I
BMC51486I
BMC51490I
BMC51472I
BMC51479I
BMC50004I
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
LOADING
LOADING
PRELOAD
PRELOAD
PRELOAD
BMC50474I
BMC51498I
BMC51508I
BMC51453I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50476I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC51474I
BMC51476I
BMC51475I
BMC50004I
BMC50387W IMAGE COPY REQUIRED. TABLE SPACE STATE SET TO "COPY PENDING"
BMC50501I DB2 OBJECT STATISTICS
BMC50510I TABLESPACE AMUEX15D.EX15TS
BMC50513I
PARTS
= 10
TABLES = 1
SEGSIZE = 0
BMC50514I
NACTIVE = 11
SPACE
= 150
443
Figure 52
BMC50511I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50512I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC50532I
BMC51493W
BMC51493W
BMC50290I
BMC50006I
PART NACTIVE
CARD
FARIND
NEARIND
FULL
DIRTY PACT PDRP
SPACE EXTENTS
1
1
0
0
0
2
0 100
0
15
1
2
1
0
0
0
2
0 100
0
15
1
3
1
0
0
0
2
0 100
0
15
1
4
1
0
0
0
2
0 100
0
15
1
5
1
0
0
0
2
0 100
0
15
1
6
1
0
0
0
2
0 100
0
15
1
7
1
0
0
0
2
0 100
0
15
1
8
1
0
0
0
2
0 100
0
15
1
9
2
1
0
0
2
0
0
0
15
1
10
1
0
0
0
2
0 100
0
15
1
CREATOR NAME
CARD
NPAGES
INDREF ROWAVG PCTPAGES PCOMP
EXAMPL15 TBL1
1
1
0
68
9
0
INDEX
EXAMPL15.IX0
TABLE EXAMPL15.TBL1
COLUMN DATE_OF_SALE
NACTIVE = 50
SPACE
= 150
FIRSTKEY= 1
FULLKEY = 1
NLEAF
= 10
LEVELS = 2
PCTCLUST= 100
KEYLEN = 9
COLCOUNT= 2
SUBPAGE = 1
CLUSTER = Y
UNIQUE = U
HIGH2KEY= X'1990012500800000' LOW2KEY= X'1990012500800000'
HIGH2KEY=
LOW2KEY=
PART NACTIVE
CARD LEAFDIST
FAROFF
NEAROFF
FULL
FREE
NLEAF LEVELS
1
5
0
0
0
0
0
7
1
2
2
5
0
0
0
0
0
7
1
2
3
5
0
0
0
0
0
7
1
2
4
5
0
0
0
0
0
7
1
2
5
5
0
0
0
0
0
7
1
2
6
5
0
0
0
0
0
7
1
2
7
5
0
0
0
0
0
7
1
2
8
5
0
0
0
0
0
7
1
2
9
5
1
0
1
0
0
7
1
2
10
5
0
0
0
0
0
7
1
2
NON-UNIQUE INDEX 'EXAMPL15.IX1' WAS SKIPPED AND HAS BEEN PLACED IN REBUILD PENDING STATUS
UNIQUE INDEX 'EXAMPL15.IX2' WAS SKIPPED AND HAS BEEN PLACED IN REBUILD PENDING STATUS
DB2 REAL-TIME-STATISTICS -RESET STATS- FUNCTION FOR LOAD UTILITY SUCCESSFUL FOR ALL OBJECTS
UTILITY EXECUTION COMPLETE, RETURN CODE = 4
DBCARD PCOMP
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SPACE
15
15
15
15
15
15
15
15
15
15
KSAVED
0
0
0
0
0
0
0
0
0
0
PSAVED
0
0
0
0
0
0
0
0
0
0
EXTENTS
1
1
1
1
1
1
1
1
1
1
444
This job activates dynamic work file allocation for all work files by specifying
ACTIVE YES for each DDTYPE. The LOAD command statement specifies the
ENUMROWS option, which is required for dynamic allocation. The LOAD command
also includes the DELETEFILES YES SYSDISC YES option to delete the work files,
including SYSDISC if it is empty, after the load completes.
In addition to the JCL and the SYSPRINT output, this example provides the results of
a SELECT COUNT on the table space before and after running the load job. The
second SELECT output shows that only tables TBREDE2 and TBREDE3 were
replaced, leaving table TBREDE1 intact.
RULES=BMC is specified in the options module so that the job can use extended
operators, such as greater than (>) and less than (<), on the LOAD command.
Note message BMC50290I, which shows that real-time statistics are not updated for
this type of load job.
Figure 53 shows the JCL for example 16.
Figure 53
//
JOB
//EXAMPL16 EXEC PGM=AMUUMAIN,
//
PARM='&SSID,AMURS001,NEW
,,MSGLEVEL(1),AMU$OPTS'
//STEPLIB DD DISP=SHR,DSN=&AMULIB
//
DD DISP=SHR,DSN=&DSNEXIT
//
DD DISP=SHR,DSN=&DSNLOAD
//
DD DISP=SHR,DSN=&EDITPR
//SYSPRINT DD
SYSOUT=*
//SYSOUT
DD
SYSOUT=*
//UTPRINT DD
SYSOUT=*
//SYSUDUMP DD
SYSOUT=*
//SYSREC
DD DSN=AMU.QA.RGRTESTS(EX16DATA),DISP=SHR
//BMCCPY
DD DSN=AMU.EXAMP016.BMCCPY,DISP=(NEW,CATLG,CATLG),
//
SPACE=(CYL,(5,1)),UNIT=SYSDA
//SYSIN
DD
*
LOAD DATA RESUME YES
PRELOAD LOAD
ORDER YES
ENUMROWS 50
COPY YES REGISTER ALL
DELETEFILES YES SYSDISC YES
INTO TABLE AMU.TBREDE2 REPLACE WHEN EMPHIREDATE2 > '1470-01-01'
AND EMPHIREDATE2 < '1480-01-01'
(IDNO2
POSITION (01:09) CHAR,
EMPNO2
POSITION (01:09) CHAR,
EMPNAME2
POSITION (11:19) CHAR,
EMPHIREDATE2 POSITION (60:69) DATE EXTERNAL)
INTO TABLE AMU.TBREDE3 REPLACE WHEN EMPHIREDATE3 > '1479-12-31'
AND EMPHIREDATE3 < '1999-12-31'
(SSSNO3
POSITION (01:09) CHAR,
DEPTNAME3
POSITION (21:24) CHAR,
EMPDEPT3
POSITION (01:04) CHAR,
EMPHIREDATE3 POSITION (60:69) DATE EXTERNAL)
DDTYPE LOAD
ACTIVE YES
DDTYPE WORK
ACTIVE YES
DDTYPE SORTWORK ACTIVE YES
DDTYPE ERROR
ACTIVE YES
DDTYPE DISCARD ACTIVE YES
DDTYPE LOCPFCPY ACTIVE YES
445
Figure 54 shows the number of rows in each table in the table space before running
this job.
Figure 54
PAGE
1
***INPUT STATEMENT:
SELECT COUNT(*)
FROM AMU.TBREDE1;
+----------------+
|
|
+----------------+
1_|
12800 |
+----------------+
SUCCESSFUL RETRIEVAL OF
PAGE
1
***INPUT STATEMENT:
SELECT COUNT(*)
FROM AMU.TBREDE2;
1 ROW(S)
+----------------+
|
|
+----------------+
1_|
12800 |
+----------------+
SUCCESSFUL RETRIEVAL OF
PAGE
1
***INPUT STATEMENT:
SELECT COUNT(*)
FROM AMU.TBREDE3;
1 ROW(S)
+----------------+
|
|
+----------------+
1_|
12800 |
+----------------+
SUCCESSFUL RETRIEVAL OF
1 ROW(S)
446
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:19:46 ...
UTILITY ID = 'AMURS001'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTS'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1625820K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=BMC
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
Figure 55
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
DSNUEXIT=(NONE,ASM)
ENFORCE=CHECK
ERRDDN=SYSERR
EXCLDUMP=(X37,X22,X06)
FILECHK=WARN
IBUFFS=20
ORIGDISP=DELETE
PAUSEDISCARDRC=4
PLAN=AMU0820
PREFORMAT=NO
PRELOAD=CONTINUE
RCVYDDN=(BMCRCY,BMCRCZ)
UXSTATE=SUP
WBUFFS=(20,10)
WORKDDN=SYSUT1
WORKUNIT=SYSALLDA
XBLKS=3
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I BMC_BMCUTIL
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
='BMCUTIL.CMN_BMCUTIL'
447
Figure 55
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
LOAD DATA RESUME YES
PRELOAD LOAD
ORDER YES
ENUMROWS 50
COPY YES REGISTER ALL
DELETEFILES YES SYSDISC YES
INTO TABLE AMU.TBREDE2 REPLACE WHEN EMPHIREDATE2
AND EMPHIREDATE2
(IDNO2
POSITION (01:09) CHAR,
EMPNO2
POSITION (01:09) CHAR,
EMPNAME2
POSITION (11:19) CHAR,
EMPHIREDATE2 POSITION (60:69) DATE EXTERNAL)
INTO TABLE AMU.TBREDE3 REPLACE WHEN EMPHIREDATE3
AND EMPHIREDATE3
(SSSNO3
POSITION (01:09) CHAR,
DEPTNAME3
POSITION (21:24) CHAR,
EMPDEPT3
POSITION (01:04) CHAR,
EMPHIREDATE3 POSITION (60:69) DATE EXTERNAL)
DDTYPE LOAD
ACTIVE YES
DDTYPE WORK
ACTIVE YES
DDTYPE SORTWORK ACTIVE YES
DDTYPE ERROR
ACTIVE YES
DDTYPE DISCARD ACTIVE YES
DDTYPE LOCPFCPY ACTIVE YES
> '1470-01-01'
< '1480-01-01'
> '1479-12-31'
< '1999-12-31'
BMC51424I ANALYZE PHASE WILL BE PERFORMED DUE TO DYNAMIC WORK FILE ALLOCATION
BMC51421I NO FIELD SPECIFICATION FOR COLUMN 'EMPCOL3
'.
BMC50004I UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
BMC50004I ANALYZE PHASE COMPLETE.
BMC50425I
BMC50425I
BMC50425I
BMC50425I
&JOBNAME
&RESUME
&UTIL
&VCAT
AMUEX16
Y
AMURS001
DECACAT
VALUE IS DEFAULTED
&STEPNAME
&REPLACE
&UTILPFX
&TIME4
EXAMPL16
N
AMURS001
1119
&DB
&DATE
&UTILSFX
&DATEJ
AMUDREDE
112105
2005325
&TS
&TIME
&DATE8
&JDATE
TSREDE
111946
11212005
05325
&UID
&SSID
&GRPNM
RDAMZL3
DECA
DECA
DSNAME
UNIT OR
DATACLAS MGMTCLAS STORCLAS
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
BMC50448I
SORTWK01
SORTWK02
SORTWK03
SORTWK04
SORTWK05
SORTWK06
SORTWK07
SORTWK08
SORTWK09
SORTWK10
SORTWK11
SORTWK12
SYSDISC
SYSERR
RDAMZL3.AMURS001.SORTWK01
RDAMZL3.AMURS001.SORTWK02
RDAMZL3.AMURS001.SORTWK03
RDAMZL3.AMURS001.SORTWK04
RDAMZL3.AMURS001.SORTWK05
RDAMZL3.AMURS001.SORTWK06
RDAMZL3.AMURS001.SORTWK07
RDAMZL3.AMURS001.SORTWK08
RDAMZL3.AMURS001.SORTWK09
RDAMZL3.AMURS001.SORTWK10
RDAMZL3.AMURS001.SORTWK11
RDAMZL3.AMURS001.SORTWK12
RDAMZL3.AMURS001.SYSDISC
RDAMZL3.AMURS001.SYSERR
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
SYSALLDA
BMC50474I
BMC51499I
BMC51499I
BMC51500I
BMC50477I
BMC51453I
BMC51453I
BMC50481I
BMC51510I
BMC51478I
448
KBYTES
PRI
KBYTES
SEC
ALOC
PRI
ALOC
SEC
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
TRK
Figure 55
BMC50481I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50482I
BMC50477I
BMC50481I
BMC51510I
BMC50481I
BMC50481I
BMC50482I
BMC50477I
BMC51476I
BMC50481I
BMC51510I
BMC50482I
BMC50477I
BMC51476I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC51507I
BMC50476I
BMC51472I
BMC51479I
BMC51473I
BMC51476I
BMC51473I
BMC51476I
BMC51475I
BMC50370I
BMC50375I
BMC50476I
BMC50376I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50318I
BMC50004I
BMC50501I
BMC50510I
BMC50513I
BMC50503I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
SPACE
630
EXTENTS
1
449
Figure 55
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50503I
BMC50521I
BMC50522I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50510I
BMC50541I
BMC50514I
BMC50542I
BMC50543I
BMC50544I
BMC50545I
BMC50546I
BMC50547I
BMC50531I
BMC50532I
BMC50290I
BMC50006I
EXTENTS
1
EXTENTS
1
EXTENTS
1
Figure 56 shows the number of rows in each table in the table space after running this
job.
Figure 56
PAGE
1
***INPUT STATEMENT:
SELECT COUNT(*)
FROM AMU.TBREDE1;
+----------------+
|
|
+----------------+
1_|
12800 |
+----------------+
SUCCESSFUL RETRIEVAL OF
PAGE
1
***INPUT STATEMENT:
SELECT COUNT(*)
FROM AMU.TBREDE2;
1 ROW(S)
+----------------+
|
|
+----------------+
1_|
5 |
+----------------+
SUCCESSFUL RETRIEVAL OF
PAGE
1
***INPUT STATEMENT:
SELECT COUNT(*)
FROM AMU.TBREDE3;
1 ROW(S)
+----------------+
|
|
+----------------+
1_|
15 |
+----------------+
SUCCESSFUL RETRIEVAL OF
450
1 ROW(S)
Example 17: Loading into a Unicode table space from EBCDIC input
451
Example 17: Loading into a Unicode table space from EBCDIC input
Figure 58
//SYSUDUMP DD SYSOUT=*
//*
//SYSREC
DD DISP=SHR,DSN=AMU.QA.RGRTESTS(EX17DATA)
//SORTOUT DD DSN=AMU.EXAMP17.SORTOUT,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSERR
DD DSN=AMU.EXAMP17.SYSERR,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG,CATLG)
//SYSDISC DD DSN=AMU.EXAMP17.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//*
//SYSIN
DD *
LOAD REPLACE
EBCDIC CCSID(37,65534,65534)
INTO TABLE EXAMPL17.TBL1
(SMINT_COL1
POSITION(1:2) SMALLINT
,TIMESTAMP_COL2 POSITION(4:29) TIMESTAMP EXTERNAL(26)
,DATE_COL3
POSITION(31:40) DATE EXTERNAL(10)
,CHAR_COL4
POSITION(42:48) CHAR (7)
)
/*
***** B M C
L O A D P L U S
F O R
D B 2
V8R2.00 *****
COPYRIGHT (C) 1990 - 2006 BMC SOFTWARE, INC. AS AN UNPUBLISHED LICENSED WORK. ALL RIGHTS RESERVED.
UTILITY EXECUTION STARTING
11/21/2005
11:20:23 ...
UTILITY ID = 'EXAMPL17'. DB2 SUBSYSTEM ID = 'DECA'. OPTION MODULE = 'AMU$OPTO'.
z/OS 1.4.0,PID=HBB7707,DFSMS FOR Z/OS=1.3.0,DB2=8.1.0
REGION=0M,BELOW 16M=6820K,ABOVE 16M=1626032K,IEFUSI=NO,CPUS=2
SOLUTION COMMON CODE--V01.04.00
BMCSORT ENGINE--V01.07.01
APPLY PLUS FOR DB2 FOR OS/390--V04.02.00
DIAG1=00000000000000000000000000000000
DIAG2=00000000000000000000000000000000
DIAG3=F7B00000000000000000000000000000
DIAG4=00000000000000000000000000000000
ACFORTSS=YES
IDCACHE=1000
REDEFINE=YES
APCOMMIT=2500
IDCDDN=SYSIDCIN
RENMMAX=30
APMXAGNT=10
IDERROR=DISCARD
RULES=STANDARD
APRETLIM=COUNT
IMAGECPY=YES
SDUMP=YES
APRETVAL=5
INDDN=SYSREC
SHRLEVEL=(NONE,NONE)
CBUFFS=30
INLINECP=NO
SMAX=8
CENTURY=(1950,2049)
KEEPDICTIONARY=NO
SMCORE=(0K,0K)
CHEKPEND=YES
LBUFFS=20
SORTNUM=32
COPYDDN=(BMCCPY,BMCCPZ)
LOADCPY=YES
SQLDELAY=3
COPYLVL=FULL
LOADDN=SORTOUT
SQLRETRY=100
COPYPEND=YES
LOCKROW=YES
STOP@CMT=NO
DELFILES=(NO,NO)
MAXP=5
STOPDELAY=1
DISCARDLIMRC=8
MAXTAPE=3
STOPRETRY=300
DISCARDRC=0
MSGLEVEL=1
TAPEDISP=DELETE
DISCDDN=SYSDISC
OPNDB2ID=YES
UPDMAXA=NO
DSNUEXIT=(NONE,ASM)
ORIGDISP=DELETE
UXSTATE=SUP
ENFORCE=CHECK
PAUSEDISCARDRC=4
WBUFFS=(20,10)
ERRDDN=SYSERR
PLAN=AMU0820
WORKDDN=SYSUT1
EXCLDUMP=(X37,X22,X06)
PREFORMAT=NO
WORKUNIT=SYSALLDA
FILECHK=WARN
PRELOAD=CONTINUE
XBLKS=3
IBUFFS=20
RCVYDDN=(BMCRCY,BMCRCZ)
ZEROROWRC=0
BMC50471I APCOLLECTION=
BMC50471I APOWNER=
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
452
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
=
=
=
=
=
=
=
LOAD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
WORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
SORTWORK
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
ERROR
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
DISCARD
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
Example 17: Loading into a Unicode table space from EBCDIC input
Figure 59
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
=
=
=
=
=
=
=
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
N/A
N/A
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
N/A
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
BMC50470I
DDTYPE
ACTIVE
IFALLOC
SMS
SMSUNIT
SIZEPCT
UNIT
UNITCNT
VOLCNT
DATACLAS
MGMTCLAS
STORCLAS
THRESHLD
MAXEXTSZ
EXPDT
RETPD
GDGLIMIT
GDGEMPTY
GDGSCRAT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
LOCPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOCBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMPFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
REMBFCPY
NO
USE
NO
NO
(100,100)
(SYSALLDA,SYSALLDA)
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
5
NO
NO
5
NO
NO
5
NO
NO
5
NO
NO
BMC50483I
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOAD
WORK
SORTWORK
ERROR
DISCARD
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50483I
BMC50483I
BMC50483I
BMC50483I
LOCPFCPY
LOCBFCPY
REMPFCPY
REMBFCPY
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
DSNPAT=&UID.&UTILPFX.&DDNAME
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC50471I
BMC_BMCUTIL
='BMCUTIL.CMN_BMCUTIL'
BMC_BMCSYNC
='BMCUTIL.CMN_BMCSYNC'
BMC_BMCHIST
='BMCUTIL.CMN_BMCHIST'
BMC_BMCDICT
='BMCUTIL.CMN_BMCDICT'
DASD MANAGER PLUS TABLES:
BMCAMU_RS_TBLSPACE='ASU71F.V71_RS_TABLESPACE'
BMCAMU_RS_TABLEPRT='ASU71F.V71_RS_TABLEPART'
BMCAMU_RS_TABLES ='ASU71F.V71_RS_TABLES'
BMCAMU_RS_INDEXES ='ASU71F.V71_RS_INDEXES'
BMCAMU_RS_INDEXPRT='ASU71F.V71_RS_INDEXPART'
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
BMC50102I
(0,0)
(25,25)
(NONE,NONE)
(NONE,NONE)
(NONE,NONE)
0
0
LOAD REPLACE
EBCDIC CCSID(37,65534,65534)
INTO TABLE EXAMPL17.TBL1
(SMINT_COL1
POSITION(1:2) SMALLINT
,TIMESTAMP_COL2 POSITION(4:29) TIMESTAMP EXTERNAL(26)
,DATE_COL3
POSITION(31:40) DATE EXTERNAL(10)
,CHAR_COL4
POSITION(42:48) CHAR (7)
453
Example 17: Loading into a Unicode table space from EBCDIC input
Figure 59
BMC50102I
BMC50394I
BMC50474I
BMC51495I
BMC51496I
BMC50481I
BMC51510I
BMC51478I
BMC50481I
BMC51510I
BMC50476I
BMC50476I
BMC50476I
BMC51507I
BMC50476I
BMC51486I
BMC51472I
BMC51479I
BMC50004I
BMC50474I
BMC51498I
BMC51508I
BMC51453I
BMC50482I
BMC50477I
BMC50476I
BMC51475I
BMC50004I
BMC50387W
BMC50501I
BMC50510I
BMC50513I
BMC50514I
BMC50511I
BMC50512I
BMC50521I
BMC50522I
BMC50290I
BMC50006I
454
DBCARD PCOMP
0
0
KSAVED
0
PSAVED
0
Chapter
Chapter 6
456
456
459
462
479
483
484
490
496
496
496
496
497
497
497
498
498
499
500
500
503
505
508
455
NOTE
If you modify these options after installation, you must rerun the installation job for these
modifications to take effect.
Table 76
Installation option
Recommended value
Comments
COPYDDN
COPYLVL
PART
456
Additional
performance
information
Table 76
Installation option
Recommended value
Comments
DDTYPE
page 468
(YES,YES), if possible,
but at least (YES,NO)
INLINECP
YES
KEEPDICTIONARY YES
LOADDN
a six-character prefix
LOCKROW
YES
PRELOAD
LOAD
page 472
This value combines the PRELOAD and
LOAD phases into a single phase. In most
cases, a single-phase load job is faster than
a two-phase load job.
RCVYDDN
Chapter 6
457
Table 76
Installation option
Recommended value
Comments
REDEFINE
NO
Additional
performance
information
SMAX
SMCORE
(0K,0K)
SORTNUM
32
STOPRETRY
450
UXSTATE
PROB
WBUFFS
(20,20)
WORKDDN
a five-character prefix
458
page 475
page 477
NOTE
Some of these recommendations apply only to specific environments or conditions. Review
the information in these tables to determine whether the recommendations meet your needs.
For a complete description of the LOAD command options and values, see Chapter 3,
Syntax of the LOAD command.
Table 77 lists LOAD command options that correspond to the installation options
listed in Table 76 on page 456. BMC Software recommends that you specify the
LOAD command options that are listed in this table if they are not already specified
in the installation options. See Table 76 for comments about these command options.
Table 77
Command option
INLINECP=YES
COPYDDN (ddname)
where ddname is a four-character prefix for the
primary local copies
COPYDDN=ddname
where ddname is a four-character prefix for the
primary local copies
COPYLVL PART
COPYLVL=PART
DELFILES=(YES,YES)
KEEPDICTIONARY YES
KEEPDICTIONARY=YES
LOADDN (ddname)
where ddname is a six-character prefix for the
SORTOUT data sets
LOADDN=ddname
where ddname is a six-character prefix for the
SORTOUT data sets
PRELOAD LOAD
PRELOAD=LOAD
RECOVERYDDN (ddname)
where ddname is a four-character prefix for the
primary remote copies
RCVYDDN=ddname
where ddname is a four-character prefix for the
primary remote copies
REDEFINE NO
REDEFINE=NO
SORTNUM 32
SORTNUM=32
WORKDDN (ddname)
WORKDDN=ddname
where ddname is a four- to five-character prefix for the where ddname is a four- to five-character prefix for
the SYSUT1 data sets
SYSUT1 data sets
Chapter 6
459
Table 78
Command option
APCOMMIT and
APMAXAGENTS
Additional
performance
information
CCSID
Do not specify this option unless your job requires it. CCSID
translation can degrade the performance of the load job.
ENUMROWS(total,new) The value for this option should be as accurate as possible, but
it does not have to be exact.
This option is required for dynamic allocation (if you specify
DDTYPE ACTIVE YES in either the installation options or on
the LOAD command).
Guidelines for the two most common scenarios are as follows:
s
FORMAT
BMCUNLOAD
460
page 485
Table 78
Command option
INDEX BUILD
page 469
ORDER PRESORTED
If your data is already sorted and you are using a single input page 470
file, specify ORDER PRESORTED.
ORDER YES
UNIQUEINTO YES
page 471
Chapter 6
page 469
461
Option
ANALYZE
463
CBUFFS
467
DDTYPE
dynamic allocation
468
DISCARDS IGNORE
discarded data
468
ENUMROWS
dynamic allocation
468
IBUFFS
465
INTO
469
LBUFFS
465
MAXP
470
MAXSORTS
477
ORDER
470
PRELOAD
ANALYZE
PRELOAD LOAD
single-phase load
472
REPLACE
474
RESUME
473
RULES
474
SMAX
477
SMCORE
475
UNIQUEINTO
469
UXSTATE
477
WBUFFS
466
XBLKS
462
Controls
478
ANALYZE
If you do not specify ANALYZE or if you specify ANALYZE without SAMPLE or
SCAN, LOADPLUS determines whether to sample or scan for cardinality.
LOADPLUS always obtains average row length information from the DB2 catalog.
Option
Time required
Accuracy
SCAN
more
more
SAMPLE
less
less
load (SORTOUT)
work (SYSUT1)
sort work (SORTWK)
discard (SYSDISC),
error (SYSERR)
image copy (BMCCPY, BMCCPZ, BMCRCY, and BMCRCZ)
LOADPLUS writes these statistics to the SYSPRINT data set. You must specify
PAUSE or ONLY to get this statistics report.
Chapter 6
463
ANALYZE messages
When you specify ANALYZE PAUSE or ANALYZE ONLY, LOADPLUS issues the
following messages. LOADPLUS provides the data set size allocation information in
a table format. Messages BMC51530I through BMC51532I provide the heading
information. Multiple BMC51533I messages provide the estimated values. Because
some types of load jobs allow you to specify single or multiple SORTOUT and
SYSUT1 data sets, LOADPLUS provides values for both. Messages BMC50485I,
BMC51535I, and BMC51536I provide estimates that you can use to gauge the elapsed
time of the load.
For more information about using the report from the ANALYZE phase for allocating
your data sets, see ANALYZE option for estimating data set allocation on page 311.
If you do not want to specify ANALYZE PAUSE or ANALYZE ONLY, you must
calculate the data set sizes yourself or have LOADPLUS dynamically allocate your
data sets. For detailed information and formulas you can use to calculate data set
sizes, see Appendix D, Calculating LOADPLUS work data set sizes. For details
about dynamic allocation, see Dynamic work file allocation options on page 262.
BMC51530I
BMC51531I
BMC51532I
DDNAME KBYTES
BMC51533I
ddname
PRI
SEC
PRI
SEC
INDEX
creator.index
LOADPLUS issues a separate BMC51533I message for each data set and provides the
following information:
s
s
s
s
s
BMC50485I
This message provides either an estimate or the exact cardinality of each partition or
table that is involved in the load. LOADPLUS issues this message for either an
ANALYZE SAMPLE or an ANALYZE SCAN. You can use these values to gauge the
elapsed time of the load.
464
BMC51535I
This message provides an estimate of the cardinality and of the average row length of
the table space. LOADPLUS issues this message when performing an ANALYZE
SAMPLE. You can compare these values with estimates that other messages provide
and with previous executions of the utility to validate the accuracy of these values
and to gauge the elapsed time of the load.
BMC51536I
CARDINALITY OF SPACE = n
This message provides the exact cardinality and an estimate of the average row
length of the table space. LOADPLUS issues this message when it performs an
ANALYZE SCAN. You can compare these values with estimates that other messages
provide and with previous executions of the utility to validate the accuracy of these
values and to gauge the elapsed time of the load.
465
For most single-phase load jobs, LOADPLUS does not use the SORTOUT data set.
However, for those single-phase jobs that do use it, the SORTOUT data set contains
the clustering index and the DB2 row images. LOADPLUS writes this data set in the
COMBINED phase and reads it only if you restart your job. For more information, see
SORTOUT data sets on page 296.
If one or more of the tables that you are loading uses an EDITPROC routine for
compression, the data is written in its compressed format to the SORTOUT data set.
Using compressed data improves performance considerably because LOADPLUS
requires fewer I/O operations to process the data.
The LBUFFS installation option specifies a multiple of 32 KB to use to define the
amount of buffer pool storage that is allocated for reading and writing each active
SORTOUT data set. BMC Software recommends a value of 20 for this option, which is
the value that is shipped with LOADPLUS. LOADPLUS determines the optimal
block size of the SORTOUT data set, depending on the device type used.
For information about allocating SORTOUT data sets, see Allocating SORTOUT data
sets on page 297.
466
If you run with REGION=0M or you have 64 MB of memory available above the
line, specify 20 for a single SYSUT1 data set and 20 for multiple SYSUT1 data sets.
Otherwise, specify 20 for a single SYSUT1 data set and 10 for multiple SYSUT1
data sets, which are the values that are shipped with LOADPLUS.
LOADPLUS determines the optimal block size of the SYSUT1 data set, depending on
the device type containing the data set.
NOTE
For an SQLAPPLY load or for a single-phase LOAD REPLACE job, LOADPLUS does not
require a SYSUT1 data set and does not use it if you specify it.
Chapter 6
467
468
NOTE
Ensure that the DSNPAT pattern for each data set type generates unique data set names. BMC
Software recommends that you use the database and table space names in the DSNPAT
pattern to prevent duplicate work file names. If you are loading partitioned table spaces,
include the partition number in the pattern name. Using date and time in work data sets is
also useful to avoid duplicate data set names.
Under either of the following circumstances, specify only one INTO statement
without the PART option. The resulting clustering key determines the partition
into which the record is loaded, so the PART option is not necessary.
if you specify LOAD REPLACE
if you specify LOAD RESUME YES and are loading the majority of partitions in
a partitioned table space
If you specify LOAD RESUME YES and are loading only a few partitions, specify
all partitions on one INTO statement (for example, INTO PART 1,3:5). This
specification eliminates unloading and loading all partitions of the clustering index
and can save considerable time.
Avoid specifying a separate INTO statement with PART option for each partition.
Chapter 6
469
UNIQUEINTO YES
Use UNIQUEINTO YES if both of the following conditions are true:
s
ORDER NO
ORDER NO tells LOADPLUS not to sort the data in clustering key order, thus
decreasing processing time. However, if your tables have clustering indexes and the
input data is not in clustering key order, you might need to reorganize the table space
before the load job to obtain adequate DB2 performance.
470
ORDER YES
Specifying ORDER YES causes LOADPLUS to sort the input data during the data
process of the PRELOAD phase or the COMBINED phase. Sorting at this point can
increase the elapsed time of the load process significantly. If you specify ORDER YES,
LOADPLUS performs no other processing while the data is being sorted, because no
index information can be passed to the index process until BMCSORT starts
outputting ordered records. Although ORDER YES increases processing time, the
total elapsed time that LOADPLUS requires to sort and load the data is still less than
the time required to presort the data and then run LOADPLUS.
However, you can improve the performance of your load job by specifying ORDER
YES if you are loading a partitioned table space and there are no nonpartitioning
indexes participating in the load. Specifying ORDER YES in this scenario enables
multitasking for both loading the data and building the index.
Another advantage of specifying the ORDER YES option is that no clustering index
work information is required in the SYSUT1 data set, thus reducing I/O operation
and DASD space for that data set. Instead, LOADPLUS takes the clustering index
information from the data rows during the LOAD phase.
ORDER PRESORTED
ORDER PRESORTED tells LOADPLUS that the data is already in the same sequence
as the clustering index. Therefore, LOADPLUS does not have to sort the data or the
clustering index, saving a significant amount of time. LOADPLUS does verify that the
data is in the correct order and terminates the job if it is not.
NOTE
You must have only one SYSREC specified to use ORDER PRESORTED. If you have multiple
SYSREC data sets, the job terminates.
Chapter 6
471
NOTE
For certain types of single-phase jobs, you cannot restart your load job if you do not specify
SORTOUT and SYSUT1 data sets. See Single-phase load on page 315 for information about
restarting single-phase load jobs.
The fastest load is a single-phase load with LOAD REPLACE ORDER PRESORTED
and no participating nonclustering indexes. You can specify ORDER PRESORTED on
a single-phase load with RESUME YES PART n REPLACE if all of the following
conditions apply to your load:
s
s
s
472
You are replacing all partitions that are involved in the load.
No nonclustering indexes are participating in the load.
You use only one SYSREC data set.
Use two-phase processing if you are running jobs that might have a significant
number of duplicate keys. In the COMBINED phase, LOADPLUS loads data into
the table before checking for duplicate keys in the unique nonclustering indexes.
At the end of the COMBINED phase, LOADPLUS deletes the rows that cause the
duplicates and the duplicate key entries for all indexes for those rows.
For ORDER YES cases, use two-phase processing only if there are unique
nonclustering indexes. (Clustering index key violations under ORDER YES do
not cause performance degradation.)
For ORDER NO cases, use two-phase processing regardless of whether there are
clustering or nonclustering indexes.
RESUME YES
If you specify the RESUME YES option, LOADPLUS must find the location where
new data is to be loaded. LOADPLUS reads the table space, looking for the first
available page after all existing data. Although this operation is not very timeconsuming, it does require that LOADPLUS allocate, open, and perform some I/O
operations on the table space data set.
LOADPLUS checks for active data by sequentially reading the table space and
searching each page for active rows. If the table space is newly defined, this checking
is very fast and requires only one I/O operation on the table space. However, if the
table space contains many deleted rows or dropped tables, LOADPLUS must read
each page, requiring many I/O operations and slowing processing.
Chapter 6
473
The RESUME YES INDEX UPDATE option of the LOAD command tells LOADPLUS
to update indexes rather than unload and reload them. LOADPLUS updates indexes
during the LOAD or COMBINED phase. For best performance, when you are adding
a small number of rows to an existing table that contains a large number of rows, use
the INDEX UPDATE option instead of INDEX BUILD (which is the default). See
INDEX on page 139 for more information, including restrictions and considerations
for these options.
RESUME NO
RESUME NO tells LOADPLUS to load new data at the beginning of the table space.
Because this destroys any existing data, LOADPLUS checks for existing data before
performing the load operation. If LOADPLUS finds any active rows, the load
terminates.
REPLACE
REPLACE tells LOADPLUS to ignore any existing data in the table space, so
LOADPLUS does not check for active rows. For best performance, when you refresh a
table space, use the REPLACE option instead of deleting rows or dropping tables.
NOTE
Note the following information about how the RULES option interacts with the FORMAT
option on the LOAD command:
s
When you specify FORMAT CSV, LOADPLUS changes the value of the RULES option to
STANDARD, regardless of the value that you specified at installation.
When RULES=BMC and you specify a field name in your predicate where the field
name matches a column name in the table that you are loading, LOADPLUS converts
the value that the field defines to the data type and length of the column before it
evaluates the predicate. (This is different than the IBM DB2 LOAD utility which only
performs a byte-by-byte comparison based on the byte length of the field.)
Depending on the conversion that is involved, converting the value can be time
474
consuming and is always more so than a predicate that uses (start:end) or a field
without a corresponding column. Therefore, to achieve the best performance, specify
your predicates by using (start:end) or a field name that does not correspond to a
column.
the value that you specify for REGION in either your JCL or system exits
the amount of memory that is available during optimization
the number of sorts to process, as discussed in Controlling the number of sort
processes (SMAX or MAXSORTS) on page 477
Generally, you can obtain the highest sort performance for your LOADPLUS job by
using the values 0K and 0K for the SMCORE option.
Total memory: The first parameter value of the SMCORE option tells LOADPLUS
how much total memory, both above and below the 16-megabyte line, you want
BMCSORT to use during a single invocation. BMC Software strongly recommends
that you specify a value of 0K, which allows LOADPLUS to determine the optimal
amount of total memory to use. In addition to 0K, however, valid values are 4096K
through 65536K. You can also specify this value in megabytes (either 0M or 4M
through 64M).
Chapter 6
475
Whether LOADPLUS determines the value for total memory or you specify a value,
LOADPLUS multiplies this value by the number of required sort processes to
determine a value for the total memory that the current job requires. Depending on
the workload and system environment, LOADPLUS distributes this total memory
among the sort processes for the job.
For example, if you specify 4096K and LOADPLUS determines that it needs four sort
processes for this job, LOADPLUS calculates that it needs 16384 KB of total memory
for the job. However, if the workload for each sort process is different, LOADPLUS
invokes BMCSORT for each sort process with varying amounts of memory. Some of
these amounts will be lower or higher than the 4096 KB that you specified.
The following additional considerations apply to the first value of the SMCORE
option:
s
The region size that is available for your load job in conjunction with the value that
you specify for this parameter can constrain the number of sort processes that
LOADPLUS starts. Because the region size must include space for buffers and
other required structures, the entire region size is not available for sort processing.
You can avoid this constraint by using a value of 0K, allowing LOADPLUS to
determine the optimal amount of total memory to use.
When you allow LOADPLUS to optimize total memory, LOADPLUS never uses
more than the value of your region parameter and never uses more than an
average of 24 MB per sort process.
476
If you specify a value for the SORTNUM option that is greater than 32 (indicating
that you want to use more than 32 sort work files), BMC Software strongly
recommends that you specify a value of 384K for the second parameter of
SMCORE.
BMCSORT never needs more than 384 KB of memory below the line. Specifying a
value greater than 384K can limit the number of sort tasks that LOADPLUS can
start concurrently.
For a two-phase load, you can specify the maximum number of concurrent index sort
processes that occur during the LOAD phase by using the SMAX installation option
or the MAXSORTS command option. BMC Software recommends a value of 8 for the
SMAX installation option. However, if system resources are constrained or other
problems arise, you can change the SMAX installation option or MAXSORTS
command option to limit this number.
EDITPROCs
VALIDPROCs
FIELDPROCs
date exits
DSNXVDTX (EBCDIC date exit routine)
DSNXVDTA (ASCII date exit routine)
DSNXVDTU (Unicode date exit routine)
time exits
DSNXVTMX (EBCDIC time exit routine)
DSNXVTMA (ASCII time exit routine)
DSNXVTMU (Unicode date exit routine)
an authorization exit
Chapter 6
477
By default, LOADPLUS invokes these exits in supervisor state and PSW key=7.
LOADPLUS calls the MODESET SVC to perform this switch before invoking an exit,
and again to reset the mode after returning from the exit.
However, invoking MODESET is an expensive CPU process. If you can ensure that
all exits that LOADPLUS calls can run in problem state, you can specify
UXSTATE=PROB in the installation options. This option causes LOADPLUS to
invoke user exits in problem state (PSW key=7) and achieves significant savings in
CPU overhead.
The READ task reads data from SYSREC, completes all conditional processing, and
moves the row image into an XBLK. If there are multiple SORT/DATA tasks, an
XBLK is associated with each SORT/DATA task. Once an XBLK is full, it becomes
available for processing by the SORT/DATA task.
The SORT/DATA process passes information to the INDEX task by using one or
more XBLKs. The INDEX task is needed only when an additional sort is necessary to
check for duplicate keys.
When the row image has been processed by the SORT/DATA task and an INDEX
task is active, the INDEX task builds an index work record for each index in the
selected table. LOADPLUS then places this index work record in the currently
available XBLK. When the XBLK becomes full, the index work records are passed to
the index process for processing and the data process selects another available XBLK
to fill. When the index process has finished processing all index work records in the
XBLK, the XBLK becomes available again for use by the data process.
The number of XBLKS that LOADPLUS allocates is a function of the number of
READ, SORT/DATA, and INDEX tasks that are active for a particular LOADPLUS
job. The XBLK installation option specifies how many XBLKs to allocate per task. The
minimum value for the XBLK option is 3, which is the value that is shipped with
LOADPLUS. A larger number can provide some marginal performance
improvement, but at a risk of increased paging. Each XBLK is 64 KB and is allocated
from storage above the 16-megabyte line.
For additional information about how to respond to XBLK messages, see page 494.
478
For a two-phase load, the number of SYSREC data sets should be about the same as
the number of SORTOUT data sets or should be an even multiple of the number of
SORTOUT data sets.
Chapter 6
479
If the input data sets are of different sizes and there are more than 16, BMC
Software recommends that you arrange them from the largest to the smallest.
These data sets are not partition dependent. Data for a particular partition can be
in one or more SYSREC data sets. There is no advantage to putting all of the data
for one partition into one SYSREC data set.
For important information about specifying multiple SYSREC data sets, see SYSREC
data sets on page 303.
480
If a single partition is to receive 40% or more of the data, you should not use
multiple SORTOUT data sets.
The number of SORTOUT data sets should be an even factor of the number of
partitions. For example, a table space with 6 partitions should use either 2, 3, or 6
SORTOUT data sets.
I/O processing to each SYSUT1 data set is overlapped with other I/O processing
and with CPU processing.
LOADPLUS writes any nonunique index information when the index process
receives it and does not pass the information to BMCSORT, thus reducing the
amount of data that is sorted. This process also reduces the amount of DASD space
that is required for all index information.
With a single SYSUT1 data set, LOADPLUS pads all keys to the length of the
longest key that is being processed. Padded keys require more DASD space and
more I/O operations are required to process the index information. With multiple
SYSUT1 data sets, no padding of keys is needed.
If LOADPLUS finds that enough resources (that is, virtual storage and sort work
space) are available, LOADPLUS starts multiple tasks to build the indexes
concurrently in the LOAD phase.
If you are using multiple index work files, you must specify at least one SYSUT1 data
set for each participating nonclustering index. If the number of SYSUT1 DD
statements is greater than one and less than the number of participating
nonclustering indexes, LOADPLUS terminates with an error. Also, the ORDER NO
option processes clustering indexes as if they were participating nonclustering
indexes. Therefore, if you specify ORDER NO, you must specify one SYSUT1 data set
for each clustering and participating nonclustering index.
NOTE
If you are loading a table space with a large number of indexes, BMC Software recommends
that you specify a single SYSUT1 data set to avoid data set allocation limitations of the
operating system.
When you specify multiple SYSUT1 data sets, the DD statement specification is
SYSUT1nn, where nn is a unique suffix for each DD statement. The suffix is not used
to identify which index is assigned to a specific SYSUT1 data set. For additional
information about specifying multiple SYSUT1 data sets, see page 307.
The JCL in Figure 60 on page 482 illustrates a LOADPLUS job for a table space that
contains three nonclustering indexes and one clustering index. In this example, you
need only three SYSUT1 data sets, because the ORDER YES option is specified. Note
the unique identifier that is used with the SYSUT1 prefix.
Chapter 6
481
Figure 60
The JCL in Figure 61 shows the same job, but with the ORDER NO option specified.
Note that you now need four SYSUT1 data sets, because LOADPLUS processes the
clustering index as if it were a participating nonclustering index.
Figure 61
482
Figure 61
//SYSDISC
DD DSN=LOAD.PLUS.SYSDISC,
//
UNIT=WORK,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG,CATLG)
//SORTWK01 DD UNIT=WORK,DISP=(NEW,DELETE),SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=WORK,DISP=(NEW,DELETE),SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=WORK,DISP=(NEW,DELETE),SPACE=(CYL,(1,1))
//SORTWK04 DD UNIT=WORK,DISP=(NEW,DELETE),SPACE=(CYL,(1,1))
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
LOAD REPLACE ORDER NO INTO TABLE EXAMPLE.TBL1
//
Tuning I/O
Because LOADPLUS reads and writes large amounts of data during typical load
processing, one of the most important factors that affects LOADPLUS performance is
I/O processing.
To maximize I/O performance, LOADPLUS handles all of its own buffering, and
performs I/O operations at the lowest level possible. This allows reading or writing
of several blocks of data with each I/O operation and allows LOADPLUS to prefetch
subsequent data.
In addition to the information in Buffer options (IBUFFS, LBUFFS, WBUFFS, and
CBUFFS installation options) on page 465 and Sort processing options (SMCORE
and SMAX installation options and MAXSORTS command option) on page 475, the
following information can help you tune your I/O processing:
s
Allocate input data sets with the largest block size possible (but less than or equal
to 32 KB) to reduce the number of I/O operations that LOADPLUS requires to read
the data set. LOADPLUS always calculates the optimum block size for output data
sets.
To avoid I/O queueing, allocate LOADPLUS data sets on separate channels and
drives. If you do not have sufficient channels available, use separate drives and
control units.
Chapter 6
483
Scenario type
Scenario
Page reference
input data
485
485
485
486
486
partitioned objects
486
487
487
488
488
sorted data
489
copies
489
object
high availability
additional features
484
If you have 16 data sets and want to run four input tasks, specify SYSREC01
through SYSREC04 and have four data sets allocated to each SYSRECnn.
If one file has half of all of the data and the rest of the data is in more than one
additional file, allocate the one large file to one SYSREC, and the rest of the files
concatenated to a second SYSREC. The input process is never shorter than the
longest task, so adding additional SYSREC files does not decrease the elapsed time
and uses additional resources that could be allocated more productively.
For requirements when using multiple SYSREC data sets, see Specifying multiple
SYSREC data sets on page 304.
Chapter 6
485
Types of objects
Use the following information to tune your jobs when loading specific types of
objects.
If you are loading a majority of the partitions, specify a single INTO statement
without the PART option. If you are loading a small number of partitions, specify
all partitions on a single INTO statement (for example, INTO PART 1:3,5).
Specify a value of PART for the COPYLVL installation or command option if you
need to make copies. If you are loading a large number of partitions, however, see
Loading objects with a large number of partitions on page 487 for additional
guidance.
486
Use multiple SYSREC data sets (and, if you must use two-phase load, multiple
SORTOUT data sets). For additional information, see Using multiple SYSREC
data sets on page 479.
If you are replacing only a few partitions and the other partitions are empty,
specify LOAD RESUME YES PART n REPLACE instead of LOAD REPLACE.
If you are loading a large number of partitions and need to make copies, consider
specifying a value of COPYLVL FULL.
If you are loading a large number of partitions, ensure that you specify
REGION=0M in the JOB or EXEC statement of the execution JCL to tell the system
to allocate all available virtual storage to the LOADPLUS job.
When replacing data in a segmented table space, specify LOAD RESUME YES
TABLE name REPLACE to load just the tables in which you want to replace data.
Chapter 6
487
High availability
If you need the best performance while maintaining the highest availability of your
data, you can use the online load features of LOADPLUS.
SQLAPPLY load
Specify LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY (also called
SQLAPPLY load) to allow your objects to remain in RW status during the load
process.
To obtain optimal performance with this option, note the following information:
s
If there are low cardinality keys and there is high CPU usage, the values for
APCOMMIT and APMAXAGENTS can impact performance. Adjust one
parameter at a time to determine the best combination of values.
NOTE
APMAXAGENTS affects only partitioned or multi-table table spaces. LOADPLUS uses up
to one agent per partition or table.
If you are loading tables that contain identity columns, running LOAD RESUME
YES SHRLEVEL CHANGE SQLAPPLY can degrade performance.
488
Additional features
Use the following information to tune your load jobs if you need specific results, such
as sorted data or updated statistics.
Sorted data
To obtain optimal performance when you need sorted data, consider the following
information:
s
If you are using UNLOAD PLUS to unload and LOADPLUS to load data, and you
need sorted data, perform the sort in UNLOAD PLUS rather than LOADPLUS.
If you are loading from a single input file and the data is already sorted, specify
ORDER PRESORTED.
For additional information about optimal performance with sort processing, see Sort
processing options (SMCORE and SMAX installation options and MAXSORTS
command option) on page 475.
Copies
Consider the following performance recommendations when making copies with
your load job:
s
Specify the INLINECP installation option or the COPY YES INLINE YES
command option to make inline image copies during the load process, particularly
if you are loading a partitioned object.
Specify a value of PART for the COPYLVL installation or command option if you
are loading a partitioned object. Specifying COPYLVL PART tells LOADPLUS to
make copies by partition. However, if you are loading a large number of partitions,
consider specifying COPYLVL FULL or limiting the number of copies per partition
to avoid data set allocation restrictions of the operating system or LOADPLUS
memory restrictions.
Chapter 6
489
This message indicates that the load job is constrained because the amount of virtual
memory available is insufficient for optimal performance. For most jobs, LOADPLUS
continues processing. If you also receive message BMC50399E, however, the amount
of virtual memory available to LOADPLUS is insufficient to continue.
BMC Software recommends that you specify REGION=0M in the JOB or EXEC
statement of the execution JCL to tell the system to allocate all available virtual
storage to the LOADPLUS job. However, if you are processing a large number of
partitions, processing might be constrained, even if you specified REGION=0M. In
this case, consider loading fewer partitions in a single job.
BMC50398I
This message indicates that the load job is constrained because the number of sort
work files or the total amount of space for the sort work files is insufficient for
optimal performance. For most jobs, LOADPLUS continues processing. If you also
receive message BMC50399E, however, the number or size of the sort work files is
insufficient for LOADPLUS to continue.
BMC50400I
This message indicates that the load job is constrained because there are not enough
index work files, but the job continues.
BMC50471I
environment_information
This message displays current values for each option in the installation options
module. Use this information to verify that LOADPLUS is using the option value that
you want to use.
BMC50474I
This message provides information about virtual storage and CPU usage. The
message displays the following information:
s
s
s
490
Use this information to ensure that adequate virtual storage is available for
LOADPLUS to use. See Providing maximum virtual storage on page 484. See
message BMC50475I for additional information.
BMC50476I
A wait count that is greater than 10 percent of the block count might indicate
degraded performance. Try allowing LOADPLUS additional buffer space for the
associated data set (see Buffer options (IBUFFS, LBUFFS, WBUFFS, and CBUFFS
installation options) on page 465) or using multiple data sets. A high number of
serialization waits might indicate the need to decrease the number of concurrent tasks
or use multiple data sets.
BMC50477I
This message provides performance information about I/O operations to VSAM data
sets. The message displays the following information:
s
s
s
s
s
Use the ddname to find the actual number of I/Os that were issued to the associated
data set. A wait count that is greater than 20 percent of the actual I/Os might indicate
degraded performance. Try allowing LOADPLUS more virtual storage if LOADPLUS
issues message BMC50397I. Provide more sort work file space if LOADPLUS issues
message BMC50398I. Changing these values enables LOADPLUS to start more
concurrent tasks.
Chapter 6
491
BMC51495I
This message provides performance information about optimizing the number of sort
processes during the PRELOAD phase. Each iteration of the optimizer produces a
message and supplies the following information:
s
return code
number of sort processes that are being tested for this iteration of the optimizer
number of input data sets (SYSREC data sets) that LOADPLUS will read
concurrently if this is the optimal number of sort processes
the number of index tasks that the load job will run concurrently
relative amount of time that this configuration of read and sort processes will take
to process the data
LOADPLUS uses the return code to monitor the success of the optimization. If at least
one return code in the series of messages is 0, the PRELOAD optimization completed
successfully. When optimization completes successfully, LOADPLUS follows this
message with BMC51496I, which provides the optimal number of sort processes.
If no return code is 0, LOADPLUS follows this message with BMC51497E, indicating
that optimization failed. You might be able to correct the problem by increasing the
REGION parameter or by specifying REGION=0M and resubmitting the job.
For more information about how the optimizer determines the optimal number of
sort processes, see Controlling memory usage (SMCORE) on page 475.
BMC51499I
This message provides performance information about optimizing the number of sort
processes during the COMBINED phase. Each iteration of the optimizer produces a
message and supplies the following information:
s
number of sort processes that are being tested for this iteration of the optimizer
number of input data sets (SYSREC data sets) that LOADPLUS will read
concurrently if this is the optimal number of sort processes
492
return code
the number of index tasks that the load job will run concurrently
relative amount of time that this configuration of read and sort processes will take
to process the data
LOADPLUS uses the return code to monitor the success of the optimization. If at least
one return code in the series of messages is 0, the optimization completed
successfully. When optimization completes successfully, LOADPLUS follows this
message with BMC51500I, which provides the optimal number of sort processes.
If no return code is 0, LOADPLUS follows this message with BMC51497E, indicating
that optimization failed. You might be able to correct the problem by increasing the
REGION parameter or by specifying REGION=0M and resubmitting the job.
For more information about how the optimizer determines the optimal number of
sort processes, see Controlling memory usage (SMCORE) on page 475.
BMC51507I
MAX task TASKS = t, object PER TASK = i, SORTWKS PER TASK = s, MAX OPEN
PARTITIONS PER TASK = o
This message provides the results of task optimization during build processing. The
message displays the following information:
s
s
s
s
Chapter 6
493
The maximum number of tasks depends on the system resources that are available,
such as virtual storage, the number of physical CPUs, the number of SYSUT1 and
SORTOUT data sets, and sort work file space. Increasing the amount of virtual
storage, allocating more sort work files, or both might allow LOADPLUS to run more
tasks concurrently.
Based on the size of the partition and available sort work file space, LOADPLUS
determines the number of partitions to process per task that allows the sort to run in
the fastest manner. The actual number of partitions that LOADPLUS processes per
task might be less than the maximum that the message shows.
BMC51510I
This message provides information about XBLK or Apply Plus buffer processing for a
specific task. The message displays the following information:
s
s
s
s
s
task number
task type (READ, SORT, INDEX, SQLAPPLY)
number of data transfers during task processing
number of waits for an empty XBLK or Apply Plus buffer
number of waits for a full XBLK
Have the XBLK or Apply Plus buffer information available if you need to call BMC
Software Customer Support.
However, for XBLKs, you can use the information that this message provides to
refine the number of READ and SORT/DATA tasks that LOADPLUS will use.
Background
A READ task usually runs faster than a SORT/DATA task when a sort process is
involved (ORDER YES). An INDEX task generally runs faster than a SORT/DATA
task. When the job does not require a sort of the data (ORDER NO), the SORT/DATA
task can be faster than the READ task.
There are two pools of XBLKs. LOADPLUS uses one pool for transfers from the
READ to the SORT/DATA tasks. LOADPLUS uses the other pool for transfers from
the SORT/DATA tasks to the INDEX or SQLAPPLY tasks.
494
Table 82
Situation
Indicates
Action
Performance degradation is
indicated.
excessive FULL WAIT counts from The FULL WAIT count indicates
how often the SORT/DATA tasks
READ
waited for data from the READ
SORT/DATA tasks use both pools tasks to process.
of XBLKs.
Chapter 6
495
ORDER options
Jobs that use ORDER NO require that all partitions of a table space be open at one
time and therefore have a higher memory requirement.
Jobs that use ORDER YES or ORDER PRESORTED require that only one partition per
task be opened at a time. ORDER PRESORTED also eliminates the need for the
clustering index sort. However, ORDER PRESORTED allows you to use only one
SYSREC and the data must be presorted by the clustering index.
Sort processing
Specifying a value greater than 0 for the SORTNUM option (with DDTYPE
SORTWORK ACTIVE NO and no SORTWK data sets specified in the JCL) tells
LOADPLUS that BMCSORT will control sort work allocations, which should
eliminate sort work constraints.
The amount of multitasking that sort processing performs depends on the number of
CPUs, the SMAX or MAXSORTS option value, the number of sort work data sets, and
available memory. You might be able to improve memory usage by adjusting the
SMAX or MAXSORTS option value or the number of sort work data sets.
NOTE
The SMAX or MAXSORTS value limits the number of concurrent index sort tasks that occur
during the LOAD phase. It does not limit the number of data sort tasks.
Multitasking
Multitasking can improve memory use in your load jobs. For information, see
Enabling multitasking for performance on page 479.
496
Making copies
Making copies
The number of copies that you make during a load job can affect the memory that
your system uses. Balance your organizations backup copy needs with your systems
memory use requirements to determine the optimal number of copy data sets to
allocate.
Memory constraints and data set allocation constraints are particularly critical when
you are making copies while loading a large number of partitions. Consider one of
the following options in this case.
NOTE
For a definition of a large number of partitions, see Large number of partitions on page 92.
Specify COPYLVL FULL to have LOADPLUS allocate a single copy data set for the
table space.
If you need copies by partition, specify as few copies per partition as possible or
consider specifying fewer partitions per job.
Specifying SHRLEVEL
Specify the appropriate SHRLEVEL option for your availability requirements. Use
Table 83 on page 498 to help determine the appropriate option.
NOTE
Table 83 on page 498 shows the SHRLEVEL command option. You can also specify a default
value for SHRLEVEL in your installation options. For additional information about this
installation option, see page 535.
Chapter 6
497
Table 83
SHRLEVEL option
not applicable
SHRLEVEL NONE
LOAD REPLACE
SHRLEVEL REFERENCE
read/write access
read-only access
LOAD REPLACE
SHRLEVEL CHANGE
498
COPY
CHECK, if referential integrity is involved
Chapter 6
499
Figure 62 shows the objects that the ANALYZE phase uses to determine the
information that it provides.
Figure 62
ANALYZE phase
II II
Indexes
ANALYZE PHASE
500
sets up data to allow concurrent processing for loading table spaces and building
indexes, and for concurrent loading of partitions
optionally sorts input data by clustering key (when you specify ORDER YES)
unloads existing indexes and merges them with the new index keys from the input
data (when you specify RESUME YES and INDEX BUILD)
LOADPLUS sorts merged index data to build organized indexes during the LOAD
phase.
builds or keeps the compression dictionary and compresses the data rows
builds the DB2 data rows and writes them to the SORTOUT data set
at the end of the phase, frees the allocation for the SYSREC and SYSDISC data sets
Resource allocation
Figure 63 on page 502 shows resources that are allocated during the PRELOAD phase
of a two-phase load.
Chapter 6
501
Figure 63
Indexes
SYSRECnn
PRELOAD PHASE
SORTWKnn
SYSDISC
SORTOUTn
SYSERR
SYSUT1nn
Task
READ
Description
s
s
s
SORT/DATA
s
s
INDEX
502
LOADPLUS does not perform the INDEX task in the following cases:
s
s
s
s
s
Invoking BMCSORT
LOADPLUS invokes BMCSORT during the PRELOAD phase under any of the
following conditions:
s
Clustering indexes exist and you specify the ORDER YES option on the
LOADPLUS command.
You specify UNIQUECHECK YES and unique indexes are participating in the
load.
loads data into the specified tables and creates image copies if requested
builds all associated participating indexes
redefines the VSAM data sets (including the staging data sets for LOAD REPLACE
SHRLEVEL CHANGE or LOAD REPLACE SHRLEVEL REFERENCE) when the
value of the REDEFINE command or installation option is YES
Chapter 6
503
concurrently loads the table space and sorts and builds nonclustering indexes
produces image copies either as the data is loaded or after the data is loaded
after loading table spaces and building indexes, resolves any duplicates that are
detected during the LOAD phase
Resource allocation
Figure 64 shows resources that are allocated during the LOAD phase of a two-phase
load.
Figure 64
SORTOUTn
SYSERR
SYSUT1nn
BMCCPYnn
BMCCPZnn
LOAD PHASE
SORTWKnn
BMCRCYnn
BMCRCZnn
Table Space
Indexes
504
Invoking BMCSORT
LOADPLUS invokes BMCSORT during the LOAD phase under any of the following
conditions:
s
You specify UNIQUECHECK NO and unique indexes are participating in the load.
The job builds clustering indexes because you specified ORDER NO.
During the COMBINED phase for a single-phase load, LOADPLUS performs almost
all of the same processes as the PRELOAD and LOAD phases. Depending on the data
that you are loading and the characteristics of the table, LOADPLUS performs one or
more of the following tasks during the COMBINED phase:
s
for certain types of single-phase jobs, writes index key entries to SYSUT1 and
clustering key entries and the new DB2 row images to SORTOUT, if the data sets
are allocated
redefines the VSAM data sets (including the staging data sets for LOAD REPLACE
SHRLEVEL CHANGE or LOAD REPLACE SHRLEVEL REFERENCE) when the
value of the REDEFINE command or installation option is YES
sets up data to allow concurrent processing for loading table spaces and building
indexes, and for concurrent loading of partitions
Chapter 6
505
optionally sorts input data by clustering key (when you specify ORDER YES)
unloads existing indexes and merges them with the new index keys from the input
data (when you specify RESUME YES and INDEX BUILD)
sorts merged indexes and writes them directly to the index data set
checks unique clustering keys for duplicates and deletes them from the table and
index space
checks participating unique nonclustering indexes for duplicates and deletes the
duplicates from the table and index space
builds or keeps the compression dictionary and compresses the data rows
builds the DB2 data rows and writes them directly to the table space
produces image copies either as the data loads or after the data is loaded
at the end of the phase, frees the allocation for the SYSREC and SYSDISC data sets
Resource allocation
Figure 65 on page 507 shows resources that are allocated during the COMBINED
phase of a single-phase load.
506
Figure 65
SYSRECnn
SORTWKnn
SORTOUTn
BMCCPYnn
BMCCPZnn
SYSUT1nn
COMBINED PHASE
SYSERR
BMCRCYnn
BMCRCZnn
Table Space
SYSDISC
Indexes
Task
READ
Description
s
s
s
SORT/DATA
s
s
s
INDEX
LOADPLUS does not perform the INDEX task in the following cases:
s
s
Chapter 6
507
Invoking BMCSORT
LOADPLUS always invokes BMCSORT during the COMBINED phase of a
single-phase load except when both of the following conditions occur:
s
s
verifies that the data is correct, but does not perform checking for duplicates or
table check constraints
NOTE
DB2 handles checking for duplicates and table check constraints during apply processing.
sets up data to allow concurrent processing for loading tables and partitions
508
passes the data to Apply Plus, for inserting into the table space and indexes
at the end of the phase, frees the allocation for the SYSREC and SYSDISC data sets
Resource allocation
Figure 66 shows resources that are allocated during the COMBINED phase for an
SQLAPPLY load.
Figure 66
SYSRECnn
SORTWKnn
COMBINED PHASE
SYSERR
SYSDISC
Apply Plus
SQL
Agent
SQL
Agent
SQL
Agent
DB2
Table Space
DB2 Log
Indexes
Chapter 6
509
Task
READ
Description
s
SORT
SQLAPPLY
Invoking BMCSORT
LOADPLUS invokes BMCSORT during the COMBINED phase of an SQLAPPLY
load if you specify ORDER YES and you have discards.
510
Appendix
Overview
The LOADPLUS product is installed by using the BMC Software OS/390 and z/OS
Installation System. During this installation, the customization process generates a
customized installation data set. This data set contains customized jobs that install
LOADPLUS into your specific DB2 environment. Two of these jobs establish the
default processing option values that LOADPLUS uses:
s
$C30DOPT establishes the defaults for LOADPLUS and Apply Plus processing
options.
These jobs assemble options macros. The macros contain the LOADPLUS processing
options and the values for those options that are shipped with LOADPLUS and
BMCSORT. When the installation system-generated customization job is submitted, it
links the AMU$OPTS installation options module in the APF-authorized library that
is designated by your site. If any values for these options are changed during
customization, the new values override the values from the options macro.
You can customize the installation of LOADPLUS by changing the values for the
LOADPLUS installation options. However, if you change any of the values in
$C30DOPT or $C32SOPT after LOADPLUS has been installed, you must rerun the
jobs for these changes to take effect.
Appendix A
511
You can also create additional options modules that allow you to use different values
of these options for different executions of LOADPLUS. For example, you might use
the default installation options module for most jobs but create another options
module with customized values for certain options for special situations. For
information about specifying an options module at runtime, see Chapter 4, How to
build and execute LOADPLUS jobs.
For additional information about customizing your installation of LOADPLUS, see
the Utility Products for DB2 Installation Guide.
To find a description of each options macro, use Table 87. Each of the macro figures is
followed by a description of each option within that macro. The options are listed in
the order in which they appear in the macro.
Table 87
Macro name
Description
Reference
$AMUOPTS
basic options
513
$AMUDYNA
$AUPSMAC
BMCSORT Reference
Manual
512
Table 88
Option
Shipped value
Brief description
Reference
ACFORTSS
YES
page 516
APCOLLECTION
none
2500
page 517
APMXAGNT
10
page 517
APOWNER
none
page 517
APRETLIM
COUNT
page 518
APRETVAL
page 518
CBUFFS
30
page 519
CENTURY
none
page 519
example value:
(2000,2099)
CHEKPEND
(YES,)
page 519
COPYDDN
(BMCCPY,BMCCPZ)
page 520
COPYLVL
FULL
COPYPEND
(YES,)
page 521
DELFILES
(NO,NO)
page 522
DISCARDLIMRC
page 523
DISCARDRC
page 523
DISCDDN
SYSDISC
page 523
DSNUEXIT
(NONE,ASM)
page 524
ENFORCE
CHECK
page 524
Appendix A
513
Table 88
Option
Shipped value
Brief description
Reference
ERRDDN
SYSERR
page 524
EXCLDUMP
(X37,X22,X06)
FILECHK
FAIL
page 525
IBUFFS
20
page 525
IDCACHE
1000
page 525
IDCDDN
SYSIDCIN
page 526
IDERROR
DISCARD
page 526
IMAGECPY
YES
page 526
INDDN
SYSREC
page 527
INLINECP
NO
page 527
KEEPDICTIONARY
NO
LBUFFS
20
LOADCPY
YES
LOADDN
SORTOUT
page 529
LOCKROW
YES
page 529
MAXP
page 530
MAXTAPE
page 530
MSGLEVEL
page 530
OPNDB2ID
YES
page 530
ORIGDISP
DELETE
page 531
PAUSEDISCARDRC
PLAN
AMU0820
514
page 528
page 532
Table 88
Option
Shipped value
Brief description
Reference
PREFORMAT
NO
page 532
PRELOAD
CONTINUE
page 532
RCVYDDN
(BMCRCY,BMCRCZ)
page 533
REDEFINE
YES
RENMMAX
30
page 534
RULES
STANDARD
page 534
SDUMP
page 534
SHRLEVEL
(NONE,NONE)
page 535
SMAX
page 536
SMCORE
(0K,0K)
page 536
SORTNUM
none
page 537
recommended value: 32
SQLDELAY
page 538
SQLRETRY
100
page 538
STOP@CMT
NO
page 538
STOPDELAY
page 539
STOPRETRY
300
page 539
TAPEDISP
DELETE
page 539
UPDMAXA
NO
UXSTATE
SUP
page 540
WBUFFS
(20,10)
page 540
WORKDDN
SYSUT1
page 540
WORKUNIT
SYSALLDA
page 540
Appendix A
515
Table 88
Option
Shipped value
Brief description
Reference
XBLKS
page 541
ZEROROWRC
page 541
This section describes each of the options. For more information about setting the
values of some of these options, see Chapter 3, Syntax of the LOAD command and
Chapter 6, Tuning LOADPLUS jobs.
ACFORTSS=YES
The ACFORTSS option specifies whether LOADPLUS should look for the presence of
the CA-ACF2 for DB2 or eTrust CA-Top Secret for DB2 security product from
Computer Associates when verifying utility authorizations.
If you specify YES, LOADPLUS uses CA-ACF2 for DB2 or eTrust CA-Top Secret for
DB2 provided that security is enabled at the correct version on the subsystem where
LOADPLUS is running.
You must be using a version of your security product that enables external security
calls for DB2. If you have one of these security products installed, but the version
does not support external security, specify NO for this option.
For more information about this option, see Authorization verification mechanisms
on page 55.
APCOLLECTION=
This option is valid only for SQLAPPLY load jobs.
The APCOLLECTION option specifies the ID for the collection to which Apply Plus
dynamically binds packages during execution. If you change the value for this
installation option, you can specify a collection ID with a length of up to 30 bytes.
LOADPLUS passes the value of this option to Apply Plus.
Overriding this option: You can override the value for this option with the
APCOLLECTION command option (page 147).
If you keep the null value that was shipped with LOADPLUS and no value is
specified for the APCOLLECTION command option, Apply Plus uses the default
value of the CollectionID parameter in the Bind section of the Apply Plus
configuration file.
516
NOTE
You cannot specify a null value for the APCOLLECTION command option.
APCOMMIT=2500
This option is valid only for SQLAPPLY load jobs.
The APCOMMIT specifies the maximum number of records that you want each
Apply Plus agent to load before issuing a COMMIT statement. Valid values for this
option are 1 through 32767.
LOADPLUS passes the value of this parameter to the StatementCount parameter in
the CommitTriggers section of the Apply Plus configuration file. For more
information, see the Apply Plus Reference Manual.
Overriding this option: You can override the value for this option with the
APCOMMIT command option (page 146).
APMXAGNT=10
This option is valid only for SQLAPPLY load jobs.
The APMXAGNT option specifies the maximum number of agents that Apply Plus
can start for this load. Valid values for this option are 1 through the number of batch
threads that are available in your DB2 subsystem. APMXAGNT affects only
partitioned or multi-table table spaces. LOADPLUS uses at most one agent per
partition and table.
LOADPLUS passes the value of this parameter to the MaxAgents parameter in the
Agent section of the Apply Plus configuration file. For more information, see the
Apply Plus Reference Manual.
Overriding this option: You can override the value for this option with the
APMAXAGENTS command option (page 145).
APOWNER=
This option is valid only for SQLAPPLY load jobs.
The APOWNER option specifies the authorization ID that Apply Plus uses to bind
the DB2 plan and packages for the apply request. If you change the value for this
installation option, you can specify an owner ID with a length of up to 30 bytes.
LOADPLUS passes this value to Apply Plus.
Appendix A
517
Overriding this option: You can override the value for this option with the
APOWNER command option (page 148).
If you keep the null value that was shipped with LOADPLUS and no value is
specified for the APOWNER command option, Apply Plus uses the default value of
the BindOwner parameter in the Bind section of the Apply Plus configuration file.
NOTE
You cannot specify a null value for the APOWNER command option.
APRETLIM=COUNT
This option is valid only for SQLAPPLY load jobs.
The APRETLIM option tells Apply Plus how to respond to an SQL -911, -913, or -904
error. A value of COUNT tells Apply Plus to retry the number of times specified in
the APRETVAL option. A value of TIME tells Apply Plus to continue to retry until it
reaches the number of seconds specified in the APRETVAL option.
LOADPLUS passes the value of this parameter to the RetryLimit parameter in the
Conflict section of the Apply Plus configuration file. For more information, see the
Apply Plus Reference Manual.
Overriding this option: You can override the value for this option with the
APRETRYLIM command option (page 146).
APRETVAL=5
This option is valid only for SQLAPPLY load jobs.
The APRETVAL option specifies the Apply Plus retry limit following an SQL -911,
-913, or -904 error. Depending on the value for APRETLIM, this limit is either the
number of retry attempts or the number of seconds after which Apply Plus should
stop retrying. Valid values are 0 through 32767. A value of 0 tells Apply Plus not to
retry.
LOADPLUS passes the value of this parameter to the RetryValue parameter in the
Conflict section of the Apply Plus configuration file. For more information, see the
Apply Plus Reference Manual.
Overriding this option: You can override the value for this option with the
APRETRYVAL command option (page 147).
518
CBUFFS=30
The CBUFFS option specifies a multiple of 32 KB to use to define the amount of buffer
pool storage for each copy data set. LOADPLUS allocates as many buffers as will fit
into the calculated space. If you are making multiple copies, the same set of buffers is
used, not an additional set. For more information, see Buffer options (IBUFFS,
LBUFFS, WBUFFS, and CBUFFS installation options) on page 465.
NOTE
For versions 7.2.00 and later, LOADPLUS uses this option differently than in earlier versions.
If, in version 7.1.00 or earlier, you changed the value for this option from the value that was
shipped with LOADPLUS, review the description of this option carefully to ensure that you
obtain the results that you intend in the current release.
CENTURY=
The CENTURY option specifies the 100-year range that determines the century for
the DATE and TIMESTAMP external formats that contain two-digit year values. The
value for this option is two four-digit years in the format (ccyy,ccyy). The first fourdigit year value must be less than the second four-digit year. You must specify both
values, and these values must span 100 years.
WARNING
LOADPLUS does not supply a value for this option. If you do not supply a value, your
installation options module will not assemble successfully.
Any two-digit year in your input data that lies between the first yy specification and
99 is prefixed with the first cc value to create a four-digit year. Any two-digit year in
your input data that lies between 00 and the second yy specification is prefixed with
the second cc value to create a four-digit year.
For example, if you specify CENTURY(1950,2049), LOADPLUS places 19 in front of
each two-digit year with a value 50 through 99, and places 20 in front of each twodigit year with a value 00 through 49. The date 99/12/31 becomes 1999/12/31 and
00/12/31 becomes 2000/12/31.
Overriding this option: You can override the value for this option with the
CENTURY command option (page 198) or the CENTURY field specification
parameter (page 243).
CHEKPEND=(YES,)
The CHEKPEND option specifies whether you want to set dependent table spaces to
CHECK pending (CHKP) status. For more details about setting CHECK pending
status, see Referential integrity and check constraints on page 113 and CHECK
CONSTRAINTS on page 194.
Appendix A
519
Table 89 describes the action that LOADPLUS takes for each set of values that you
can specify.
Table 89
Values
Action
(YES,)
(NO,)
(YES,ENFORCE)
(NO,ENFORCE)
Overriding this option: Unless you specify the ENFORCE keyword with this option,
you can override the value for this option by using the CHECKPEND command
option (page 195).
COPYDDN=(BMCCPY, BMCCPZ)
The COPYDDN option specifies default ddnames or ddname prefixes for the local
copy data sets that receive an image copy or a DSN1COPY of either the table space or
each partition in the table space that you are loading. If you are registering the copies,
the first name is the local primary copy and the second name is the local backup copy.
When using this name as a prefix, allow sufficient bytes for the partition number to be
added and still have a valid ddname (eight bytes or less). If you change the default
ddnames from BMCCPY and BMCCPZ and you are not dynamically allocating your
copy data sets, you must change the ddnames in your JCL. For more information, see
Copy data sets on page 292.
Overriding this option: You can override the value for this option with the
COPYDDN command option (page 211).
COPYLVL=FULL
The COPYLVL option specifies how LOADPLUS is to assign dynamically allocated
image copy data sets when loading all partitions of a partitioned table space. FULL
allocates a single copy data set to contain all of the partitions that are being loaded.
PART allocates individual copy data sets for each partition that is being loaded.
520
If you specify PART, LOADPLUS appends the partition number to the ddname
prefixes that you specify in the COPYDDN (page 520) and RCVYDDN (page 533)
options. The values that you specify for these options plus the highest partition
number must not exceed eight characters. For more information, see Specifying
ddname prefixes on page 74.
If you anticipate loading a large number of partitions, consider specifying COPYLVL
FULL. For more information, see Large number of partitions on page 92.
Overriding this option: You can override the value for this option with the
COPYLVL command option (page 210). For additional considerations, see the
command option description.
COPYPEND=(YES,)
The COPYPEND option specifies whether you want LOADPLUS to set the table
space to COPY pending status if a copy was not made as part of the load job.
Table 90 describes the actions that LOADPLUS takes for each set of values that you
can specify.
Table 90
Values
Action
(YES,)
(NO,)
(YES,ENFORCE)
(NO,ENFORCE)
does not set COPY pending status and allows only COPYPEND
NO on the LOAD command
Note: If COPYPEND YES is specified on the LOAD command,
LOADPLUS issues message BMC50115E and terminates.
Overriding this option: Unless you specify the ENFORCE keyword with this option,
you can override this value by using the COPYPEND command option (page 206).
Appendix A
521
DELFILES=(NO,NO)
The DELFILES option tells LOADPLUS whether to delete the SORTOUT, SORTWK,
SYSUT1, SYSERR, and SYSDISC files after the load completes successfully. The first
value tells LOADPLUS whether to delete your work files after the load completes
successfully, regardless of whether LOADPLUS uses the files. The second value tells
LOADPLUS how to handle the discard file (SYSDISC). LOADPLUS deletes any
SYSDISC files only if there were no discarded records during the load process.
Table 91 describes the action that LOADPLUS takes for each set of values that you
can specify.
Table 91
Values
Action
NO
(NO,NO)
(NO,YES)
YES
deletes all work files except SYSDISC (assumes NO for the second
value) regardless of the JCL disposition of these files and whether
the files were used
(YES,YES)
(YES,NO)
522
If you allocate your own SYSDISC file, LOADPLUS also ignores the value of the
second parameter of the DELFILES installation option. In this case, if you want to
delete SYSDISC (if it is empty), you must specify SYSDISC YES on the LOAD
command in the worklist.
DISCARDLIMRC=8
The DISCARDLIMRC option allows you to specify a default user-defined return code
that LOADPLUS uses when the number of discard violations reaches the discard
limit that you specify with the DISCARDS command option. You can specify any
integer greater than 7.
LOADPLUS always ends with the highest return code assigned during the load job.
For more information, see Return code hierarchy on page 120.
Overriding this option: You can override the value for this option with the
IFDISCARDLIMIT command option (page 169).
DISCARDRC=0
The DISCARDRC option allows you to specify a default user-defined return code that
LOADPLUS uses upon successful completion of the job when LOADPLUS discards
one or more input records. You can specify any integer from 0 through 7.
LOADPLUS always ends with the highest return code assigned during the load job.
For more information, see Return code hierarchy on page 120.
Overriding this option: You can override the value for this option with the
IFDISCARDS command option (page 169).
DISCDDN=SYSDISC
The DISCDDN option specifies a default ddname for the discard data set.
LOADPLUS places a record in this data set when that record cannot be loaded for any
of the reasons that are listed in SYSDISC data set on page 300. If you change the
default ddname from SYSDISC, you must also change the ddname in your JCL.
Overriding this option: You can override the value for this option with the
DISCARDDN command option (page 164).
Appendix A
523
DSNUEXIT=(NONE,ASM)
The DSNUEXIT option supplies the name of a user-defined exit routine and the
programming language in which the routine is written. This user exit allows you to
provide user-defined variables for constructing data set name patterns with the
DSNPAT installation or command option. For details about the DSNPAT option, see
page 276. The following values are valid for the programming language:
s
s
s
s
s
ASM
COBOL2
LE_COBOL
C
LE_C
For more information about user-defined exit routines, see Appendix F, LOADPLUS
user exits.
Overriding this option: You can override the value for this option with the
DSNUEXIT command option (page 263).
ENFORCE=CHECK
The ENFORCE option allows you to specify a default behavior for checking table
check constraints in your load jobs. ENFORCE=CHECK tells LOADPLUS to check
the rows to be loaded for violations of DB2 table check constraints, if any constraints
exist. ENFORCE=NO indicates that you do not want to check for table check
constraint violations during LOADPLUS processing.
Overriding this option: You can override the value for this option with the
ENFORCE command option (page 194).
ERRDDN=SYSERR
The ERRDDN option specifies a default ddname for the error data set (the data set
that contains information about records that are discarded because of errors). If you
change the default ddname from SYSERR, you must also change the ddname in your
JCL. For more information, see SYSERR data set on page 301.
Overriding this option: You can override the value for this option with the ERRDDN
command option (page 164).
EXCLDUMP=(X37,X22,X06)
This option allows you to limit the conditions under which LOADPLUS generates a
system dump when the SDUMP option contains values other than NO. The
EXCLDUMP option tells LOADPLUS to exclude the listed abend codes when
generating the dump.
524
FILECHK=FAIL
FILECHK=FAIL tells LOADPLUS to terminate when it encounters a work file that
has been allocated as a temporary data set. If you specify FILECHK=WARN,
LOADPLUS issues a warning message only and continues processing if it encounters
work files that are temporary data sets. For a definition of temporary data sets within
LOADPLUS, see Check for data set attributes on page 79.
IBUFFS=20
The IBUFFS option specifies a multiple of 32 KB to use to define the amount of buffer
pool storage for each active input (SYSREC) data set. LOADPLUS allocates as many
buffers as will fit into the calculated space. For more information, see Buffer options
(IBUFFS, LBUFFS, WBUFFS, and CBUFFS installation options) on page 465.
NOTE
For versions 7.2.00 and later, LOADPLUS uses this option differently than in earlier versions.
If, in version 7.1.00 or earlier, you changed the value for this option from the value that was
shipped with LOADPLUS, review the description of this option carefully to ensure that you
obtain the results that you intend in the current release.
IDCACHE=1000
The IDCACHE option allows you to specify the size of the cache that LOADPLUS
uses when generating values for an identity column. LOADPLUS reserves this cache
in SYSIBM.SYSSEQUENCES. LOADPLUS uses one cache for each READ task. Valid
values for this option are 1 through 100000. For information about how the value of
this option can affect performance of your load jobs, see IDCACHE on page 199.
NOTE
This cache is a temporary cache that LOADPLUS uses and does not affect the cache that you
specified when defining your identity column.
Overriding this option: You can override the value for this option with the
IDCACHE command option (page 199).
Appendix A
525
IDCDDN=SYSIDCIN
The IDCDDN option specifies a default ddname for the input data set containing the
IDCAMS command statements that LOADPLUS uses to redefine VSAM data sets.
For more information, see SYSIDCIN data set on page 308.
Overriding this option: You can override the value for this option with the IDCDDN
command option (page 185).
IDERROR=DISCARD
IDERROR=DISCARD tells LOADPLUS to discard any rows with generated identity
column values that are outside the range that is defined on the identity column.
If you specify IDERROR=FAIL, LOADPLUS terminates as soon as it encounters a
generated identity column value that is outside the range that is defined on the
identity column. LOADPLUS ignores this option for an SQLAPPLY load job.
Overriding this option: You can override the value for this option with the IDERROR
command option (page 200).
IMAGECPY=YES
The IMAGECPY option specifies whether to provide image copy support. Image
copy support inserts a row into SYSIBM.SYSCOPY if you request image copies as
part of your load. You can specify YES or NO.
You must specify IMAGECPY=YES if you use the COPY YES command option and
register any of the copies.
If you specify IMAGECPY=YES, LOADPLUS assumes a value of LOADCPY=YES
when you create registered image copies by using LOADPLUS, regardless of the
value that you specify for that option explicitly. See the COPY option in Chapter 3 for
more information about making image copies as part of the load process.
NOTE
In a future release, LOADPLUS will no longer require or support the LOADCPY and
IMAGECPY installation options. When this change occurs, LOADPLUS will always insert a
LOAD LOG(NO) row into SYSIBM. SYSCOPY, preventing LOADPLUS from creating an
unrecoverable situation.
526
INDDN=SYSREC
The INDDN option specifies a default ddname or ddname prefix for the input data
set. When using this name as a prefix, allow sufficient bytes for LOADPLUS to add
the number of input files and still have a valid ddname (eight bytes or less). If you
change the default ddname from SYSREC and you are not using the INDSN
command option, you must change the ddname in your JCL. For more information,
see SYSREC data sets on page 303.
If any DD statements in your JCL match the value for INDDN and you specify the
INDSN command option, LOADPLUS fails and issues message BMC50460E.
Overriding this option: You can override the value for this option with the INDDN
command option (page 160).
INLINECP=NO
INLINECP=NO tells LOADPLUS to not make an inline image copy as it loads the
table space, but to create an image copy after it loads the table space. If you specify
YES, LOADPLUS creates an inline image copy as it loads the table space. A value of
YES requires that COPY YES be specified on the LOAD command.
If any of the following conditions apply to a particular load job, LOADPLUS
functions as if you specified NO, regardless of the value that is specified either here or
with the LOAD command:
s
You restart your load job, with the following exception: If you are running a
two-phase load job and you specify RESTART(PHASE) on your EXEC statement,
LOADPLUS generates an inline copy if the value of INLINE is YES.
The size of the table space page is greater than 4 KB, you are loading multiple
partitions, and you have one image copy data set.
Overriding this option: You can override the value for this option with the INLINE
command option (page 208).
Appendix A
527
KEEPDICTIONARY=NO
The KEEPDICTIONARY option tells LOADPLUS whether to keep the existing
compression dictionary when running a LOAD REPLACE or LOAD RESUME YES
PART n REPLACE job. KEEPDICTIONARY=NO tells LOADPLUS to build a new
compression dictionary.
KEEPDICTIONARY=YES tells LOADPLUS to keep the existing compression
dictionary. If a dictionary does not exist, LOADPLUS builds one.
NOTE
When loading a simple or segmented table space with LOAD RESUME YES, LOADPLUS
ignores the value of KEEPDICTIONARY.
Overriding this option: You can override the value for this option either at the table
space level, by using the KEEPDICTIONARY option with LOAD REPLACE
(page 141), or at the partition level, by using the KEEPDICTIONARY option with
PART n REPLACE (page 221).
LBUFFS=20
The LBUFFS option specifies a multiple of 32 KB to use to define the amount of buffer
pool storage to use for each active load (SORTOUT) data set. LOADPLUS allocates as
many buffers as will fit into the calculated space. For more information, see Buffer
options (IBUFFS, LBUFFS, WBUFFS, and CBUFFS installation options) on page 465.
NOTE
For versions 7.2.00 and later, LOADPLUS uses this option differently than in earlier versions.
If, in version 7.1.00 or earlier, you changed the value for this option from the value that was
shipped with LOADPLUS, review the description of this option carefully to ensure that you
obtain the results that you intend in the current release.
LOADCPY=YES
The LOADCPY option specifies whether you want rows to be inserted into
SYSIBM.SYSCOPY that indicate that a load has been performed with LOG NO. You
can specify YES or NO.
WARNING
If you specify LOADCPY=NO and you specify or default to COPY NO on your LOAD
command, LOADPLUS does not insert a LOAD LOG(NO) row into SYSIBM.SYSCOPY. This
action might render the table space unrecoverable or only partially recoverable if the full
image copy that you make after the load is not usable or if you make incremental image copies
after the load before you make a full image copy.
528
NOTE
In a future release, LOADPLUS will no longer require or support the LOADCPY and
IMAGECPY installation options. When this change occurs, LOADPLUS will always insert a
LOAD LOG(NO) row into SYSIBM. SYSCOPY, preventing LOADPLUS from creating an
unrecoverable situation.
LOADDN=SORTOUT
The LOADDN option specifies a default ddname or ddname prefix for the output
data set from the PRELOAD phase. When using this name as a prefix for a partitioned
table space, allow sufficient bytes for the partition number to be added and still have
a valid ddname (eight bytes or less). If you change the default ddname from
SORTOUT and you are not dynamically allocating your SORTOUT data sets, you
must change the ddname in your JCL. For more information, see SORTOUT data
sets on page 296.
NOTE
If you specify or default to a prefix with a length of 7 or more characters, and the value for the
SMAX or MAXSORTS option is greater than 9, LOADPLUS reduces the value of SMAX
(MAXSORTS) to 9.
Overriding this option: You can override the value for this option with the
LOADDN command option (page 161).
LOCKROW=YES
LOCKROW=YES tells LOADPLUS to use MVS enqueues instead of SQL LOCK
TABLE statements for serialization when updating the BMCSYNC and BMCUTIL
tables. Using LOCKROW=YES should prevent most SQL -911 return codes that occur
when multiple BMC Software products concurrently update the BMCSYNC and
BMCUTIL tables.
Specifying LOCKROW=NO tells LOADPLUS to use SQL LOCK TABLE statements
for serialization when updating the BMCSYNC and BMCUTIL tables.
Appendix A
529
NOTE
Note the following considerations:
s
Using LOCKROW=YES requires row-level locking. You must define the BMCSYNC and
BMCUTIL tables with LOCKSIZE ROW to achieve row-level locking.
The following BMC Software products must use the same LOCKROW value within a
subsystem: CHECK PLUS, COPY PLUS, LOADPLUS, RECOVER PLUS, REORG PLUS,
and UNLOAD PLUS.
For LOADPLUS version 7.2.00 and earlier, the default value for the LOCKROW option
was NO.
MAXP=5
The MAXP option specifies the maximum number of partitions to load concurrently.
For more information, see MAXP installation option on page 470.
MAXTAPE=3
The MAXTAPE option specifies the maximum number of tape drives to dynamically
allocate at one time. The value must be greater than zero.
Overriding this option: You can override the value for this option with the
MAXTAPE command option (page 263).
MSGLEVEL=1
This option controls the messages that LOADPLUS returns to the user in the
SYSPRINT data set. MSGLEVEL=0 returns minimal messages. MSGLEVEL=1 returns
additional messages to help you diagnose problems and fine-tune performance.
Overriding this option: You can override the value for this option with the
MSGLEVEL parameter on the EXEC statement (page 290).
OPNDB2ID=YES
OPNDB2ID=YES tells LOADPLUS to use the DB2 RACF ID instead of the RACF ID
of the user who is running LOADPLUS when opening or performing Access Method
Services (AMS) functions on DB2 data sets. Specifying OPNDB2ID=NO tells
LOADPLUS to use the RACF ID of the user who is running LOADPLUS. If you
specify NO, the user must have the appropriate RACF authority.
530
For any security system other than RACF, specify OPNDB2ID=NO to have
LOADPLUS use the security authorization ID of the user who is running
LOADPLUS.
ORIGDISP=DELETE
ORIGDISP=DELETE tells LOADPLUS to delete the original data sets after
successfully renaming the staging data sets and completing a load by using LOAD
REPLACE SHRLEVEL REFERENCE or LOAD REPLACE SHRLEVEL CHANGE.
If you specify ORIGDISP=RENAME, LOADPLUS renames the original data sets to
the staging data set names. ORIGDISP=RENAME preserves the space that was
initially allocated for the original data sets. As a result, the staging data sets are ready
to use in a subsequent load process.
For more information about the names that are assigned to the original data sets, see
Staging data sets on page 89.
Overriding this option: You can override the value for this option with the
ORIGINALDISP command option (page 187).
PAUSEDISCARDRC=4
The PAUSEDISCARDRC option allows you to designate a default user-defined
return code that LOADPLUS uses when pausing after the PRELOAD phase due to
discarded records. The value for this option is in effect only if you specify PRELOAD
PAUSE ANYDISCARDS on the LOAD command.
You can specify any positive integer. Note the following results for certain values:
s
LOADPLUS always ends with the highest return code assigned during the load
job. Therefore, because PRELOAD PAUSE normally ends with a return code 4,
specifying a value of 4 or less has no effect. For more information, see Return code
hierarchy on page 120.
If you specify an integer that is greater than 31, LOADPLUS issues a user abend
that is equal to the integer that you specify.
If you specify an integer that is greater than 4095, the LOADPLUS job step
terminates with a system abend 001.
Overriding this option: You can override the value for this option with the
RETCODE keyword of the PRELOAD PAUSE ANYDISCARDS command option
(page 158).
Appendix A
531
PLAN=AMU0820
The PLAN option specifies the name of the product plan. This plan contains the
packages that provide the various capabilities of LOADPLUS.
NOTE
In LOADPLUS releases earlier than version 8.2, these capabilities were provided by separate
plans. In the current release, the single plan specified with the PLAN option replaces the
multiple plans used in earlier releases.
PREFORMAT=NO
PREFORMAT=NO tells LOADPLUS not to preformat unused pages in a data set. If
you specify PREFORMAT=YES, LOADPLUS writes pages initialized with zeros up to
the high-allocated RBA of the participating table space and index spaces.
Overriding this option: You can override the value for this option, either at the table
space level or at the partition level, by using the appropriate PREFORMAT option
(page 197 or page 220).
PRELOAD=CONTINUE
The PRELOAD installation option specifies whether to use two-phase or single-phase
processing for your load jobs. You can specify CONTINUE or LOAD for the
installation option.
PRELOAD=CONTINUE directs LOADPLUS to use two-phase processing and to
continue with the LOAD phase after the PRELOAD phase is completed.
PRELOAD=LOAD tells LOADPLUS to use single-phase load processing, which
combines the functions of the PRELOAD and LOAD phases into the COMBINED
phase. This value can improve performance in most cases.
NOTE
SQLAPPLY load jobs always uses single-phase processing. Therefore, if you are running an
SQLAPPLY load, LOADPLUS ignores the value for this option.
Overriding this option: You can override the value for this option with the
PRELOAD command option (page 157). Additional values are available with the
command option.
532
RCVYDDN=(BMCRCY, BMCRCZ)
The RCVYDDN option specifies default ddnames or ddname prefixes for the remote
copy data sets that receive an image copy or DSN1COPY of the table space or of each
partition in the table space that you are loading. If you are registering the copies, the
first name is the remote primary copy, and the second name is the remote backup
copy.
When using this name as a prefix, ensure that you allow sufficient bytes for the
partition number to be added and still have a valid ddname (eight bytes or less). In
addition, if you change the default ddnames from BMCRCY and BMCRCZ and you
are not dynamically allocating your copy data sets, you must change the names in
your JCL. For more information, see Copy data sets on page 292.
Overriding this option: You can override the value for this option with the
RECOVERYDDN command option (page 213).
REDEFINE=YES
The REDEFINE option tells LOADPLUS whether to delete and redefine the VSAM
data sets for the table space and index spaces that are participating in the load.
LOADPLUS can delete and redefine both user-defined (VCAT-defined) data sets and
data sets that are defined in DB2 storage groups (STOGROUP-defined).
For SHRLEVEL NONE, REDEFINE=YES tells LOADPLUS to delete and redefine the
VSAM data sets for the space before loading it. For LOAD REPLACE SHRLEVEL
REFERENCE or LOAD REPLACE SHRLEVEL CHANGE, LOADPLUS deletes and
defines the staging data sets.
REDEFINE=NO tells LOADPLUS not to delete and redefine the existing VSAM data
sets for the table space or indexes. Instead, LOADPLUS issues message BMC50391I,
reuses the existing data sets, and resets the high-used RBA.
If you anticipate loading a large number of partitions, BMC Software recommends
that you specify REDEFINE NO.
Overriding this option: You can override the value for this option with the
REDEFINE command option. For information about the command option as well as
more information about how LOADPLUS functions under each value of this option,
see REDEFINE on page 182.
Appendix A
533
RENMMAX=30
The RENMMAX option indicates the maximum number of tasks to start during the
staging data set rename and delete process. You can specify the following values:
s
s
RULES=STANDARD
The RULES option specifies the set of comparison rules for LOADPLUS to use in
WHEN, NULLIF, and DEFAULTIF processing. You can specify STANDARD or
BMC. This specification determines the order in which WHEN testing and data
conversion, if any, is performed. RULES also determines which set of comparison
operators can be used in comparisons. For information about the differences between
STANDARD and BMC, see Appendix E, RULES installation option examples.
When your LOAD command contains the FORMAT UNLOAD, FORMAT BMC, or
FORMAT BMCUNLOAD option, LOADPLUS changes the value of the RULES
option to BMC, regardless of the value that you specify at installation. When your
LOAD command contains the FORMAT CSV option, LOADPLUS changes the value
of this option to STANDARD, regardless of the value that you specify at installation.
SDUMP=(ALLPSA,CSA,RGN,SQA,LSQA,SUM,TRT,IO)
The SDUMP option tells LOADPLUS to generate a system dump, using the
information listed in the option, if a load job abnormally terminates. The values listed
are the ones that provide BMC Software Customer Support with the diagnostic
information that they need to assist you. You can specify any values that IBM allows
for the SDATA parameter on the SDUMPX macro, but BMC Software recommends
that you do not change the values that were shipped with the product (which are the
values shown here). For a complete list and description of the values that you can
specify for this option, see the IBM SDUMPX macro description.
LOADPLUS uses the system-defined dump data set to hold the data. In cases where
multiple abends occur, LOADPLUS generates the dump for only the first abend. The
SDUMP option allows you to generate a system dump, regardless of your access to
storage keys 0 through 7.
You can specify SDUMP=NO (without parentheses) to not generate a system dump.
NOTE
LOADPLUS displays SDUMP=YES in message BMC50471I in the SYSPRINT list of options
when SDUMP contains one or more values.
534
To limit the conditions under which LOADPLUS generates the system dump, you
can exclude selected abend codes by using the EXCLDUMP option (page 524).
SHRLEVEL=(NONE,NONE)
The SHRLEVEL option specifies the level of access that DB2 has, during LOADPLUS
processing, to the objects that you are loading.
The first value of this option provides the default SHRLEVEL value for LOAD
RESUME NO and LOAD REPLACE jobs. The second value provides the default
SHRLEVEL value for LOAD RESUME YES jobs. Specify the following values:
s
NONE tells LOADPLUS to stop the objects that you are loading, making them
unavailable during the entire load process.
REFERENCE is valid only with LOAD REPLACE jobs and tells LOADPLUS to
make the objects that you are loading available in read-only status. LOADPLUS
writes the loaded data to staging data sets. The original VSAM data sets remain
intact throughout the load process. This nondestructive process allows you to
easily restart from a failure or make the objects available without having to
recover.
You can specify REFERENCE for the first value of this option only.
CHANGE is valid only with LOAD REPLACE jobs and tells LOADPLUS to allow
the objects that you are loading to remain in read/write status while LOADPLUS
writes the loaded data to staging data sets. The original VSAM data sets remain
intact throughout the load process. This nondestructive process allows you to
easily restart from a failure or make the objects available without having to
recover.
You can specify CHANGE for the first value of this option only.
SQLAPPLY is valid only with LOAD RESUME YES jobs and tells LOADPLUS to
allow the object that you are loading to remain in read/write status while
LOADPLUS loads the data by using SQL insert processing. For this type of load,
LOADPLUS integrates with the Apply Plus component of the BMC Software Log
Master for DB2 product. This feature does not require that you have a license for
the Log Master product but does require that the Apply Plus component be
installed and made available through the STEPLIB, JOBLIB, or LINKLIST at
runtime.
You can specify SQLAPPLY for the second value of this option only.
Table 92 on page 536 lists the valid combination of values for this option and the
equivalent load commands.
Appendix A
535
Table 92
Value
NONE or
(NONE,NONE)
(NONE,SQLAPPLY) or
(,SQLAPPLY)
REFERENCE or
(REFERENCE,NONE)
(REFERENCE,SQLAPPLY)
CHANGE or
(CHANGE,NONE)
(CHANGE,SQLAPPLY)
Overriding this option: You can override the value for this option with the
SHRLEVEL command option. For more information about SHRLEVEL options, see
the command option description on page 143.
SMAX=8
The SMAX option specifies the maximum number of index sort tasks that can run
concurrently during the LOAD phase. The maximum value that you can specify is 16.
For more information, see Controlling the number of sort processes (SMAX or
MAXSORTS) on page 477.
Restriction: If the value of the LOADDN option is 7 or more characters and the value
of the SMAX option is greater than 9, LOADPLUS reduces the value of the SMAX
option to 9.
Overriding this option: You can override this value by using the MAXSORTS
command option. For information about the command option, see MAXSORTS on
page 178.
SMCORE=(0K,0K)
SMCORE specifies the amount of memory that you want each invocation of
BMCSORT to use. BMC Software strongly recommends that you use the values 0K
and 0K for this option. For more information, see Controlling memory usage
(SMCORE) on page 475.
536
The first value specifies the total amount of memory to use both above and below the
16-megabyte line for each sort process. You can specify this value in either kilobytes
or megabytes. The following values are valid for this parameter:
s
s
The second value specifies the amount of memory that is required below the
16-megabyte line for each sort process. You can specify this value in either kilobytes
or megabytes. The following values are valid for this parameter:
s
s
NOTE
If you specify a value that is greater than 32 for the SORTNUM option, BMC Software
recommends that you specify 384K for the second value of the SMCORE option.
SORTNUM=
The SORTNUM option affects the allocation of sort work files when BMCSORT is
allocating your sort work files dynamically. You can specify any integer value from 0
through 99; however, BMC Software strongly recommends that you specify 32.
NOTE
LOADPLUS does not supply a value for this option. If you do not specify a value, your
installation options module will not assemble successfully.
Table 93 on page 538 describes the action that BMCSORT takes for each value that
you can specify for this option. The table also provides any additional considerations
for these values.
Appendix A
537
Table 93
SORTNUM values
Value
Description
Additional considerations
132
3399
If the value of the third parameter in the BMCSORT DYNALOC installation option is
OFF, specifying a value greater than 0 for the SORTNUM option turns BMCSORT
dynamic allocation on, and BMCSORT allocates sort work files as needed. For
information about when BMCSORT allocates your sort work files dynamically, see
Allocating sort work data sets on page 70.
Overriding this option: You can override the value for this option with the
SORTNUM command option (page 177).
SQLDELAY=3
The SQLDELAY option specifies the number of seconds that LOADPLUS should wait
between retry attempts after receiving an SQL -911 return code. This interval is in
addition to the time that elapses when DB2 waits for a timeout or deadlock. The
number of seconds can range from 1 through 655.
SQLRETRY=100
The SQLRETRY option specifies the number of times that LOADPLUS should
attempt an SQL statement. The number of attempts can range from 1 through 255.
STOP@CMT=NO
This option specifies whether to add the 'AT(COMMIT)' parameter to all DB2 STOP
commands that LOADPLUS issues. STOP@CMT=YES adds the 'AT(COMMIT)'
parameter. STOP@CMT=NO does not. See the IBM DB2 documentation for details
and implications of the 'AT(COMMIT)' parameter.
538
STOPDELAY=1
The STOPDELAY option specifies the number of seconds that LOADPLUS waits
before it checks again to determine whether DB2 has stopped the object. The number
of seconds can be any nonzero positive integer.
STOPRETRY=300
The STOPRETRY option specifies the number of times that LOADPLUS checks to
determine whether DB2 has changed the status of an object from stop pending
(STOPP) to stopped (STOP). The number of checks can be any nonzero positive
integer.
If you plan to load objects with more than 2000 partitions, BMC Software
recommends that you specify a minimum value of 450.
TAPEDISP=DELETE
The TAPEDISP option specifies the final disposition of tape work files when the value
of the DELETEFILES or SYSDISC option is YES.
If you specify TAPEDISP=DELETE, each tape file will have a disposition of
OLD,DELETE,DELETE when the tape is deallocated.
If you specify TAPEDISP=UNCATLG, each tape file will have a disposition of
OLD,UNCATLG,UNCATLG when the tape is deallocated. Depending on your tape
management environment, using UNCATLG can prevent a tape remount.
UPDMAXA=NO
UPDMAXA=NO tells LOADPLUS not to update the MAXASSIGNEDVAL field of
SYSIBM.SYSSEQUENCES when loading identity column values from an input file.
Specifying YES tells LOADPLUS to update this field when loading identity column
values from an input file.
NOTE
When generating identity column values, LOADPLUS always updates MAXASSIGNEDVAL.
Overriding this option: You can override the value for this option with the
UPDATEMAXA command option (page 199).
Appendix A
539
UXSTATE=SUP
UXSTATE=SUP specifies that LOADPLUS should call DB2 user exits (such as
EDITPROCs or date/time exits) in supervisor state (and PSW key=7).
Specifying UXSTATE=PROB tells LOADPLUS to call DB2 user exits in problem state
(and PSW key=7). The requirements of the exits dictate the UXSTATE setting. Check
with the exit author (or vendor) before changing to UXSTATE=PROB.
WBUFFS=(20,10)
The WBUFFS option specifies a multiple of 32 KB to use to define the amount of
buffer pool storage for each work (SYSUT1) data set. LOADPLUS allocates as many
buffers as will fit into the calculated space.
LOADPLUS uses the first number if you specify only one work data set. LOADPLUS
uses the second number for each data set if you specify multiple work data sets. For
more information, see Buffer options (IBUFFS, LBUFFS, WBUFFS, and CBUFFS
installation options) on page 465.
NOTE
For versions 7.2.00 and later, LOADPLUS uses this option differently than in earlier versions.
If, in version 7.1.00 or earlier, you changed the value for this option from the value that was
shipped with LOADPLUS, review the description of this option carefully to ensure that you
obtain the results that you intend in the current release.
WORKDDN=SYSUT1
The WORKDDN option specifies a default ddname or ddname prefix for the work
data set.
When using this name as a prefix, ensure that you allow sufficient bytes for
LOADPLUS to add the number of indexes and still have a valid ddname (eight bytes
or less). In addition, if you change the default ddname from SYSUT1 and you are not
dynamically allocating your SYSUT1 data sets, you must change the name in your
JCL. For more information, see SYSUT1 data sets on page 305.
Overriding this option: You can override the value for this option with the
WORKDDN command option (page 162).
WORKUNIT=SYSALLDA
The WORKUNIT option specifies the unit to use for a temporary, one-track work
data set. VIO is an acceptable value for this option.
540
XBLKS=3
The XBLKS option specifies the number of blocks to use for transferring data from the
read task to the data process and index data from the data process to the
index-building process during the PRELOAD phase or the COMBINED phase. The
minimum value is 3. For more information, see XBLKS installation option on
page 478.
ZEROROWRC=0
The ZEROROWRC option allows you to specify a default user-defined return code
that LOADPLUS uses upon successful completion of the job when LOADPLUS does
not load any rows. You can specify any integer from 0 through 7.
LOADPLUS always ends with the highest return code assigned during the load job.
For more information, see Return code hierarchy on page 120.
Overriding this option: You can override the value for this option with the
IFZEROROWS command option (page 170).
Option
Shipped value
Brief description
DDTYPE
page 542
ACTIVE
NO
page 543
DATACLAS
(NONE,NONE)
page 548
DSNPAT
&&UID.&&UTILPFX.&&DDNAME
page 546
Appendix A
Reference
541
Table 94
Option
Shipped value
Brief description
Reference
EXPDT
none
page 550
NO
GDGLIMIT
page 551
GDGSCRATCH NO
page 551
IFALLOC
USE
page 543
MAXEXTSZ
page 549
MGMTCLAS
(NONE,NONE)
page 549
RETPD
none
page 550
example value: 30
SIZEPCT
(100,100)
page 544
SMS
NO
page 548
SMSUNIT
NO
page 549
STORCLAS
(NONE,NONE)
page 549
THRESHLD
UNIT
(SYSALLDA,SYSALLDA)
page 544
UNITCNT
(0,0)
page 544
VOLCNT
(25,25)
page 545
This section describes each of the dynamic allocation options. All of these options can
also be specified with the DDTYPE command option, allowing you to override the
defaults that were established at installation. See Dynamic work file allocation
options on page 262 for details.
DDTYPE=LOAD
The DDTYPE option specifies the data set type for which you are establishing
dynamic allocation options. The valid values for this option are listed in Table 95 on
page 543. Each instance of the $AMUDYNA macro must contain a different value for
this option. For details about each data set, see LOADPLUS DD statements on
page 291.
542
Table 95
DDTYPE value
Corresponding default
ddname
LOAD
SORTOUT
WORK
SYSUT1
SORTWORK
SORTWK
DISCARD
SYSDISC
ERROR
SYSERR
LOCPFCPY
BMCCPY
LOCBFCPY
BMCCPZ
REMPFCPY
BMCRCY
REMBFCPY
BMCRCZ
Overriding this option: For each DDTYPE, you can override the dynamic allocation
default values by specifying the corresponding command options. The DDTYPE
command option (page 265) specifies the data set type to which the overrides apply.
ACTIVE=NO
The ACTIVE option tells LOADPLUS whether to dynamically allocate the specified
data sets. A value of YES activates dynamic allocation. A value of NO inactivates
dynamic allocation.
NOTE
When LOADPLUS runs in a worklist environment, it ignores the ACTIVE option in your
installation options module. LOADPLUS dynamically allocates your data sets only if the
invoking product (DASD MANAGER PLUS, CATALOG MANAGER, or CHANGE
MANAGER) supplies the ACTIVE YES syntax.
Overriding this option: You can override the value for this option with the ACTIVE
command option (page 267).
IFALLOC=USE
The IFALLOC option tells LOADPLUS whether to use data sets that are specified in
your JCL or free them. The two valid values are USE and FREE. Specifying USE
allows you to merge dynamically allocated data sets with JCL-specified data sets.
Overriding this option: You can override the value for this option with the IFALLOC
command option (page 268).
Appendix A
543
SIZEPCT=(100,100)
The SIZEPCT option specifies the percentages of the primary and secondary space
calculated by LOADPLUS that will be used for allocation. The numbers that you
specify must be greater than zero.
The first number indicates the percentage of the primary quantity calculated by
LOADPLUS that you actually want allocated.
The second number indicates the percentage of the secondary quantity calculated by
LOADPLUS that you actually want allocated.
Overriding this option: You can override the value for this option with the SIZEPCT
command option (page 274).
UNIT=(SYSALLDA,SYSALLDA)
For non-SMS managed data sets, the UNIT option specifies the primary and
secondary unit names that LOADPLUS uses for dynamic allocation. These unit
names may not exceed eight characters each.
For SMS managed data sets, if you also specify SMS=YES and SMSUNIT=YES, the
UNIT option supplies the unit names that LOADPLUS passes in the SMS allocation
parameter list.
Overriding this option: You can override the value for this option with the UNIT
command option (page 271).
UNITCNT=(0,0)
This option allows you to specify the number of devices to allocate when dynamically
allocating data sets. Valid values are 0 through 59. A value of 0 tells LOADPLUS to
use the system default. LOADPLUS uses the second value when the value for
THRESHLD (page 545) is exceeded.
Additional considerations: Note the following additional information about the
UNITCNT option:
s
s
Overriding this option: You can override the value for this option with the
UNITCNT command option (page 272).
544
VOLCNT=(25,25)
This option allows you to specify the maximum number of volumes to use during
dynamic data set allocation. Valid values are 0 through 255. A value of 0 tells
LOADPLUS to use the system default. LOADPLUS uses the second value when the
value for THRESHLD (page 545) is exceeded.
Additional considerations: Note the following additional information about the
VOLCNT option:
s
To avoid performance problems, specify only the number of volumes that you
need.
If you are allocating an SMS-managed data set, LOADPLUS recommends that you
specify a value of 0 if your ACS routines are set up to provide a volume count.
If you anticipate loading a large number of partitions, consider lowering the value
of this option to avoid data set allocation limitations.
Overriding this option: You can override the value for this option with the VOLCNT
command option (page 272).
THRESHLD=0
The THRESHLD option specifies the threshold, in kilobytes, above which
LOADPLUS performs the following tasks:
s
For non-SMS managed data sets, LOADPLUS uses the secondary unit name, unit
count, and volume count.
If you specify zero or if the threshold is not exceeded, LOADPLUS uses the primary
values for these options.
Overriding this option: You can override the value for this option with the
THRESHLD command option (page 274).
Appendix A
545
DSNPAT=&&UID.&&UTILPFX.&&DDNAME
The DSNPAT option specifies the pattern that you want LOADPLUS to use to
generate data set names during dynamic work file allocation. The keyword NONE is
also valid, but only for SORTWK data sets, and it must not be enclosed by single
quotation marks (as is required with the DSNPAT command option).
The pattern that you specify in your DSNPAT option must allow LOADPLUS to
generate unique data set names. If LOADPLUS encounters non-unique data set
names, processing terminates. Note the following considerations:
s
With multiple SORTOUT and SYSUT1 files, you must include the &DDNAME
variable to generate unique names.
For copy data sets, you might need to include additional variables, such as
&VCAT, &DATEJ, or &TIME4 to generate unique names across multiple loads.
If you plan to use LOADPLUS with one of the Administrative Products for DB2
(for example, CHANGE MANAGER for DB2 or CATALOG MANAGER for DB2),
BMC Software recommends that you include additional variables in the default
pattern to ensure unique names. A value such as the following ensures that
LOADPLUS generates unique names:
DSNPAT=&&UID.&&UTILPFX.&&DDNAME..D&&DATE..T&&TIME
You can use text or any of the symbolic variables from Table 96 to construct your
pattern. You can also provide user-defined variables from a user exit routine
(specified with the DSNUEXIT installation or command option). When specifying a
pattern in your installation options, you must precede each variable with an
additional ampersand (&) in your pattern. The maximum total length allowed for a
data set name is 44 bytes.
NOTE
This pattern can also be specified with the DSNPAT command option and overrides any
default that is established in the DSNPAT installation option. Additional ampersands are not
required with the command option. However, if you use the keyword NONE with the
DSNPAT command option, you must enclose it with single quotation marks.
Table 96
Symbolic variable
Definition
Length of resulta
&DATE
6 bytes
&DATEJ
7 bytes
&DB
8 bytes maximum
&DDNAME
8 bytes maximum
&GRPNM
546
nameb
4 bytes
Table 96
Symbolic variable
Definition
Length of resulta
&JDATE
5 bytes
&JOBNAME
8 bytes maximum
&PART
Note: You can use this variable for any data set.
However, LOADPLUS substitutes the partition
number only for copy data sets. For all other data sets,
LOADPLUS substitutes the value P000.
&REPLACE
1 byte
&RESUME
1 byte
&SSID
DB2 subsystem ID
4 bytes
c
&STEPNAME
&TIME
6 bytes
&TIME4
4 bytes
&TS
8 bytes maximum
8 bytes maximum
8 bytes maximum
&UTIL
8 bytes maximume
&UTILPFX
8 bytes maximum
&UTILSFX
8 bytes maximum
&VCAT
For your dynamically allocated copy data sets, you can also specify a pattern that
contains a GDG name. Each DDTYPE must have a different GDG base.
The GDG format that you use to construct a data set name is the same as the format
that you use in your JCL when you allocate copy data sets with DD statements.
Simply append the generation number in parentheses. The open parenthesis tells
LOADPLUS that the pattern is a GDG name. The generation number must be an
integer from 1 through 255.
Appendix A
547
If the base does not exist, LOADPLUS creates it for you using everything in the
pattern up to the open parenthesis as the base name. For more information about
GDG names and options, see Generating data set names on page 73.
The following example shows a valid GDG name:
'&UTILPFX.&DDNAME..COPY(+1)'
If you are using a substitution variable as the last variable before the open
parenthesis, you must include a period before the open parenthesis. The following
example shows this usage:
'&UTILPFX.&DDNAME.(+1)'
If you specify COPYLVL PART on the LOAD command, each partition must have a
different GDG base. To specify a pattern that includes a partition, the partition must
not be in parentheses. The following example shows a valid name:
'&UTILPFX.&DDNAME..P&PART.(+1)'
You cannot specify a pattern that contains a PDS name. The following example shows
an invalid name:
'&UTILPFX.&DDNAME..(P&PART)'
For further discussion of user exits, see Appendix F, LOADPLUS user exits.
Overriding this option: You can override the value for this option with the DSNPAT
command option. For more information and guidelines for specifying data set name
patterns, see DSNPAT on page 276.
SMS=NO
The SMS option tells LOADPLUS whether to perform an SMS allocation or non-SMS
allocation. Valid values are YES and NO.
Overriding this option: You can override the value for this option with the SMS
command option (page 269).
DATACLAS=(NONE,NONE)
The DATACLAS option specifies the primary and secondary SMS data classes that
LOADPLUS uses for an SMS allocation. The two class names must be valid SMS data
class names, not exceeding eight characters each, or NONE.
Overriding this option: You can override the value for this option with the
DATACLAS command option (page 283).
548
MGMTCLAS=(NONE,NONE)
The MGMTCLAS option specifies the primary and secondary SMS management
classes that LOADPLUS uses for an SMS allocation. The two class names must be
valid SMS management class names, not exceeding eight characters each, or NONE.
Overriding this option: You can override the value for this option with the
MGMTCLAS command option (page 283).
STORCLAS=(NONE,NONE)
The STORCLAS option specifies the primary and secondary SMS storage classes that
LOADPLUS uses for an SMS allocation. The two class names must be valid SMS
storage class names, not exceeding eight characters each, or NONE.
Overriding this option: You can override the value for this option with the
STORCLAS command option (page 283).
SMSUNIT=NO
The SMSUNIT option tells LOADPLUS whether to pass the UNIT value in the SMS
allocation parameter list during dynamic allocation. LOADPLUS does not modify
any other parameters based on this option. If the value of the SMS option is NO,
LOADPLUS ignores the SMSUNIT option.
Valid values for SMSUNIT are YES and NO.
Overriding this option: You can override the value for this option with the
SMSUNIT command option (page 269).
MAXEXTSZ=0
The MAXEXTSZ option specifies the maximum size (in kilobytes), up to the MVS
limit of 65535 tracks, for any extent that LOADPLUS allocates for the primary and
secondary quantities. This option is not valid for a SORTWK file. LOADPLUS ignores
MAXEXTSZ if you specify SMS YES.
If you do not want to set a limit for space allocation, specify 0 as the value for
MAXEXTSZ. If you specify 0, or if you specify a value that is greater than the size
limit of your physical device or greater than the MVS limit, LOADPLUS replaces this
value at runtime with the size of your physical device.
If LOADPLUS determines that the amount of required space is greater than this value
allows (for both primary and secondary quantities), LOADPLUS terminates the job
with return code 8.
Appendix A
549
NOTE
LOADPLUS checks the value of MAXEXTSZ after it applies SIZEPCT to the allocation
amount.
Overriding this option: You can override the value for this option with the
MAXEXTSZ command option (page 270).
EXPDT=
Use EXPDT to specify the expiration date for the copy data set that you are
dynamically allocating. The date must either be blank or in the format yyddd or
yyyyddd. yy is the last two digits of the year, yyyy is the 4-digit year (1900 through
2155), and ddd is the 3-digit Julian day (000 through 366). For expiration dates of
January 1, 2000 and later, you must use the form yyyyddd. A blank value means that
LOADPLUS does not use an expiration date.
LOADPLUS ignores this option if you specify it for any non-copy data set that you are
dynamically allocating.
When you specify the EXPDT installation option, it takes precedence over the RETPD
installation option.
Overriding this option: You can override the value for this option with either the
EXPDT or RETPD command option. For information about the commands, see
EXPDT on page 281 and RETPD on page 281.
RETPD=
Use RETPD to specify the retention period in days for the copy data set that you are
dynamically allocating. The number of days must be blank or in the range 0 through
9999. A blank value means that LOADPLUS does not use a retention period.
LOADPLUS ignores this option if you specify it for any non-copy data set that you are
dynamically allocating.
Overriding this option: You can override the value for this option with the RETPD or
EXPDT command option (page 281). If you specify the EXPDT installation option, the
EXPDT installation option takes precedence over the RETPD installation option.
550
GDGLIMIT=5
The GDGLIMIT option specifies the maximum number of GDG generations that the
system should keep. The number must be an integer in the range 1 through 255.
LOADPLUS honors this option only when creating the GDG base. LOADPLUS
ignores this option if you specify it for any non-copy data set that you are dynamically
allocating.
Overriding this option: You can override the value for this option with the
GDGLIMIT command option, which is described on page 282.
GDGEMPTY=NO
GDGEMPTY=NO indicates that the system uncatalogs only the oldest GDG data set
when the GDGLIMIT is reached.
If you specify GDGEMPTY=YES, the system uncatalogs all preexisting generations of
this data set when the limit is reached.
LOADPLUS honors this option only when creating the GDG base. LOADPLUS
ignores this option if you specify it for any non-copy data set that you are dynamically
allocating.
GDGSCRATCH=NO
GDGSCRATCH=NO specifies that the system should not delete an entry that is
uncataloged as a result of the GDGEMPTY option.
If you specify GDGSCRATCH=YES, the system deletes the GDG entry from the
volumes table of contents (VTOC) when uncataloging the data set. The space on the
volume is then available to other users.
LOADPLUS honors this option only when creating the GDG base. LOADPLUS
ignores this option if you specify it for any non-copy data set that you are dynamically
allocating.
Appendix A
551
552
Appendix
LOADPLUS database
This appendix presents the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCUTIL table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCSYNC table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCHIST table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BMCDICT table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determining table names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining BMCHIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining BMCUTIL and BMCSYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining BMCDICT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
553
554
555
557
558
559
559
560
560
561
Overview
This appendix describes the common utility tables that LOADPLUS uses:
s
The BMCUTIL table provides information about currently running BMC Software
utilities.
The BMCSYNC table contains information about the DB2 objects on which the
BMC Software utilities are operating.
The BMCHIST table provides information about BMC Software utilities that have
successfully completed execution.
Appendix B
LOADPLUS database
553
BMCUTIL table
You can access these tables through SQL statements or by using BMCDSN, the BMC
Software command processor for the BMC Software utilities for DB2. See the
BMCDSN Command Processor Reference Manual for information about using BMCDSN
and the Utility Products for DB2 Installation Guide for information about installing
BMCDSN.
For information about maintaining these tables, see Maintenance on page 559.
WARNING
Note the following warnings:
s
Do not run the BMC Software utilities against BMC Software tables or table spaces. Doing
so can produce unpredictable results.
Do not run the RUNSTATS utility against the BMC Software common utility tables. Doing
so can negatively impact utility performance.
BMC Software strongly recommends that you use isolation UR and issue SQL COMMIT
statements when querying the objects in the BMC Software database. If objects in the BMC
Software database are restricted for UPDATE, the BMC Software utilities that are
executing might not be able to complete successfully.
BMCUTIL table
Table 97 on page 555 describes the BMCUTIL table, which contains information about
utilities that are currently running or started. All BMC Software utility products for
DB2 use the BMCUTIL table.
NOTE
If you have applications that depend on the structure or content of the BMCUTIL table, be
aware that this table is subject to change.
LOADPLUS inserts a row into the BMCUTIL table during the UTILINIT phase and
updates the table as the status of the job changes. LOADPLUS deletes the row from
the BMCUTIL table during the UTILTERM phase.
554
BMCSYNC table
Table 97
BMCUTIL table
Column name
Data type
Description
UTILID
CHAR(16)
utility identifier
STATUS
CHAR(1)
UTILNAME
CHAR(8)
PHASE
CHAR(8)
USERID
CHAR(8)
SSID
CHAR(4)
RESTART
CHAR(1)
restart option:
N (not restart)
P (RESTART(PHASE))
Y (RESTART)
NOTEID
CHAR(8)
DBNAME
CHAR(8)
not used
SPNAME
CHAR(8)
not used
SPSTATUS
CHAR(5)
not used
COMMANDNO
SMALLINT
COMMAND
VARCHAR(256)
STATE
LONG VARCHAR
START_TIMESTAMP
TIMESTAMP
BMCSYNC table
Table 98 on page 556 describes the BMCSYNC table, which contains information
about the status of the objects that the currently running utilities are accessing. The
BMCSYNC table synchronizes access to DB2 spaces by concurrently running BMC
Software utility products. For more information, see Serialization and concurrency
on page 60.
NOTE
If you have applications that depend on the structure or content of this table, be aware that
this table is subject to change.
Appendix B
LOADPLUS database
555
BMCSYNC table
LOADPLUS inserts rows into the BMCSYNC table during the UTILINIT phase and
updates the table during the job as the status of the object changes. LOADPLUS
deletes rows from the BMCSYNC table during the UTILTERM phase.
NOTE
If you are processing a large number of partitions, you might need to increase the size of the
BMCSYNC table space from the standard size that was allocated during installation. Estimate
this allocation based on all of the following factors:
s
s
s
Table 98
Column name
Data type
Description
UTILID
CHAR(16)
utility identifier
NAME1
CHAR(8)
NAME2
CHAR(18)
KIND
CHAR(2)
kind of object:
IP (index partition)
IX (index)
TB (table)
TP (table space partition)
TS (table space)
DD, DW (dynamic work file allocation)
CI (copy information)
RD (restart data set block)
PARTITION
SMALLINT
BMCID
SMALLINT
UTILNAME
CHAR(8)
SHRLEVELb
CHAR(1)
degree to which this object can be shared with other BMC Software
utility products
s
STATUS
CHAR(1)
XCOUNT
INTEGER
DDNAME
CHAR(8)
BLOCKS
INTEGER
556
BMCHIST table
Table 98
Column name
Data type
Description
ORIG_STATUS
CHAR(8)
EXTRBA
CHAR(6)
not used
STATE
LONG VARCHAR
If the creator name (NAME1) is greater than 8 bytes, or the table or index name (NAME2) is greater than 18
bytes, the NAME1 column contains the DBID for the object, and the NAME2 column contains the table OBID
or index ISOBID of the object in hexadecimal format.
For LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY, LOADPLUS registers objects with a
SHRLEVEL of S. For all other load types, LOADPLUS registers objects with a SHRLEVEL of X.
BMCHIST table
Table 99 describes the BMCHIST table, which contains information about completed
executions of the BMC Software utilities for DB2. LOADPLUS and other BMC
Software utility products for DB2 share this table.
LOADPLUS inserts a row into the BMCHIST table during the UTILTERM phase.
Table 99
Column name
Data type
Description
DBNAME
CHAR(8)
SPNAME
CHAR(8)
UTILNAME
CHAR(8)
UTILID
CHAR(16)
utility identifier
AUTHID
CHAR(8)
DATE
DATE
TIME
TIME
ELAPSED
TIME
PARTITION
LONG VARCHAR
OBJNAME
VARCHAR(27)
Appendix B
LOADPLUS database
557
BMCDICT table
Table 99
Column name
Data type
Description
PHASE_1
CHAR(8)
ELAPSED_1
TIME
PHASE_2
CHAR(8)
ELAPSED_2
TIME
PHASE_3
CHAR(8)
ELAPSED_3
TIME
PHASE_4
CHAR(8)
ELAPSED_4
TIME
PHASE_5
CHAR(8)
ELAPSED_5
TIME
The following SQL statement shows how to access (from the BMCHIST table) the
database name, the table space name, the elapsed time of the utility, and the time in
which the utility completed. You can use the format of this example to write other
SQL statements for accessing the table. Note that the name of the BMCHIST table
might have been changed at your site during installation.
SELECT DBNAME,SPNAME,CHAR(ELAPSED,ISO),CHAR(TIME,ISO)
FROM creator.CMN_BMCHIST WHERE
UTILID='utilid';
BMCDICT table
Table 100 on page 559 describes the BMCDICT table, which stores the compression
dictionary during load processing. REORG PLUS also uses this table.
NOTE
If you have applications that depend on the structure or content of this table, be aware that
this table is subject to change.
LOADPLUS inserts rows into the BMCDICT table during the PRELOAD phase and
deletes those rows following compression processing in the LOAD phase.
558
Maintenance
NOTE
If you are processing a large number of compressed partitions, you might need to increase the
size of the BMCDICT table space significantly from the standard size that was allocated
during installation. Estimate the allocation for this table space by multiplying by 64 KB the
number of compressed partitions that you are processing concurrently (loading with
LOADPLUS and reorganizing with REORG PLUS).
Data type
Description
UTILID
CHAR(16)
utility identifier
DBNAME
CHAR(8)
database name
TSNAME
CHAR(8)
PARTITION
SMALLINT
SEQNO
SMALLINT
sequence number
DICTDATA
VARCHAR(4000)
dictionary data
Maintenance
In general, the utility tables should not require maintenance, with the exception of
BMCHIST. However, this section describes how to maintain the utility tables if
needed.
Appendix B
LOADPLUS database
559
Maintaining BMCHIST
Maintaining BMCHIST
When LOADPLUS completes successfully, a row is inserted into the BMCHIST table.
Periodically, you should review BMCHIST and delete old rows to control its
expansion.
The following SQL statement shows how to delete selected rows from the BMCHIST
table based on the date that the utility completed. You can use this sample format to
write your own SQL statements to delete BMCHIST rows. Note that the name of the
BMCHIST table might have been changed at your site during installation.
DELETE
FROM creator.CMN_BMCHIST WHERE
DATE < 'yyyy-mm-dd';
Use the TERM restart parameter on the EXEC statement to remove rows from both
the BMCUTIL and BMCSYNC tables. Ensure that you do not delete any rows for
instances of utilities that are awaiting restart. For more information about the
TERM parameter, see TERM on page 289.
Individually delete any rows in the BMCUTIL table that you know are no longer
valid. Ensure that you do not delete any rows for instances of utilities that are
awaiting restart.
Then use the following SQL statement to delete rows from the BMCSYNC table.
Note that the names of the BMCUTIL and BMCSYNC tables might have been
changed at your site during installation.
DELETE
FROM creator.CMN_BMCSYNC WHERE
UTILID NOT IN (SELECT UTILID FROM creator.CMN_BMCUTIL);
560
Maintaining BMCDICT
Maintaining BMCDICT
On those rare occasions when LOADPLUS or REORG PLUS abends during the time
between building the compression dictionary and completing the compression
process, rows might remain in the BMCDICT table. If you need to control the
expansion of this table, use the following procedure:
1 Individually delete any rows in the BMCUTIL table that you know are no longer
valid. Ensure that you do not delete any rows for instances of utilities that are
awaiting restart.
2 Use the following SQL statement to delete rows from the BMCDICT table. Note
that the names of the BMCUTIL and BMCDICT tables might have been changed at
your site during installation.
DELETE
FROM creator.CMN_BMCDICT WHERE
UTILID NOT IN (SELECT UTILID FROM creator.CMN_BMCUTIL);
Appendix B
LOADPLUS database
561
Maintaining BMCDICT
562
Appendix
563
563
564
564
565
566
566
567
567
568
568
569
569
691
Chicago-Soft MVS/QuickRef
If your site has installed MVS/QuickRef from Chicago-Soft, you can use it to view
messages for this product and other BMC Software products.
Appendix C
563
NOTE
If the BMCMSG CLIST was not copied from the HLQ.INSTALL library (where HLQ is the
high-level qualifier specified during installation) to a library in the SYSPROC concatenation
when LOADPLUS was installed, BMC Software recommends that you do so.
NOTE
You cannot use the online message processor to access information about BMCSORT
messages.
564
Return codes
Return codes
Table 101 describes the return codes that indicate the completion status of
LOADPLUS. LOADPLUS also provides options that you can use to specify a userdefined return code for specific situations. For more information about these options,
see RETCODE on page 158 and the additional return code options that begin on
page 169.
Table 101 LOADPLUS return codes
Return code
Description
With the following exceptions, LOADPLUS executed successfully with no warnings or errors.
Note: LOADPLUS issues an error message (E) but ends with a return code 0 under each of the
following circumstances:
s
s
LOADPLUS executed successfully but warnings were issued, or the LOADPLUS job paused.
The following list describes some of the reasons that LOADPLUS generates a return code 4:
s
s
s
LOADPLUS execution failed. Return code 8 can indicate one of several types of errors that are
usually identified by a message with a severity code E. The following errors are examples of
the type of error that can cause a failure with return code 8:
s
s
s
s
s
12
LOADPLUS execution failed because it received an error from the system or DB2. These errors
include DB2 call attachment facility (CAF) errors, unexpected nonzero SQL codes, and data set
open errors.
16
LOADPLUS execution failed. A return code 16 usually indicates one of the following errors:
s
other
an error loading one of the utilitys modules (for example, when the utility is installed
incorrectly)
missing verification records when FORMAT BMCUNLOAD is specified
LOADPLUS execution stopped, and you used a command option to override the default
return code.
Appendix C
565
Description
1 (X'01')
See accompanying messages. LOADPLUS displays this reason code when you encounter one
of the following errors:
s
Note: If you receive this user abend secondary to a D37 abend, you can correct the out-ofspace condition and restart or resubmit the job.
3 (X'03')
LOADPLUS reached an end-of-file indication before the last segment of a spanned record.
You might have used an incorrect file to restart LOADPLUS. If this is not the case, contact
BMC Software Customer Support.
4 (X'04')
No sequential I/O buffers are available. Ensure that the LOADPLUS installation options
specify the appropriate amount of buffer space for your data sets. If you specified the
appropriate amount, contact BMC Software Customer Support.
5 (X'05')
LOADPLUS encountered an unexpected error condition. This reason code usually indicates an
error or mismatch in the table structure, data, or EDITPROC. Message BMC50498U or
BMC50499U usually accompanies this abend. Verify your table structure and data. For further
assistance, contact BMC Software Customer Support.
7 (X'07')
The number of sort work data sets available is fewer than the minimum required for this load
job. To avoid this abend, specify a value for the SORTNUM option that is greater than 1.
8 (X'08')
LOADPLUS encountered an unexpected error condition while trying to set or reset a DB2
pending status, such as COPY pending (COPY), CHECK pending (CHKP), or RECOVER
pending (RECP). Message BMC50498U usually accompanies this abend. Check the system log
and DB2MSTR address space for additional error messages that might help determine the
cause of the problem. Restart the utility and allow it to complete. For further assistance,
contact BMC Software Customer Support.
16 (X'10')
566
Description
100 (X'64')
other
NOTE
If you receive one of the following reason codes, user abend 3900 might be secondary to an
x37 abend, indicating an out-of-space condition:
s
s
s
s
352 (X'160')
464 (X'1D0')
532 (X'214')
536 (X'218')
If you receive a user abend 3900 that is secondary to an x37 abend, correct the out-of-space
condition and restart or resubmit the job.
Appendix C
567
NOTE
BMCSORT message numbers (numbers with the prefix WER) also end with a letter that
indicates the severity and type of error; however, these codes differ from the standard BMC
Software severity codes. See the BMCSORT Reference Manual for information about these
messages.
Meaning
Description
Informational
Warning
Error
Severe
Unrecoverable
568
Message groups
Message groups
The remainder of this appendix lists and briefly explains each message that you can
receive from LOADPLUS. The messages are listed in numeric order and are divided
into the following groups:
s
s
NOTE
For information about BMCSORT messages (messages with a WER prefix), see the BMCSORT
Reference Manual.
The explanation and user response information that is given for a LOADPLUS
message applies only to the LOADPLUS product. In contrast, the explanation and
user response information that is provided for a common utility message can also
apply to any one or more of the following BMC Software products:
s
s
s
s
NOTE
Error messages in the BMC89000 series are issued by the Product Authorization utility only
during installation. If you receive a message in this series, you can find an explanation for it in
the Utility Products for DB2 Installation Guide.
Explanation: The utility started running at the indicated date and time.
User response: No action is required.
Appendix C
569
BMC50002I
Explanation: This message confirms the utility ID, DB2 subsystem ID, and
installation options module that you specified. If you specified a group
attachment name in your EXEC statement parameters, that name is the DB2
subsystem ID. For details about specifying these parameters with your EXEC
statement, see Chapter 4 of the reference manual for the utility that you are
using.
User response: No action is required.
BMC50003I
Explanation: The utility that the command indicates is restarting at the indicated
phase.
User response: No action is required.
BMC50004I
Explanation: The indicated phase completed in the elapsed time that this
message displays.
User response: No action is required.
BMC50005I
Explanation: The utility execution completed. A return code that is greater than
zero indicates a warning or a problem. For additional information about return
codes, see the reference manual for the utility that you are running.
User response: If the return code is not zero, check the preceding messages to
determine the problem. Otherwise, no action is required.
BMC50007I
Explanation: This message indicates how long the objects were in STOP status
for a SHRLEVEL CHANGE job. The objects are reset to their original status.
User response: No action is required.
570
BMC50008I
wtomsg_text
Explanation: The utility writes the user-defined text of this message to the MVS
system log to indicate that the snapshot initialization process completed
successfully.
User response: No action is required.
BMC50009S
Explanation: You attempted to restart the utility but, due to a previously issued
warning or error, the job cannot be restarted.
User response: Check preceding warning or error messages or the job log to
determine the problem. If you understand the problem, correct it and resubmit
the job with the NEW restart parameter. Otherwise, you must recover the table
space and any associated indexes and then resubmit the job. For additional
information associated with restarting your job, see Chapter 4 of the reference
manual for the utility that you are running.
BMC50011E
Appendix C
571
If you want to terminate the utility, use the TERM keyword for the restart utility
parameter. For additional information about using this keyword, see the
reference manual for the utility that you are executing.
BMC50013I
Explanation: The execution of the utility ended with an error. For additional
information about the return code, see the reference manual for the utility that
you are running.
User response: Check preceding messages to determine the problem. Correct the
problem and restart the utility.
BMC50014U
Explanation: The execution of the utility ended abnormally. The system abend
code and reason code can help determine the reason for the abend.
User response: Check preceding messages or the job log to determine the
problem. If you understand the problem (for example, your job was canceled
because of insufficient time), correct the problem and restart the utility.
Otherwise, contact BMC Software Customer Support.
BMC50015U
Explanation: The execution of the utility ended abnormally. The user abend code
and reason code can help determine the reason for the abend. For information
about these codes, see the reference manual for the utility that you are running.
User response: Check preceding messages or the job log to determine the
problem. If you understand the problem (for example, an SQL timeout), correct
the problem and restart the utility. Otherwise, contact BMC Software Customer
Support.
BMC50016E
Explanation: You specified the RESTART parameter. Either the utility ID that
you specified as the UTILID parameter cannot be found in the BMCUTIL or
BMCSYNC table, or the utility ID belongs to another utility.
User response: Ensure that you specified the correct utility ID and restart your
job.
BMC50016I
Explanation: You specified the TERM parameter. Either the utility ID that you
specified as the UTILID parameter cannot be found in the BMCUTIL or
BMCSYNC table, or the utility ID belongs to another utility.
User response: Ensure that you specified the correct utility ID and restart your
job.
572
BMC50017E
Explanation: The utility was restarted with a command that is different from the
command that was used for the original execution of the utility.
User response: Submit the job with the correct command to restart the utility.
BMC50018I
Explanation: The row for this utility ID was deleted from the BMCUTIL table.
This action canceled the utility.
User response: For UNLOAD PLUS users, the DB2 table or table space that the
utility was unloading was not affected. No action is required in this case.
For all other utilities, see the associated reference manual for information about
making the DB2 object usable after terminating or canceling the utility.
BMC50019I
Explanation: You specified the ON FAILURE phase TERMINATE option and the
utility is terminating abnormally. The utility starts all spaces (when
appropriate), and removes the utility ID from the BMCUTIL table.
User response: No action is required.
BMC50020I
Explanation: The parameter on the utility EXEC statement is longer than the
maximum number of allowed characters.
User response: Correct the parameter and resubmit the utility job.
BMC50022I
Explanation: Because you did not specify the indicated parameter on the EXEC
statement, the utility is using the default value. For more information about
EXEC statement parameters, see the reference manual for the utility that you are
running.
User response: No action is required. See also message BMC50002I.
BMC50023E
Appendix C
573
BMC50024I
Explanation: You attempted to run the utility on a system that is not running in
z/Architecture mode, which this version of the utility requires. The utility
terminates processing. This message is displayed on the console only.
User response: Upgrade your system or use an earlier version of the utility that
does not require z/Architecture mode.
BMC50027S
Explanation: You attempted to run the utility on a system that is not running in
64-bit mode, which this version of the utility requires. The utility terminates
processing. This message is displayed on the console only.
User response: Upgrade your system or use an earlier version of the utility that
does not require 64-bit mode.
BMC50031I
Explanation: This message is displayed during the last 30 days before the license
expiration date that was set when the tape was created. The period_type is either
GRACE or TRIAL.
User response: Contact a BMC Software sales representative for assistance.
BMC50032E
574
BMC50033E/W
Explanation: You specified a command for a utility that is not activated on your
system.
User response: Contact a BMC Software sales representative for assistance.
BMC50035E
Explanation: The utility found an inconsistency, most likely due to the CPU ID,
during the security check. The utility terminates processing.
User response: Contact BMC Software Customer Support for assistance.
BMC50036E
Explanation: The utility cannot establish the RACF environment that it needs.
The utility terminates processing.
User response: Contact BMC Software Customer Support for assistance.
Appendix C
575
BMC50038E
THIS RELEASE OF utility DOES NOT SUPPORT RELEASES OF DB2 PRIOR TO Vvr
Explanation: You ran the utility against a version of DB2 that this release does
not support. The utility terminates processing.
User response: To determine the supported versions of DB2 for this version of
the utility, see the documentation for the utility.
BMC50039E
THIS RELEASE OF utility DOES NOT SUPPORT RELEASES OF DB2 AFTER Vvr
Explanation: You ran the utility against a version of DB2 that this release does
not support.
User response: To determine the supported versions of DB2 for this version of
the utility, see the documentation for the utility.
BMC50051E
Explanation: A DB2 system table, table space, or index was specified in the
command statement. This utility cannot operate on a DB2 system object.
User response: Change the command option to specify a supported object.
Otherwise, no action is required.
BMC50052E
Explanation: You need sufficient authorization to run the utility on the database
that this message shows. Message BMC50053E, BMC50054E, or both might
accompany this message.
User response: For information about the authorization that you need, see the
reference manual for the utility that you are running.
BMC50053E
Explanation: You and all of your secondary authorization IDs need the indicated
privilege to run the utility on the table shown in this message.
User response: For information about the privileges that you need, see the
reference manual for the utility that you are running.
BMC50054E
USER DOES NOT HAVE LOAD PRIVILEGE ON TABLE 'creator.table' FOR LOAD
REPLACE OF TABLESPACE 'database.tablespace'
576
BMC50101E/W
command
Explanation: This message echoes the command statement input lines that the
utility read from SYSIN or the ALTER statements that the utility read from a
DDLIN data set.
User response: No action is required.
BMC50103E/W
Explanation: The specified DDLIN data set is empty. The utility ignores the data
set and continues processing the job.
User response: Add to the DDLIN data set the statements that you want the
utility to process and resubmit the job.
BMC50105E/W
Explanation: The specified parameter value is not valid for this option. For
example, the utility issues this message when you specify an object name that is
longer than the maximum length that the utility supports.
Appendix C
577
User response: If the message severity code is E (error), correct the error and
resubmit the job. If the message severity code is W (warning), see any additional
associated messages for the correct response.
BMC50106E
Explanation: An option was specified with a value that the utility does not use.
However, the parameter is allowed for compatibility purposes.
User response: No action is required.
BMC50109I
Explanation: Two options were specified (option1 and option2), but the utility can
accept only one option. The utility ignores the second option and continues
processing.
User response: No action is required.
BMC50110E
Explanation: The utility expected the indicated option. You must specify this
option at least once in the command statement.
User response: Specify the option and resubmit the job.
578
BMC50113E
Explanation: An option was changed before restarting the job, but you are not
allowed to change this option when restarting the phase shown in this message.
For additional information, see Chapter 4 of the reference manual for the utility
that you are running.
User response: Change the option back to its original value and restart the job.
BMC50114I
Explanation: An option was specified that the utility no longer supports. For
information about options that the utility currently supports, see the associated
reference manual.
The utility ignores the option and continues processing.
User response: No action is required.
BMC50115E
Explanation: The option option1 was specified, which the utility ignored and
replaced with option2. The utility continues processing.
User response: No action is required.
BMC50117E/W
Explanation: The utility found two or more identical ddnames that you specified
in the default name override command options (for example, LOADDN or
ERRDDN).
User response: Ensure that each ddname that you specified in the command or
installation options is unique and that your JCL contains a matching ddname.
Appendix C
579
BMC50119E
Explanation: The option option1 was specified, which requires requirement. For
information about the options requirements, see the reference manual for the
utility that you are running.
User response: Correct your command statement and resubmit the job.
BMC50120E
Explanation: Before restarting the job, the value of the option shown in this
message was changed. You cannot change this particular option before
restarting this phase with the RESTART parameter.
User response: If the change to the option is required, use RESTART(PHASE) to
restart your job. Otherwise, revert to the original value of the option and restart
the job.
BMC50121E
Explanation: The column that was specified in the comparison is longer than the
maximum length that your version of DB2 allows. The utility does not support
this type of comparison.
User response: If you specified the wrong column, correct the column and
resubmit the job.
BMC50121W
Explanation: The column that was specified in the comparison is longer than the
maximum length that your version of DB2 allows.
User response: For the correct response, see any additional associated messages.
BMC50122E/W
Explanation: The data type of the constant that was specified is not compatible
with the data type of the column, or you specified NULL for a column that is
defined as NOT NULL.
User response: See the description of the option in the reference manual for the
utility that you are running. If the message severity code is E (error), correct the
constant and resubmit the job. If the message severity code is W (warning), see
any additional associated messages for the correct response.
BMC50123E/W
Explanation: The constant that was specified is not valid for the data type of the
indicated column. For example, the value is too small or too large, or the length
is too long.
580
User response: If the message severity code is E (error), correct the constant and
resubmit the job. For additional information, see the reference manual for the
utility that you are running.
If the message severity code is W (warning), see any additional associated
messages for the correct response.
BMC50124E/W
Explanation: The value of the option that was specified is incorrect. For example,
the end position in POSITION(start:end) must be greater than or equal to the
start position. Also, the length derived from (start:end) must match the explicit
or implicit length of the input data type.
User response: See the description of the option in the reference manual for the
utility that you are running. If the message severity code is E (error), correct the
option value and resubmit the job.
If the message severity code is W (warning), see any additional associated
messages for the correct response.
BMC50125E/W
Explanation: The utility cannot use the type of column that was specified with
the option. For information about the column types that are allowed with this
option, see the reference manual for the utility that you are running.
User response: If the message severity code is E (error), choose a different
column, if possible, and resubmit the job. If the message severity code is W
(warning), see any additional associated messages for the correct response.
BMC50127E
Explanation: With the FORMAT CSV option, the same character was specified
for the field delimiter (the TERMINATEDBY option) as was specified for one or
both of the characters that enclose the data (the ENCLOSEDBY and AND
options).
User response: Change the specifications in your utility command to ensure that
your TERMINATEDBY value is different from both your ENCLOSEDBY and
AND values. Then, ensure that your input file is compatible with the
specification in your utility command. Resubmit the job.
BMC50128E
581
User response: Ensure that the indicated string is the correct length for its type,
and ensure that you punctuated the input statement correctly. Resubmit the job.
BMC50129E
BMC50130E
Ensure that the DDL includes opening and closing apostrophes or opening
and closing quotation marks that match.
On a MIXED=YES system, ensure that a shift-out (X'0E') character is paired
with a shift-in (X'0F') character in the first of a subsequent double-byte pair.
(An X'0F' character in the second of a double-byte pair is not considered a
shift-in character.)
Explanation: A range of values was specified in which the start value is greater
than the end value. This specification is invalid. The type provides additional
information about the type of range that you specified. For example, a type of
PARTITION indicates that the PART specification of your command statement
is invalid.
User response: Specify a range in which the end value is greater than or equal to
the start value and resubmit the job.
BMC50131E
582
BMC50132E
Explanation: Before restarting the job, the value of the option shown in this
message was changed. This particular option cannot change before you restart
this phase. The ddtype identifies the specification of the option that you need to
revise.
User response: Revert to the original value of the option and restart the job.
BMC50136I
Appendix C
583
BMC50137E
Explanation: The values that were specified with the CENTURY option on the
command or as part of the field specification are invalid. The first value is larger
than the second value, the two values do not span 100 years, or at least one of
the values specified is in an invalid format. The utility terminates processing.
User response: Correct the values for the CENTURY option and resubmit the job.
BMC50138I
Explanation: The utility no longer supports option1. The utility uses option2 and
continues processing.
User response: No action is required.
BMC50140I
Explanation: The utility ignores the option for the indicated reason and
continues processing. For example, REORG PLUS ignores the ANALYZE
BMCSTATS option if you do not have the SmartDBA Database Performance
for DB2 solution installed.
User response: No action is required.
BMC50142E
584
BMC50144E
Explanation: The physical number of data sets that the utility created for the
primary output descriptor does not match the physical number of data sets that
the utility created for the secondary output descriptor. The utility terminates
processing.
User response: Correct your OUTPUT statement and resubmit the job.
BMC50145E
Explanation: The utility determined that the specified output descriptor name is
not defined.
User response: Use an appropriate DD statement in the JCL. If you want to use
customized data set names instead of the current default names for the output
descriptors, use the data set name option to change them.
BMC50146E
Explanation: The utility found a symbolic variable that it does not support in the
output descriptor. The utility terminates processing.
To obtain information about using symbolic variables to construct a valid data
set name, see the reference manual for the utility that you are running.
User response: Correct the data set name value in the OUTPUT statement and
resubmit the job.
BMC50147E
Explanation: The data set name that was constructed for the specified output
descriptor exceeds the maximum number of bytes that the utility allows. The
utility terminates processing.
If you used symbolic variables, the variables resolved to a data set name that is
too long. For detailed information about using symbolic variables to construct a
data set name for an output descriptor, see the reference manual for the utility
that you are running.
User response: Specify a shorter data set name in the command. Resubmit or
restart the job.
BMC50148E
Explanation: When the utility resolved the data set names of two different
output descriptors, the names were identical. The utility terminates processing.
The real value of each data set name must be unique for different data set types.
User response: Change the data set name of one of the output descriptors so that
when the utility resolves them, each data set name is unique. Resubmit the job.
Appendix C
585
BMC50149E
Explanation: The utility found a data set name in one output descriptor that is
already cataloged. The utility terminates processing.
User response: Change the name of one of the data sets and resubmit the job.
BMC50153E
Explanation: The utility determined that the data set name that was provided in
the output descriptor is not valid. The utility terminates processing.
User response: Ensure that the name meets operating system requirements. For
information about using symbolic variables to construct the data set name, see
the reference manual for the utility that you are running.
BMC50154E
Explanation: A device type (disk or tape) was specified that the utility does not
support for dynamic allocation. The utility terminates processing.
User response: Correct the syntax and resubmit the job.
BMC50155E
Explanation: The number of volumes that the utility processed for the
dynamically allocated data set exceeded the number of volumes that was
specified for the integer in the VOLCNT option. The value for VOLCNT must be
large enough to accommodate the number of volumes that the utility produces
for the single largest data set.
User response: Increase the VOLCNT value and resubmit the job.
BMC50156E
Explanation: An SMS error occurred when the utility attempted to retrieve SMS
values from the SMS subsystem. This message shows the return code number
and the SMS reason code.
586
User response: The SMS return and reason codes are described in the IBM
DFSMS documentation. Use the SMS return code and the reason code shown in
this message to determine and fix the cause of the problem. Resubmit the job.
BMC50157I
Explanation: The utility determined that SMS will manage the data set that will
be dynamically allocated. Message BMC50158I follows this message.
User response: No action is required.
BMC50158I
Explanation: The utility determined that SMS will manage the data set that will
be dynamically allocated. This message lists the SMS classes that the system
Automatic Class Selection (ACS) routines supplied.
User response: No action is required.
BMC50159I
Explanation: This message shows the name of the SMS storage group that the
utility is processing.
User response: No action is required.
BMC50164W
Explanation: The utility determined that none of the storage groups that the
system returned contain sufficient space for the file that the previous message
(BMC50157I) shows. The utility will base its space calculations on the first
eligible storage group.
User response: No action is required.
BMC50165I
Explanation: The utility used the space available in storage group stogroup to
calculate the number of primary and secondary records and the number of units
that are required for the data set.
User response: No action is required.
Appendix C
587
BMC50166W
Explanation: The utility calculated that it needs the indicated number of units
(number_required) to accommodate the data set for SMS dynamic allocation.
However, either UNITCNT=number_specified was specified or volume serial
numbers were specified, limiting the number of units that the utility can use.
The utility proceeds with allocation and issues message BMC50165I.
User response: No action is required.
BMC50167E
Explanation: The utility calculated that it needs size_required megabytes for the
primary extent for the PCTPRIM parameter, but the largest available extent is
only size_available megabytes. The utility job terminates.
When you are running UNLOAD PLUS and the unload data set record length is
greater than half a track, the value that this message shows for the required
amount of space does not include unused space in a track.
User response: Either reduce the PCTPRIM value or remove the option, and
resubmit the job.
BMC50170E
Explanation: After collecting all information for the storage group, the utility
determined that none of the storage groups that the Automatic Class Selection
(ACS) routines returned have any usable space.
User response: Consult the SMS or DASD administrator at your site.
BMC50171E
Explanation: The utility determined that the space that it requires for a data set
exceeds 2 terabytes. The utility job terminates.
User response: Move the data set to tape and resubmit the job.
588
BMC50191W
Explanation: The utility cannot parse the table check constraint. The text of the
table check constraint immediately follows this message. The utility might have
encountered conditions that it does not allow when parsing table check
constraints. An @ sign is displayed under the symbol that caused the parsing
error. Processing continues as though you had specified ENFORCE NO, and the
utility sets CHECK pending (CHKP).
Depending on the utility that you are running, the following conditions might
be invalid:
s
s
s
floating-point constants
VARCHAR columns exceeding a length of 255 bytes
VARGRAPHIC or GRAPHIC data used with a LIKE predicate
User response: If you received this message when running CHECK PLUS, run
the IBM CHECK DATA utility to remove the CHKP status. If you received this
message when running any other utility, run the CHECK PLUS or the IBM
CHECK DATA utility to remove the CHKP status. Resubmit the job, if required.
BMC50192W
Explanation: Two columns have table check constraints defined but their
column definitions are not identical. Processing continues as if you had
specified ENFORCE NO, and the utility sets CHECK pending (CHKP).
User response: Run the CHECK PLUS or the IBM CHECK DATA utility to
remove the CHKP status. Resubmit the job, if required.
Appendix C
589
BMC50201S/W
If you receive the severe (S) version of this message, the utility terminates
processing.
For BMCDSN users, if you receive this message with RC=4,
REASON=X'00C10823' and receive the explanation 'RELEASE LEVEL
MISMATCH BETWEEN DB2 AND THE CAF CODE', this message is only a
warning, and processing continues.
User response: If you receive the severe (S) version of this message, check the
IBM DB2 messages and codes documentation for an explanation of the indicated
reason code. Correct the problem and resubmit or restart the job.
BMC50202S
Explanation: The DB2 subsystem is not currently active. For more information,
see message BMC50201S.
User response: Resubmit the job when the DB2 subsystem becomes active.
BMC50203S
Explanation: The utility cannot connect to the DB2 subsystem. For CHECK
PLUS, LOADPLUS, and UNLOAD PLUS, the message text provides additional
information about the connection problem. For REORG PLUS and BMCDSN,
see message BMC50201S for additional information.
User response: Correct the problem and resubmit the job.
BMC50204S
Explanation: The utility cannot open the plan. The following list describes some
of the reasons that you might receive this message:
s
s
s
590
DSNTIAR_message
message_text
Appendix C
591
BMC50210E
Explanation: This version of the utility does not support the column type for this
column. The utility terminates processing.
User response: If the wrong column was specified, correct the column and
resubmit the job.
BMC50211E
Explanation: The object that was specified does not exist. The utility terminates
processing.
The utility displays this message for one of several reasons. The most likely
reason is that the object that was specified on the utility command does not
exist. However, you might also receive this message if one of the utilitys
synonyms was renamed, or if the BMC Software common utility tables were not
installed correctly.
User response: Ensure that the object is spelled correctly on the utility command
and that the correct DB2 subsystem ID was specified. Otherwise, correct the
problem based on the information in the explanation for this message. Resubmit
the job.
BMC50212E
Explanation: The PART command option was specified, but the table space or
index that was specified is not partitioned. The utility terminates processing.
User response: Ensure that the correct table space or index and the correct DB2
subsystem ID are specified. Resubmit the job.
BMC50213E
Explanation: The PART command option with the indicated partition number
was specified, but the table space or index that was specified does not have this
partition. The utility terminates processing.
User response: Ensure that the correct table space or index, correct partition
numbers, and DB2 subsystem ID are specified. Resubmit the job.
BMC50214E
Explanation: A partitioned table space was specified that either does not have a
table defined or does not have a clustering index defined. The utility terminates
processing.
User response: Define the table or clustering index and resubmit the job.
592
BMC50215E
TABLE 'creator.table' HAS A PRIMARY KEY, BUT NO UNIQUE INDEX HAS BEEN
CREATED FOR THE PRIMARY KEY
Explanation: A table that has a primary key defined was specified, but no
unique index exists for the primary key. The utility terminates processing.
User response: Ensure that the correct unique index for the primary key is
created and resubmit the job.
BMC50216E
Explanation: The utility cannot perform the action on the requested tables
because they do not reside in the same table space. The utility terminates
processing.
User response: Ensure that the correct table names are specified and that they are
in the same table space. Resubmit the job.
BMC50217E
Explanation: The indicated table space does not contain the table that was
specified in the SELECT, DELETE, or UPDATE option. The utility terminates
processing.
User response: Ensure that the correct table or table space names are specified
and resubmit the job.
BMC50218E/W
Explanation: If you received the error (E) version of this message, the indicated
table does not contain the column that was specified in the command and the
utility terminates processing.
If you received the warning (W) version of this message, a check constraint on
the indicated table specifies a column that the table does not contain. The utility
continues processing, but does not process any check constraints.
User response: If the message severity code is E (error), ensure that the correct
column or table was specified. Then, resubmit the job.
If the message severity code is W (warning), see any additional associated
messages for the correct response.
BMC50219E
TABLE 'creator.table' HAS ONE OR MORE UNIQUE CONSTRAINTS, BUT NOT ALL
UNIQUE INDEXES HAVE BEEN CREATED
Explanation: The table has one or more unique constraints, but not all of the
required unique indexes exist. The utility terminates processing.
User response: Create unique indexes for all unique constraints and resubmit the
job.
Appendix C
593
BMC50220E
Explanation: The utility detected that DB2 internal identifiers have changed
since the initial execution of the utility. The utility is unable to proceed.
User response: Terminate the utility and take any other actions to make the
affected DB2 objects usable. To determine whether the objects are usable, see the
reference manual for the utility that you are running.
BMC50222E
594
BMC50228E
Explanation: The utility attempted to unload from an alias that defines an object
on a foreign DB2 subsystem. UNLOAD PLUS can process only local objects and,
therefore, terminates processing.
User response: Change the UNLOAD command and restart the job.
BMC50229E
Explanation
User response: Use a view that does not violate the restrictions indicated by the
reason codes, or unload the data directly from the table that the view references.
BMC50230E
Explanation: The utility attempted to run on a table space that is defined with
the indicated type, which the utility does not support. The utility terminates
processing.
User response: If the wrong table space was specified, correct the command and
resubmit the job.
BMC50231S
Explanation: The utility attempted to load the EDITPROC but could not find it,
or the utility did not have enough memory to load the EDITPROC. The utility
terminates processing.
User response: Ensure that the module is available in your LINKLIST, JOBLIB,
or STEPLIB. The module is usually found in the load library db2.DSNEXIT.
Ensure that you specified a large enough region size. Correct the problem and
resubmit the job.
Appendix C
595
BMC50232S
Explanation: The utility attempted to load the validation routine but could not
find it, or the utility did not have enough memory to load the VALIDPROC. The
utility terminates processing.
User response: Ensure that the module is available in your LINKLIST, JOBLIB, or
STEPLIB. The module is usually found in the load library db2.DSNEXIT. Ensure
that you specified a large enough region size. Correct the problem and resubmit
the job.
BMC50233S
Explanation: The utility attempted to load the FIELDPROC but could not find it,
or the utility did not have enough memory to load the FIELDPROC. The utility
terminates processing.
User response: Ensure that the module is available in your LINKLIST, JOBLIB,
or STEPLIB. The module is usually found in the load library db2.DSNEXIT.
Ensure that you specified a large enough region size. Correct the problem and
resubmit the job.
BMC50234S
Explanation: The utility attempted to load the indicated routine but could not
find it, or the utility did not have enough memory to load the routine. The utility
terminates processing.
User response: Ensure that the module is available in your LINKLIST, JOBLIB,
or STEPLIB. The module is usually found in the load library db2.DSNEXIT.
Ensure that you specified a large enough region size. Correct the problem and
resubmit the job.
BMC50235E
596
BMC50237E
Explanation: The routine returned a nonzero return code. The utility terminates
processing.
User response: Contact the author of the routine to correct the problem. (The
date/time routine is not part of the utility product.) Resubmit the job if
appropriate.
BMC50239E
Explanation: The utility attempted to load the DB2 security exit but could not
find it, or memory was insufficient to load the exit. The utility should find this
exit even if the utility is not actively using the exit for DB2 security
authorization. However, the utility continues processing.
User response: Ensure that the module is available in your LINKLIST, JOBLIB, or
STEPLIB. The module is usually found in the load library db2.DSNEXIT. Ensure
that you specified a large enough region size. Correct the problem and resubmit
the job.
Appendix C
597
BMC50244I
Explanation: The utility is processing an object that might contain table rows
that are not at the current version. This message provides diagnostic
information for message BMC50246S.
User response: No action is required.
BMC50245I
Explanation: The utility is processing an object that might contain table rows
that are not at the current version. This message provides diagnostic
information for message BMC50246S.
User response: No action is required.
BMC50246S
Explanation: The utility was unable to process the row. This error usually occurs
for one of the following reasons:
s
s
The utility expected the row to be at the current version of the table.
The utility was unable to convert the rows version to the current version of
the table.
Explanation: While attempting to read a data page from the indicated data set in
a nonsegmented table space, the utility encountered a page (n) numbered zero.
The task number identifies the task that is associated with the error.
User response: No action is required. The utility continues normal execution.
598
BMC50249E
Explanation: The utility found that the PGCOMB field is inconsistent with the
page trailer byte for the specified page, indicating that the page might not have
been successfully written. The indicated page number is the physical page for
which the inconsistency occurred.
User response: Recover the table space and resubmit your job.
BMC50250S
THE HEADER PAGE INDICATES THE TABLESPACE IS type BUT THE CATALOG
SAYS IT IS NOT
Explanation: The header page type indicator for the table space does not match
the type that is specified in the DB2 catalog. The value of type can be one of the
following table space types:
s
s
s
PARTITIONED
SEGMENTED
SIMPLE
User response: Verify the table space type that was specified when the table
space was created. This error usually occurs when DSN1COPY was used to
copy data into a table space that is not defined in the same way as the table
space from which the data was copied.
BMC50251S
Explanation: The utility encountered a page (n) that it did not expect. This
problem might be due to an inline or incremental copy issue. The task number
identifies the task that is associated with the error. The data that this message
displays is nine bytes long, starting at offset X'08' in the page. The page number
includes settings of high-order bits for individual partitions in a partitioned
table space.
User response: For utilities that support this syntax, specify the INFILE ddname
FULL INLINE YES option for inline copies or the INFILE ddname
INCREMENTAL option of incremental copies, and resubmit the job. Otherwise,
if you have determined that the DB2 data set does not contain any errors,
contact BMC Software Customer Support.
BMC50252S
Explanation: The utility encountered a page that is marked broken. The task
number identifies the task that is associated with the error.
User response: Recover the table space and resubmit the job.
BMC50253S/I
task_no: DBID 'dbid' AND/OR PSID 'psid' DO NOT MATCH THOSE FOUND IN
DATASET 'dsname'
Explanation: The database identifier (DBID) and the page set identifier (PSID)
do not match the identifiers in the indicated data set. The task number identifies
the task that is associated with the error.
Appendix C
599
User response: If you use DSN1COPY, ensure that the data set was recovered
correctly and that the DBID and the object IDs were not changed. For REORG
PLUS and UNLOAD PLUS users, if you receive this message and want to restart
the job without making any changes, specify the ON MESSAGE option for this
message and restart the job.
For REORG PLUS users, REORG PLUS resets the DBIDs and PSIDs to match the
identifiers that are in the catalog.
BMC50254S
Explanation: The data set does not contain a DB2 index. The task number
identifies the task that is associated with the error.
User response: If you use DSN1COPY, ensure that the data set was recovered
correctly. If you understand the problem, correct it and restart the job. For more
help, contact BMC Software Customer Support.
BMC50256S
600
BMC50258E
BMC50259E
KEY = X'key'
Explanation: When you restarted the utility, it determined that the space was not
started ACCESS(RO) when it should have been.
User response: If you are sure that no changes have been made to the space or
associated objects (such as dropping or creating an index or updating via SQL),
you can start the space ACCESS(RO) and restart the job. If you are not sure
whether changes have been made, terminate the utility and start again. If you
terminate the utility, you might have to recover the table space and any
associated indexes first and then resubmit the job. For specific information
about restarting the job, see the reference manual for the utility that you are
running.
BMC50261E
Explanation: The table space or associated index spaces you requested to use are
already marked UTRO, UTRW, or UTUT.
User response: Wait for the DB2 utility to complete or terminate the DB2 job
before restarting the BMC Software utility job.
Appendix C
601
BMC50262E
Explanation: The space is in the restrictive state that this message displays. The
utility cannot process the object while it is in this state.
User response: Follow the documented DB2 procedures to remove the object
from this state before resubmitting the job. If you are running the utility with
SHRLEVEL CHANGE and the object is in read-only (RO) status, contact BMC
Software Customer Support for assistance. If you are running LOADPLUS and
the status is LPL or WEPR, see Chapter 2 of the LOADPLUS for DB2 Reference
Manual for information about the restrictions for loading an object that is in one
of these states.
BMC50264E
Explanation: The table space or associated index space that you requested to use
is not started RW, RO, or UT.
User response: Start the table space or index space that is shown in this message
and restart the job.
BMC50266E
Explanation: The table space or index space (or both) that you requested to use
cannot be stopped. The utility issued the STOP command and is waiting for
execution.
User response: The space is marked stop pending (STOPP) until no other jobs are
using it. Wait for the object to be stopped and then restart the job. Other activity
within the DB2 subsystem, such as active log dumps, can delay processing of
the STOP command. Examine any BMC50209I messages (which might display
outstanding locks on the space) or the DSNMSTR address space to identify the
currently running jobs that are preventing the command from being processed.
For REORG PLUS users, if you specified ON FAILURE TERMINATE, REORG
PLUS attempts to start the space in its original status. Because other activity
within the DB2 subsystem can interfere with this attempt, you should verify that
all spaces are in the appropriate status before resubmitting your job.
602
If you receive this message and you are operating on a large number of
partitions, consider increasing the value of your STOPRETRY installation
option. For guidelines, see the reference manual for the utility that you are
running.
BMC50267E
Explanation: When you restarted the utility, it determined that the space was
not stopped when it should have been.
User response: If you are sure that no changes have been made to the space or
associated objects (such as dropping or creating an index), you can stop the
space and restart the job. If you are not sure whether changes have been made,
terminate the utility and start again. If you terminate the utility, you might have
to recover the table space and any associated indexes first and then resubmit the
job. For specific information about restarting the job, see the reference manual
for the utility that you are running.
BMC50268E
SPACE 'database.space' PART part IS IN 'COPY PENDING' STATE AND WILL NOT
BE QUIESCED
CHECK PENDING STATUS HAS BEEN action FOR database.tablespace PART part
Explanation: The status for the table space or partition has changed as indicated
in this message. PART part is omitted from this message if the table space is not
partitioned. The action can be either SET (ON) or RESET (OFF).
User response: If CHECK pending status (CHKP) is set, run CHECK PLUS with
the CHECK DATA option or run the DB2 CHECK DATA utility with SCOPE
ALL on the corresponding table space or table space partition to ensure that no
referential integrity or DB2 table check constraints are violated.
Appendix C
603
BMC50271I
Explanation: The utility started the space after terminating due to an error. The
space has been successfully started. This message is always preceded by
BMC50271I.
User response: No action is required.
BMC50273I
Explanation: The table space or partition was already in CHECK pending status
(CHKP) and was bypassed by the utility. PART part is omitted from this
message for nonpartitioned table spaces.
User response: No action is required.
BMC50274E
Explanation: The utility that you are running cannot complete the job because
the table space or index space is in the indicated pending state.
User response: Start the space in an allowable state and resubmit the job. See the
table and index space requirements section in the reference manual for the
utility that you are running.
BMC50275E
Explanation: The table space or index space has an error range indicated by DB2.
User response: Recover the table space or index space by using the ERROR
RANGE option of the DB2 RECOVER utility.
BMC50276E
Explanation: The indicated XBM error occurred during the snapshot process.
Message BMC50278E might also be issued.
User response: Correct the error and resubmit the job. For questions about the
XBM error, contact BMC Software Customer Support.
BMC50277I
Explanation: This message is issued after the snapshot function is complete and
provides statistical information about the snapshot operation.
User response: No action is required.
604
BMC50278E
XBM_error_message_text
Explanation: XBM experienced an error and passes this message text to the
utility for output.
User response: Take corrective action appropriate to the XBM error that is
reported and resubmit the job. For questions about the reported error, contact
BMC Software Customer Support.
BMC50279E
Explanation: When running in a data sharing DB2 subsystem, you cannot use
the keywords that this message displays.
User response: Correct the command and resubmit the job.
BMC50281S
Explanation: The utility attempted a SYNC request but the SYNC subtask failed.
User response: To determine the problem, see preceding messages.
BMC50282U
Explanation: The utility encountered an SQL -911 return code while processing
the SQL statement indicated in this message, performing the specified
serialization function, or processing a drain.
Appendix C
605
The utility retries the SQL statement, serialization function, or drain until the
utility reaches the number of retries specified in the SQLRETRY or DRNRETRY
installation option. The interval between retries (WAIT TIME) is the amount of
time specified with the SQLDELAY or the DRNDELAY installation option plus
the time that DB2 waits for a timeout or a deadlock, whichever circumstance
caused this -911.
The STMT value PREVENT xx indicate that a drain is being performed. A STMT
with an actual statement ID value indicates a SELECT, DELETE, or UPDATE
statement.
User response: No action is required.
BMC50285E
Explanation: The utility encountered an SQL -911 return code and retried the
statement. This message follows BMC50284I if one of the retries was successful.
User response: No action is required.
BMC50287E
Explanation: You specified a user-written exit routine for conversion but the
utility cannot load the requested module.
User response: Ensure that the user-written exit routine module is available in
your LINKLIST, JOBLIB, or STEPLIB. Ensure that you specify a large enough
region size.
606
BMC50289E
USER EXIT 'module' RETURN CODE = rc, REASON CODE = reason, MESSAGE
TOKEN = 'text'
Explanation: The function for the utility completed with the status shown in this
message. The status options are:
s
s
For information about the statistics that the utility updated, see Chapter 2 of the
reference manual for the utility that you are running.
User response: No action is required.
BMC50291S
Explanation: The utility issued a BLDL request and the request failed.
User response: Check the job log for more information. Ensure that you specified
a large enough region size.
BMC50292S
Explanation: The utility tried to attach the module but either could not find it or
the utility did not have enough memory.
User response: Ensure that the module is available in your LINKLIST, JOBLIB or
STEPLIB. Ensure that you specified a large enough region size.
BMC50293S/I
Explanation: The utility tried to load the module but either could not find it or
the utility did not have enough memory.
User response: Ensure that the module is available in your LINKLIST, JOBLIB, or
STEPLIB. Ensure that you specified a large enough region size.
Appendix C
607
BMC50294S
Explanation: The utility tried to retrieve system catalog information for a data
set, but the system routine returned a nonzero return code.
User response: Ensure that the data set shown in this message has not been
deleted, uncataloged, or archived. For example, if the value of the REDEFINE
command or installation option is YES for a VCAT-defined object, and the
define process failed in the RELOAD phase of REORG PLUS or the LOAD
phase of LOADPLUS, you must manually define the object and restart your job.
If none of these circumstances apply, contact BMC Software Customer Support
for additional assistance.
BMC50295I/E
Explanation: The utility cannot use the storage management subsystem (SMS)
service routine that is shown in this message.
User response: Check the job log for additional messages and ensure that the
SMS routines are running from an APF-authorized library. For other problems,
contact BMC Software Customer Support.
BMC50297S
608
BMC50298S
Explanation: A link to the module failed with the indicated return code and
reason.
User response: Check preceding messages or the job log to determine the source
of the problem. Review the explanation of the return code and reason reported
in the appropriate manual. If you understand the problem, correct it and restart
the job. Otherwise, contact BMC Software Customer Support.
BMC50299S
REXX EXIT 'exit' ALTERED database.space PART part PRI/SEC PRI/SEC FROM
n/n TO n/n
REXX EXIT 'exit' ALTERED database.space COMPONENT Annn PRI/SEC FROM
n/n TO n/n
Explanation: The REXX user exit successfully altered the primary or secondary
quantity from the first displayed value to the second. For a partitioned table
space or index space, the utility issues the request for the partition shown in this
message. For a nonpartitioned multi-data-set table space or index space, the
utility issues the request for the component shown in this message. Annn is the
last node of the data set name, and nnn is a numeric value.
User response: No action is required.
Appendix C
609
BMC50302I
Explanation: The REXX user exit requested that the utility issue an SQL ALTER
command to the DB2 catalog. The utility queues the request, which DB2 will
process before the utility ends. The utility issues message BMC50305I when DB2
successfully completes the SQL ALTER command or message BMC50304W if it
fails.
If the partition number in this message is zero, the table space or index space is
nonpartitioned.
User response: No action is required.
BMC50303I
SQL ALTER SUCCEEDED FOR database.space PART part PRI/SEC FROM n/n TO
n/n
SQL ALTER FAILED FOR database.space PART part PRI/SEC FROM n/n TO n/n
Explanation: The utility issued an SQL ALTER command to change the primary
and secondary values of this partition for the table space or index space, but the
SQL ALTER command failed. If the partition number is zero, the table space or
index space is nonpartitioned. DB2 did not update the values in the DB2 catalog.
The utility continues to normal completion, but ends with a return code 4. The
most common reason for this failure is SQLCODE -911, which indicates that
DB2 cannot get a lock on the database to perform the SQL ALTER
TABLESPACE or ALTER INDEX command.
User response: You can use the values that this message displays to perform
your own SQL ALTER command. For the correct SQL syntax, see the
appropriate IBM reference manual.
BMC50305I
Explanation: A user exit requested that the utility issue an SQL ALTER
command to update the DB2 catalog. However, the utility cannot issue the
ALTER command for components of a nonpartitioned multi-data-set table space
or index space because they do not have entries in SYSIBM.SYSTABLEPART or
SYSIBM.SYSINDEXPART. Annn is the last node of the data set name, and nnn is
a numeric value.
User response: No action is required.
610
BMC50306I
Explanation: In the user exit at the DSRSEXIT exit point, you told the utility to
use REDEFINE NO for the indicated VSAM object. The utility bypasses the
DELETE and DEFINE for the object.
User response: No action is required.
BMC50307I
Explanation: In the DSRSEXIT user exit, you requested that the utility use
REDEFINE NO for the indicated object. However, the utility cannot honor the
request because of the stated reason. The utility redefines the object.
User response: No action is required.
BMC50308I
Explanation: The utility could not open the data set that the DD statement
specifies.
User response: Check the job log for errors and ensure that all of the required
input and output data sets are specified correctly. Correct the problem and
restart the job.
BMC50312S
Explanation: The utility could not close the data set that the DD statement
specifies.
User response: Check the job log for errors. Correct the problem and restart the
job.
BMC50313S
Explanation: The utility received a nonzero return code from an RDJFCB (Read
Job File Control Block) request.
User response: Check the job log. If you cannot identify and correct the problem,
contact BMC Software Customer Support.
Appendix C
611
BMC50314S
Explanation: The utility received an I/O error on a DB2 data set, with the
indicated channel status word and sense data returned by MVS I/O support.
User response: If you understand the error, correct the problem and restart the
job. If you do not understand the error, contact BMC Software Customer
Support.
BMC50315S
Explanation: The utility requested a secondary space allocation for the indicated
data set, but the operating system denied the request. Either all secondary
extents are allocated or all volumes allocated to the data set are out of space.
User response: Correct the data set space allocation problem and resubmit the
job.
BMC50316E
Explanation: The utility requested a secondary space allocation for the indicated
data set, but the operating system denied the request because the secondary
space quantity is set to zero and, therefore, cannot be extended.
User response: Correct the data set space allocation problem and resubmit the
job.
BMC50317I
Explanation: The data set that is associated with the indicated ddname was not
deleted or uncataloged. If you specified DELETEFILES YES and the data set
name is known, BMC50318I follows this message.
The value for action is either DELETE or UNCATLG.
User response: The following table describes the reason codes that might be
issued in this message:
Code
00020001
The data set is not physical sequential and is not supported for
DELETEFILES YES.
00020002
Dynamic allocation failed. For the cause, see the dynamic allocation
messages in the job log.
00020003
Dynamic allocation failed. For the cause, see the dynamic allocation
messages in the job log.
00020004
Dynamic allocation failed. For the cause, see the dynamic allocation
messages in the job log.
other
612
Explanation
BMC50318I
Description
SUCCESSFULLY
NOT
The utility did not delete or uncatalog the data set. When the
data set name is known, this message follows BMC50317I.
Explanation: The maximum number of data sets for the DB2 object was
exceeded.
User response: For table space objects, you can either process less data, reduce
the PCTFREE value, or increase the FREEPAGE value. However, you must
recover the table space and resubmit the job with the NEW execution parameter
after making the changes.
For index objects, you can increase the PIECESIZE value or specify NLPCTFREE
on the command in addition to making the PCTFREE or FREEPAGE changes
shown for a table space object. Resubmit the job with the RESTART execution
parameter.
BMC50320E
Explanation: When the utility started, the table space was marked status1.
However, it was changed to status2 while the utility was running, causing the
utility to terminate.
User response: Determine why the status changed. Resubmit the job, ensuring
that the status does not change while the utility is running.
BMC50321E
Appendix C
613
User response: After the IBM DB2 utility completes, resubmit the SHRLEVEL
CHANGE job. Do not start any IBM utilities on a DB2 object while REORG
PLUS is using that object.
BMC50322E
Explanation: The database, which contains the object on which you are running
the utility, is not started RW, RO, or UT.
User response: Start the database shown in this message and restart the job.
BMC50323E
Explanation: The database is in the state shown in this message. The utility
cannot continue and terminates the job.
User response: Follow the documented DB2 procedures to remove the object
from this state before resubmitting the job.
BMC50324E
Explanation: The options that you specified for this utility require that the space
be in read/write status. For example, LOAD RESUME YES SHRLEVEL
CHANGE SQLAPPLY has this requirement.
User response: If appropriate, start the space ACCESS(RW) and resubmit the job.
If you do not want to allow read/write access during the utility operation,
change your utility command and resubmit the job. For information about
object status requirements, see the reference manual for the utility that you are
running.
BMC50325E
Explanation: If this message indicates a user abend 3200, you can find the reason
code in register 15, which is displayed by abend analysis in the job log.
If you ran these jobs previously and did not get this message, the most likely
cause for getting this message now is that the SYNC plan of the utility was
rebound but the ARUssidC installation job (where ssid is the subsystem into
which the utility was installed) was not rerun. The SYNC plan name is specified
with the PLANSYNC installation option. Whenever the SYNC plan is rebound,
you must resubmit the ARUssidC installation job to reinstate the
SYSTABLEPART update support.
User response: Ensure that REORG PLUS was installed correctly and that the
ARUssidC installation job was run. You might need to modify default values in
the installation options member and resubmit the ARUssidC installation job.
Otherwise, rebind the plan specified in your PLANSYNC installation option
and then run the ARUssidC installation job.
614
BMC50326E
Explanation: If this message indicates a user abend 3200, you can find the reason
code in register 15, which is displayed by abend analysis in the job log.
If you ran these jobs previously and did not get this message, the most likely
cause for getting this message now is that the SYNC plan of the utility was
rebound but the ARUssidC installation job was not rerun (where ssid is the
subsystem into which the utility was installed). The SYNC plan name is
specified with the PLANSYNC installation option. Whenever the SYNC plan is
rebound, you must resubmit the ARUssidC installation job to reinstate the
SYSSEQUENCES update support.
User response: Ensure that REORG PLUS was installed correctly and that the
ARUssidC installation job was run. You might need to modify default values in
the installation options member and resubmit the ARUssidC installation job.
Otherwise, rebind the plan specified in your PLANSYNC installation option
and then run the ARUssidC installation job.
BMC50327E
Explanation: If this message indicates a user abend 3200, you can find the reason
code in register 15, which is displayed by abend analysis in the job log.
If you ran these jobs previously and did not get this message, the most likely
cause for getting this message now is that the SYNC plan of the utility was
rebound but the ARUssidC installation job was not rerun (where ssid is the
subsystem into which the utility was installed). The SYNC plan name is
specified with the PLANSYNC installation option. Whenever the SYNC plan is
rebound, you must resubmit the ARUssidC installation job to reinstate the
SYSINDEXPART update support.
User response: Ensure that REORG PLUS was installed correctly and that the
ARUssidC installation job was run. You might need to modify default values in
the installation options member and resubmit the ARUssidC installation job.
Otherwise, rebind the plan specified in your PLANSYNC installation option
and then run the ARUssidC installation job.
BMC50328I
Explanation: If you are running a utility that is part of a solution that contains
the BMCSTATS component, the utility issues this message if the utility
synonyms do not resolve to the same physical tables as the synonyms that are
defined for the DASD MANAGER PLUS product or the BMCSTATS
component.
If you specified ANALYZE BMCSTATS in your command syntax, the utility
also issues message BMC50329E and terminates the job. Otherwise, the job
continues to run. However, BMC Software recommends that you correct the
problem in either case.
Appendix C
615
User response: Change the synonyms to point to the same tables. For the steps to
complete this task, see the Utility Products for DB2 Installation Guide. Resubmit
the utility job.
BMC50329E
Explanation: The synonym names that are defined for the utility do not resolve
to the same tables as the synonyms that are defined for DASD MANAGER
PLUS or the BMCSTATS component. You cannot use the command option
ANALYZE BMCSTATS if the synonyms do not resolve to the same tables.
User response: Remove ANALYZE BMCSTATS from the command statement or
change the synonyms to point to the same tables. For the steps to complete this
task, see the Utility Products for DB2 Installation Guide. Resubmit the utility job.
BMC50330I
Explanation: The BMCSTATS synonym does not exist. The DASD MANAGER
PLUS component of the solution was not installed completely.
User response: Install the DASD MANAGER PLUS component of the solution
completely, including creating the synonyms. For more information, see the
Administrative Products for DB2 Installation Guide.
BMC50331S
Explanation: The utility cannot dynamically allocate the DB2 data set shown in
this message. The task number identifies the task that is associated with the
error.
User response: Check the job log for dynamic allocation error messages and
check the storage group for unlike device types. If you understand the problem,
correct it and restart the job. Otherwise, contact BMC Software Customer
Support.
BMC50332S
Explanation: The utility cannot open the DB2 data set shown in this message.
The task number identifies the task that is associated with the error.
User response: Check the job log for more information. If this message occurs
during REORG PLUS reload processing, ensure that the data set is defined with
the REUSE option. If you understand the problem, correct it and restart the job.
Otherwise, contact BMC Software Customer Support.
616
BMC50333I
Explanation: The utility cannot close the DB2 data set. The task number
identifies the task that is associated with the error.
User response: Check the job log for more information. If you understand the
problem, correct it and restart the job. Otherwise, contact BMC Software
Customer Support.
BMC50335S
Explanation: The utility cannot deallocate the DB2 data set shown in this
message. The task number identifies the task that is associated with the error.
User response: Check the job log for more information. If you understand the
problem, correct it and restart the job. Otherwise, contact BMC Software
Customer Support.
BMC50337S
Appendix C
617
BMC50338S
Explanation: The utility received a nonzero return code from a GENCB request.
The task number identifies the task that is associated with the error.
User response: Ensure that your region size is large enough. If region size is not
the problem, contact BMC Software Customer Support.
BMC50339S
Explanation: The utility received a nonzero return code from a GENCB request.
The task number identifies the task that is associated with the error.
User response: Ensure that your region size is large enough. If region size is not
the problem, contact BMC Software Customer Support.
BMC50340S
task_no: VSAM GET REQUEST FOR DATASET 'dsname' REJECTED WITH R = rc,
F = data, P = n
Explanation: The utility received a nonzero return code from a GET request. The
task number identifies the task that is associated with the error. R is the return
code, F is the VSAM feedback information, and P is the page number.
User response: Check the job log, the return code, and the feedback-area
information. For an explanation of the feedback-area information, see IBMs
documentation for VSAM feedback codes. If you understand the error, correct it
and restart the job. Otherwise, contact BMC Software Customer Support.
BMC50341S
task_no: VSAM PUT REQUEST FOR DATASET 'dsname' REJECTED WITH R = rc,
F = data, P = n
Explanation: The utility received a nonzero return code from a PUT request. The
task number identifies the task that is associated with the error. R is the return
code, F is the VSAM feedback information, and P is the page number.
User response: Check the job log, the return code, and the feedback-area
information. For an explanation of the feedback-area information, see IBMs
documentation for VSAM feedback codes. If you understand the error, correct it
and restart the job. Otherwise, contact BMC Software Customer Support.
BMC50342S
Explanation: The utility encountered a VSAM I/O error. The task number
identifies the task that is associated with the error. R is the return code, F is the
VSAM feedback information, and P is the page number.
User response: Check the job log, the return code, and the feedback-area
information. For an explanation of the feedback-area information, see IBMs
documentation for VSAM feedback codes. If you understand the error, correct it
and restart the job. Otherwise, contact BMC Software Customer Support.
618
BMC50343I
SYNAD_error_message
Explanation: The utility received this error message from an MVS data
management access method services routine.
User response: If you understand the problem, correct it and restart the job.
Otherwise, contact BMC Software Customer Support.
BMC50344S
Explanation: The utility received a nonzero return code from a MODCB request.
The task number identifies the task that is associated with the error.
User response: Contact BMC Software Customer Support.
BMC50345I
Explanation: During task termination, this message indicates that the task is
waiting for I/O to complete on the data set.
User response: If multiple BMC50345I messages for the same data set appear and
the job has not completed or continued, a RESERVE on the volume might
contain the data set or some other system problem.
BMC50346E
THE VSAM DATASET DOES NOT EXIST FOR object_type object PART part
THE VSAM DATASET DOES NOT EXIST FOR object_type object PART part
Explanation: The table that was specified contains an identity column that is
defined as GENERATED ALWAYS, but a field specification was also provided.
The utility does not allow a field specification for this type of identity column.
User response: Remove the field specification from your utility command and
resubmit your job.
Appendix C
619
BMC50348S
Explanation: The job requires data translation between CCSIDs, but translation
did not occur because a translation condition occurred that is not supported by
the utility. Examples of unsupported conditions include:
s
s
s
Eliminate the need for data translation. For example, unload the data in the
tables encoding scheme or load the data into a table that has the same
encoding scheme as the data.
Resubmit the job. For more information about data translation requirements, see
the reference manual for the utility that you are running.
620
BMC50351E
Explanation: The job requires data translation for the data that is described by
type and name, but the utility cannot perform the translation. BMC50350E or
BMC50359I indicates the translation that is not supported.
User response: Use one of the following options and resubmit your job:
s
Eliminate the need for data translation. For example, unload the data in the
tables encoding scheme, or load the data into a table that has the same
encoding scheme as the data.
For more information about data translation requirements, see the reference
manual for the utility that you are running.
BMC50352E
Explanation: The utility cannot load the conversion procedure that is defined in
the TRANSPROC column of the SYSIBM.SYSSTRINGS row that defines the
translation for the indicated CCSIDs.
User response: Locate the indicated module and ensure that it is in the SYSLIB
concatenation. Resubmit the job.
BMC50353I
Explanation: The utility will not translate the object (field or column) of the
indicated subtype. The utility displays this message under one of the following
circumstances:
s
User response: Change your command or table definition. Resubmit the job.
Appendix C
621
BMC50354E
Explanation: The utility cannot determine the pad character to use for
processing the data that is described in this message.
User response: Contact BMC Software Customer Support for assistance.
BMC50355W
The string that the utility was translating contained an error byte.
The string that the utility was translating contained a substitution character
and you specified NOSUBS with the utility command.
User response: Select a different CCSID to use for the translation or change the
NOSUBS specification in your utility command. Resubmit the job.
BMC50356S
Explanation: Options were specified on the utility command that the utility does
not support when operating on Unicode data. For example, if you are running
LOADPLUS, you cannot specify DEFAULTIF or VALUE when loading Unicode
data. The utility terminates processing.
User response: For options that are not supported when operating on Unicode
data, see the reference manual for the utility that you are running. Change your
command options and resubmit the job.
BMC50358S/W
If the return code is greater than 4 or the utility job does not allow discards, you
receive the severe (S) version of this message. The utility terminates processing.
User response: To determine the appropriate corrective action, review the return
code and reason code information in the IBM Unicode Conversion Services
documentation. If the utility terminated, correct the problem and resubmit the
job.
BMC50359I
Explanation: The utility tried to invoke the sort routine but received a nonzero
return code from the system LINK routine.
User response: Check the job log for information about the failure.
BMC50362I
Explanation: The sort routine failed with the return code shown in this message.
User response: Check the job log and preceding messages for information about
the failure. Check for errors preceding this message that caused the sort routine
to fail. Correct the problem and restart the job.
Appendix C
623
BMC50363I
Explanation: The sort routine failed with the system abend code and reason code
shown in this message.
User response: Check the job log and preceding messages for information about
the failure. Check for errors preceding this message that caused the sort routine
to fail. Correct the problem and restart the job.
BMC50364S
Limit the number of sort tasks by using the MAXSORTS command option.
Limit the scope of the job that you are running to reduce the amount of work
that the utility needs to do.
BMC50365S
Message BMC50474I reports the memory that is available to the utility at the
time of optimization. If the value for ABOVE as shown in BMC50474I is
substantially less than the value for your REGION parameter, your system
might have a memory-limiting exit active. In this case, contact your systems
programmer to increase the limit, if possible.
Explanation: While processing a table space that is defined with the COMPRESS
YES attribute, the utility encountered a problem in the LZ process. The task
number identifies the task that is associated with the error.
User response: Contact BMC Software Customer Support.
BMC50366I
Explanation: While processing a table space that is defined with the COMPRESS
YES attribute, the utility determined that the data was not sufficient to build a
compression dictionary. The task number identifies the task that is associated
with the error.
User response: No action is required.
624
BMC50367I
Explanation: While processing a table space that is defined with the COMPRESS
YES attribute, the utility determined that it needed to build a compression
dictionary. This occurs, for example, when you specify KEEPDICTIONARY
NO.
If the utility built the dictionary successfully, this message displays a status of
BUILT. The utility issues a separate message for each dictionary that it builds
successfully (for example, for each partition).
User response: No action is required.
BMC50369I
Explanation: The utility rebuilt the index. This message is a reminder that you
must make an image copy of the index before you can recover it by using an
image copy and log records. PARTITION part is omitted from this message if
the table space is not partitioned.
NOTE
Only participating partitions of the index are placed in informational copy pending
status.
User response: If you plan to use an image copy and log records to recover the
index, first create an image copy of the index.
BMC50370I
Explanation: The utility started the displayed number of tasks to create image
copies.
User response: No action is required.
BMC50372E
ICOPY JOB AUTHID PARAMETER 'authid1' DOES NOT MATCH BIND AUTHID
'authid2' OF ICOPY PLAN
Appendix C
625
BMC50373E
Explanation: If this message indicates a user abend 3200 (REORG PLUS) or 3400
(LOADPLUS), you can find the reason code in register 15, which is displayed by
abend analysis in the job log.
Message BMC50373E indicates that the utility encountered one of the following
conditions:
s
You requested COPY YES and are registering the copies, but the utility is not
installed with the IMAGECPY=YES option.
For REORG PLUS, you specified COPY YES and are registering the copies,
but the ARUssidC installation job (where ssid is the subsystem into which the
utility was installed) to install image copy support was not run.
For REORG PLUS, if you ran these jobs before without getting this message, the
most likely cause for getting this message now is that the products SYNC plan
was rebound but the ARUssidC installation job was not rerun. The SYNC plan
name is specified on the PLANSYNC installation option. Whenever the SYNC
plan is rebound, you must resubmit the ARUssidC installation job.
User response: Ensure that the utility was installed correctly.
For REORG PLUS, ensure that the ARUssidC installation job was run. You
might need to modify default values in the installation options member and
resubmit the ARUssidC installation job. Otherwise, rebind the plan specified in
your PLANSYNC installation option and then run the ARUssidC installation
job.
BMC50374S
Explanation: The utility cannot open the copy data set that the DD statement
specifies.
User response: Check the job log for errors. Correct the problem and restart the
job.
BMC50375I
Explanation: The full copy, incremental copy, or inline copy process of the utility
is making a copy of the data set.
User response: No action is required.
626
BMC50376I
Explanation: The utility copied to the data set or updated in the data set the
number of pages that are shown in this message. The value for action can be
either COPIED TO or UPDATED IN.
User response: No action is required.
BMC50377E
Explanation: The specified device type is not valid or does not match the device
type of the data set that the DD statement specifies.
User response: Correct the device type value and restart the job.
BMC50378W
Explanation: COPY YES was not specified in the command statement. The utility
continues processing, but completes with a return code 4.
User response: Take appropriate action to allow recovery of the space. For more
information, see the reference manual for the utility that you are running.
BMC50379E
Explanation: A data set was specified that a previous image copy already used.
User response: You can use the specified data set name if you MODIFY the
record from SYSCOPY to remove the entry that is causing the duplication. Then
restart or resubmit the job.
Keep in mind the following guidelines:
s
If you are running LOADPLUS and LOADPLUS has completed creating the
specified image copy, you must issue a RESTART(PHASE) to create a new
image copy data set. In contrast, if LOADPLUS has not completed the image
copy, you can change the name of the data set and restart the job.
If you are running REORG PLUS for any type of reorganization except
SHRLEVEL CHANGE and REORG PLUS has completed creating the
specified image copy, you must issue a RESTART(PHASE) to create a new
image copy data set. In contrast, if REORG PLUS has not completed the image
copy, you can change the name of the data set and restart the job.
If you are running REORG PLUS with SHRLEVEL CHANGE, you cannot
restart the job. You must change the data set name and resubmit the job from
the beginning.
Appendix C
627
BMC50380I
Explanation: The table space was not started with ACCESS(FORCE) to turn off
the COPY pending flag because the CHECK pending flag was also on.
User response: Either manually turn off COPY pending by starting the table
space with ACCESS(FORCE), or by running the REPAIR utility.
BMC50381I
Explanation: The utility found recovery site image copies (remote primary,
remote backup, or both) in the SYSIBM.SYSCOPY table for the indicated table
space.
User response: You should make recovery copies for the table space.
BMC50382I
Explanation: The utility copied the index using the software-based copy method
or snapshot technology in an earlier run; therefore, the utility will not copy the
index again in the current run.
User response: No action is required.
BMC50383E
Explanation: The utility cannot find the default ddname or the ddname that was
specified in the COPYDDN or RECOVERYDDN option in your JCL.
User response: Ensure that the ddname that was specified in the REGISTER
option has a matching ddname specified in the JCL.
BMC50384E
Explanation: The utility found two or more identical ddnames specified in the
REGISTER option.
User response: Ensure that each ddname that was specified in the REGISTER
option is unique and has a matching ddname specified in the JCL.
BMC50385E
Explanation: The utility found two or more identical ddnames specified in the
COPYDDN or RECOVERYDDN option (or both).
User response: Ensure that each ddname that was specified in the COPYDDN
and RECOVERYDDN options is unique and has a matching ddname specified
in the JCL.
628
BMC50386W
Explanation: No image copy was made, and the table space is already in COPY
pending (COPY) status.
User response: Take appropriate action to allow recovery of the table space. For
more information, see the reference manual for the utility that you are running.
BMC50387W
Explanation: No image copy was made, and the table space is now in COPY
pending (COPY) status.
User response: Take appropriate action to allow recovery of the table space. For
more information, see the reference manual for the utility that you are running.
BMC50388I
Explanation: The utility cannot find the default ddname or the ddname that was
specified in the command statement in your JCL and dynamic allocation is not
active for the data set. For example, the following conditions can cause the
utility to fail and issue this message:
s
You specify two ddnames for the COPYDDN option but dynamic allocation
is active for only the primary copy data set.
In UNLOAD PLUS, you are unloading a partitioned table space into multiple
data sets, but the number of partitions and unload data sets do not match.
Appendix C
629
You are running multiple loads or reorganizations in one job step using the
BMC Software DASD MANAGER PLUS product, and more than one
SYSREC DD uses the same data set name.
User response: Ensure that all required DD statements are specified and that
they match the ddnames that are specified for the xxxxDDN option of the
command, or that dynamic allocation is active for the data set type shown in this
message. For additional information, see the discussion for this data set type in
the reference manual for the utility that you are running.
BMC50391I
Explanation: The utility cannot find the default ddname or the ddname that was
specified in the command statement in your JCL.
User response: No action is required and processing continues.
BMC50392E
Explanation: The utility cannot find the work data set ddnames in your JCL.
User response: Ensure that the correct SYSUT1 or SYSUT1nn DD statement is
specified or that the same ddnames are specified that were specified in the
WORKDDN option. You can specify one ddname for all indexes or one for each
index. For more detail, see the WORKDDN command option description and
the SYSUT1 allocation section of the reference manual for the utility that you are
running.
BMC50393W
Explanation: To restart the utility in the phase shown in this message, you must
specify sufficient work data sets of the type indicated in this message. If you
elect to not specify them (as indicated by this message) and the job abnormally
terminates, you must recover the table space, the index, or both.
User response: Take appropriate action to allow recovery of the table space or
index space or both. For more information, see the reference manual for the
utility that you are running.
BMC50394I
Explanation: The utility cannot locate any SORTWK ddnames or cannot obtain
any allocation information about any of the SORTWK ddnames that were
specified. If you did not specify a value greater than 0 for the SORTNUM option
or you did not use the dynamic allocation option, you might not obtain optimal
processing.
User response: No action is required. For more information, see message
BMC50395I.
630
BMC50395I
MAXSORTS SET TO 1
Explanation: The utility cannot obtain enough information to run multiple sort
tasks concurrently, so the utility will invoke only one sort task. This restriction
might prevent the utility from running as efficiently as possible.
User response: No action is required. However, for information about how to
adjust your options to obtain optimal performance, see the reference manual for
the utility that you are running.
BMC50396S
Explanation: The utility tried to determine the block size for the data set in the
DD statement that was specified, but received a nonzero return code from a
system routine.
User response: Check the job log for errors. Ensure that FREE=CLOSE was not
specified for the SYSREC ddname. Correct the problem and restart the job.
BMC50397I
Explanation: If more memory were available, the utility could make use of the
memory to improve the performance of the indicated utility phase.
User response: No action is required. However, for optimal performance, BMC
Software recommends that you specify REGION=0M on the JOB or EXEC
statement of your execution JCL. For additional information about how to
adjust your options to obtain optimal performance, see the reference manual for
the utility that you are running.
BMC50398I
Explanation: If more sort work file space were available, the utility could make
use of the space to improve the performance of the indicated phase and
subsequent phase processing. The utility uses only the primary quantity when
determining the number of concurrent tasks to start.
If the utility issued this message because different device types are defined for
the unit being used for the sort work files, the utility also issues message
BMC50405I.
User response: No action is required. However, you might want to specify larger
sort work files or more sort work files to improve performance. For information
about performance considerations, see the reference manual for the utility that
you are running.
If message BMC50405I accompanies this message, see the user response for
BMC50405I for other actions you can take.
Appendix C
631
BMC50399E
Explanation: The utility cannot get enough memory or sort work space to
process the indicated utility phase. Previous messages BMC50397I or
BMC50398I explain the problem in more detail.
User response: Make one or more of the following adjustments:
s
s
s
If you are using REORG PLUS to perform an index reorganization, see Chapter
4 for SORTWK calculation formulas. For information about performance
considerations, see the reference manual for the utility that you are running.
If this message is accompanied by message BMC50397I but you have specified
REGION=0M in your JOB or EXEC statement, processing might be constrained
because the utility is operating on a large number of partitions. Change your
command options to operate on fewer partitions and resubmit the job.
BMC50400I
Explanation: Only one index work file (SYSUT1) was specified. Because more
than one nonclustering index is participating in the job (or clustering index, if
you specified ORDER NO), you can improve performance by specifying one
SYSUT1 per participating index.
User response: Specify additional index work files (SYSUT1nn), one for each
participating nonclustering index (plus one for each clustering index if you
specified ORDER NO). For information about performance considerations, see
the reference manual for the utility that you are running.
BMC50401E
Explanation: The job restarted but the number of work (SYSUT1nn) or unload
(SYSREC) files is different from the number specified in the original job.
User response: Restore the original number of files, or end this job and submit a
new job. For more information, see the description of the WORKDDN or
UNLDDN option in the reference manual for the utility that you are running.
BMC50402E
Explanation: The job restarted but one of the previous ddnames is now missing
and is required.
User response: Restore the original ddnames, or terminate the utility program
and submit a new job.
632
BMC50403E
Explanation: Discard processing was requested, but the RECFM, logical record
length (LRECL), or DSORG attributes of the input and discard data set are not
compatible.
User response: Change the RECFM, LRECL, or DSORG values of the discard
data set and resubmit the job.
BMC50404E
Explanation: The same ddname was specified for more than one file.
User response: Change the ddname so that it is unique.
BMC50405I
SORT WORK FILES ARE NOT THE SAME SIZE. AVERAGE SIZE nK ASSUMED
Explanation: The utility determined that the sort work files are not the same size.
The utility will use average size to determine subsequent processing. Using
average size can result in an abnormal termination of the utility or reduced
utility performance.
User response: No action is required. However, if other messages indicate
performance constraints or abnormal termination, you probably need to ensure
that all of the sort work files have the same allocation quantities and are on the
same device type. For REORG PLUS users, consider using the 3380 device type
SORTWK space provided in the ANALYZE output.
BMC50406I
Explanation: The utility attempted, but was unable, to obtain the volume
information for the ddname shown in this message. The probable cause for this
error is assigning the sort work file to VIO.
User response: Correct the problem and resubmit the utility.
BMC50407E
Explanation: The utility determined that the concatenated data sets have unlike
DCB attributes.
User response: Ensure that all concatenated data sets have the same DCB
attributes.
BMC50408E
Explanation: The same data set name was specified for both of the DD
statements shown in this message.
User response: Modify one of the data set names in your JCL to make it unique.
Resubmit the job.
Appendix C
633
BMC50409E
Explanation: The subtask abended with the indicated system abend code and
reason. The task number identifies the phase and specific task of the phase that
is associated with the error.
User response: Check preceding messages or the job log to determine the
problem. Review the explanation in the appropriate manual. If you understand
the problem, correct it and restart the job. Otherwise, contact BMC Software
Customer Support.
BMC50412U
Explanation: The subtask terminated with a nonzero return code. If this message
indicates a user abend 3200 (REORG PLUS), 3400 (LOADPLUS), 3600
(UNLOAD PLUS), 3800 (CHECK PLUS), or 3900 (REORG PLUS or
LOADPLUS), you can find the reason code in register 15 of the job log that
contains the abend summary. The task number identifies the specific task of the
phase that is associated with the error.
User response: Check preceding messages or the job log to determine the
problem. Convert the decimal-formatted reason code to hexadecimal and
review the explanation in the appropriate manual. If you understand the
problem, correct it and restart the job. Otherwise, contact BMC Software
Customer Support.
634
BMC50413S
Explanation: This message indicates that an internal error occurred. The task
number identifies the task that is associated with the error.
User response: Contact BMC Software Customer Support.
BMC50415S
Explanation: The utility received a nonzero return code from an ESTAE request.
The task number identifies the task that is associated with the error.
User response: Ensure that your region size is large enough. If region size is not
the problem, contact BMC Software Customer Support.
BMC50416W
Explanation: The sort routine determined that you do not have enough memory
for the sort that your job requires. The values specified in the SMCORE
installation option are incompatible with your job and system requirements.
NOTE
BMC Software recommends that you use the default values of (0K,0K) for the SMCORE
option.
The variable n indicates the amount of memory that you can specify in the first
subparameter of the SMCORE option. This message displays the following
information:
s
s
the minimum value that you can specify for this subparameter
the value that BMC Software recommends that you specify, if you must use
something other than the default of 0K
User response: Edit your installation options macro or create a new one. Ensure
that the SMCORE option uses either the default values (0K,0K) or the
recommended value that is supplied in this message. If you edit an existing
options macro, you must recompile and link it. If you create a new options
module, edit your JCL to include the new options module name. Resubmit your
job.
Appendix C
635
BMC50418U
Explanation: The utility encountered one of the following internal errors and
cannot produce a dump:
s
s
This message is displayed on the console only. It does not appear in the
SYSPRINT listing.
User response: Contact BMC Software Customer Support.
BMC50420I
Explanation: The utility will invoke the user exit specified in the DSNUEXIT
option as the language type shown in this message. The user-written exit
routine is not part of the utility.
User response: No action is required.
BMC50421I
Explanation: The user-written exit routine requested run termination via the
return code shown in this message.
User response: Contact the author of the exit routine for the reason for
termination of the exit and correct the problem. The user-written exit routine is
not part of the utility. Resubmit or restart your job.
BMC50422E
Explanation: The variable that your user-written exit routine returned has either
an invalid NAME or contains invalid DATA. This messages displays the NAME
or DATA in question in character (C) and hexadecimal (X) forms in this
message. For rules governing user-defined variables, see the user exits appendix
in the reference manual of the utility that you are running.
User response: Modify the user-written exit routine to comply with the rules for
variable naming and variable data. (The user-written exit routine is not part of
the utility.) Resubmit or restart your job.
636
BMC50423E
COULD NOT LOAD THE language RUN TIME ROUTINE NAMED 'routine'
Explanation: This message lists the variables for the user-written exit routine
and their values. You can use these variables with the DSNPAT keyword. For
additional information about the DSNPAT command option, see Chapter 3 of
the reference manual for the utility that you are running.
This message is displayed upon returning from your user-written exit routine if
dynamic allocation is active. The user-written exit routine is not part of the
utility.
User response: No action is required.
BMC50428E
REXX EXIT 'exit' RETURNED AN INVALID STOGROUP VOLUME LIST AND SET
BMC_REORDER_STOGROUP_VOLUMES='YES'
Explanation: In the user exit at the DSRSEXIT exit point, you requested that the
utility reorder the storage group volumes. However, the exit was modified to
return an invalid storage group volume list to the utility. The most likely reason
for this message is that a volume name in the list did not appear in the original
storage group volume list. The utility terminates the job.
User response: Use the REXX SAY command to compare the volumes in the list
that the exit returned to the utility with the original storage group volume list.
Delete all volumes that do not appear in the original list and resubmit the job.
Appendix C
637
BMC50429I
Explanation: The utility reduced the number of dynamically allocated files of the
indicated type because the value of the specified option constrained this
particular resource. For example, if you specify MAXTAPE and your
dynamically allocated work files are going to tape, your MAXTAPE
specification might limit the amount of multitasking that the utility can perform.
User response: No action is required.
BMC50430E/I
Explanation: The specified ddname prefix is too long to allow the addition of
unique partition numbers or work data set numbers. The resulting ddnames
will be greater than eight bytes. The description provides the purpose of the
multiple data sets. If you receive the E (error) version of the message,
LOADPLUS or REORG PLUS terminates the job. If you receive the I
(informational) version of the message, the utility continues processing but
might not multitask as much as it could. For more information about specifying
ddnames, see the reference manual for the utility that you are running.
User response: Specify a shorter ddname prefix in the command or in the
installation options module. This prefix must allow the utility to append the
maximum partition number or data set number without exceeding eight bytes.
Resubmit or restart your job, as appropriate.
If this prefix is for dynamically allocated data sets and you attempt to restart
your job after specifying a shorter ddname prefix, you will continue to receive
this message. On restart, the utility retains the prefix for dynamically allocated
data sets that you specified originally. In this situation, resubmit your job.
BMC50431E
DSNPAT MAY NOT BE SPECIFIED AS 'NONE' OR ' ' FOR DDTYPE 'ddtype'
Explanation: When dynamically allocating any data set other than SORTWK,
you must specify a data set name pattern; otherwise, the utility cannot allocate
your data sets. The 'NONE' or ' ' option is valid only for SORTWK data sets. The
ddtype identifies the DSNPAT specification that needs to be revised.
For additional information about the DSNPAT command option, see Chapter 3
of the reference manual for the utility that you are running.
User response: Specify a valid data set name pattern with the DSNPAT
command option and resubmit or restart your job.
BMC50432E
Explanation: A pattern that was specified with the DSNPAT command option or
installation option will result in a data set name that is greater than 44 bytes. The
ddtype identifies the DSNPAT specification that needs to be revised.
638
For additional information about the DSNPAT command option, see Chapter 3
of the reference manual for the utility that you are running.
User response: Change your DSNPAT specification and resubmit or restart your
job.
BMC50433E
Explanation: The indicated variable was not defined during user exit processing.
The ddtype identifies the DSNPAT specification that is affected.
For additional information about the DSNPAT command option, see Chapter 3
of the reference manual for the utility that you are running. For more
information about user-defined variables, see the user exits appendix in the
reference manual.
User response: Use a different variable name in your DSNPAT specification or
contact the author of your user-written exit routine. (The user-written exit
routine is not part of the utility.) Resubmit or restart your job.
BMC50435E
Explanation: The data set name dsname for the indicated ddname has an invalid
character at position n. This problem can occur when the DSNPAT command is
used to specify a pattern or, in LOADPLUS, when the INDSN command is used
to specify input data sets.
For additional information about these command options, see the reference
manual for the utility that you are running. For more information about
user-defined variables, see the information about user exits in the reference
manual.
User response: Change the data set specified in INDSN, or change your DSNPAT
specification. If a user-defined variable is causing the problem, contact the
author of your user-written exit routine. (The user-written exit routine is not
part of the utility.) Resubmit or restart your job.
Appendix C
639
BMC50436E
Explanation: The pattern that was specified with the DSNPAT command option
or installation option resulted in a data set name that contains an invalid node.
The invalid node is identified by its position n.
For additional information about the DSNPAT command option, see Chapter 3
of the reference manual for the utility that you are running. For more
information about user-defined variables, see the user exits appendix in the
reference manual.
User response: Change your DSNPAT specification or, if the problem is with a
user-defined variable, contact the author of your user-written exit routine. (The
user-written exit routine is not part of the utility.) Resubmit or restart your job.
BMC50437E
Explanation: SORTWK data sets must be allocated on DASD units. The unit that
was specified with your UNIT command option or installation option for
SORTWK data set dynamic allocation is not a valid DASD unit. For details
about the UNIT command option, see Chapter 3 in the reference manual for the
utility that you are running.
User response: Change your UNIT command option or installation option for
SORTWK to specify a valid DASD unit. Resubmit or restart your job.
BMC50438E
DYNAMIC WORK FILE ALLOCATION SUPPORTS DASD AND TAPE UNITS ONLY,
UNIT(unit) FOR DDTYPE 'ddtype' IS INVALID
640
User response: If additional tape devices are available on your system, use the
MAXTAPE command option to increase the number of tape devices that the
utility can use for dynamic allocation. Alternatively, you can change one of the
following options:
s
Explanation: The SMS subsystem is not active on your system, but SMS was
specified in your dynamic allocation command options or the value of one or
more of the SMS installation options is YES.
For information about installation options, see Appendix A in the reference
manual for the utility that you are running. For details about the SMS command
option, see Chapter 3 in the reference manual.
User response: Change your SMS command options or installation options to a
value of NO and resubmit or restart your job.
BMC50441E
value 'SIZEPCT' VALUE FOR DDTYPE 'ddtype' IS NOT GREATER THAN ZERO
641
BMC50443E
Explanation: A pattern that was specified with the DSNPAT command option or
specified in your installation option contains embedded blanks, which is
invalid. The ddtype identifies the DSNPAT specification that needs to be revised.
For additional information about the DSNPAT command option, see Chapter 3
in the reference manual for the utility that you are running. For more
information about user-defined variables, see the user exits appendix in the
reference manual.
User response: Change the appropriate DSNPAT command option or
installation option, omitting any embedded blanks, and resubmit or restart your
job.
BMC50444E
Explanation: During dynamic allocation, a pattern that was specified with the
DSNPAT command option or installation option resulted in a data set name that
is already cataloged on your system. This message provides the affected
ddname and data set name.
User response: Change the appropriate DSNPAT command option or
installation option, ensuring that it will generate unique names for your data
set. Resubmit or restart your job.
BMC50445I
BMC50446I
UNIT OR
BMC50447I
SEC
PRI
SEC
BMC50448I
ddname
sk
pa
sa
dsname
unit/class
pk
t/r
Description
ddname
ddname
dsname
unit/class
pk
642
Information
Description
sk
pa
sa
t/r
UNIT 'unit' SPECIFIED FOR DDTYPE 'ddtype' NOT FOUND IN ELIGIBLE DEVICE
TABLE (EDT)
Explanation: The unit that was specified with your UNIT command option or in
your installation option is not valid for your system. The variable ddtype
identifies the UNIT specification that is incorrect.
User response: Contact your system programmer to determine which units are
valid for your system. Change the UNIT command option or installation option
appropriately. Then, resubmit or restart your job.
Appendix C
643
BMC50451E
Explanation: The utility requires n tracks for the indicated ddname. However,
the value that was specified for MAXEXTSZ (translated to m tracks) is
insufficient to size the primary and secondary quantities. The utility terminates
the job.
User response: Increase the value for MAXEXTSZ, or decrease the value for
SIZEPCT so that the utility can allocate at least n tracks. Resubmit the job.
BMC50452E
Explanation: After the utility applied the SIZEPCT value, the amount of space
that it calculated for the primary quantity is within the MAXEXTSZ limit.
However, the amount of space that it needs for the secondary quantity exceeds
the MAXEXTSZ limit. The utility terminates the job.
This problem occurs only when you specify a large number for the second
SIZEPCT value.
User response: Decrease the second value for the SIZEPCT option. Resubmit the
job.
BMC50453I
Explanation: The utility changed the values that it calculated for the primary
and secondary quantities so that they are within your specified limit for the
MAXEXTSZ option.
User response: No action is required.
BMC50454I
Explanation: The ANALYZE phase completed, but it was not able to generate all
of the information for the report because the prefix specified for the ddname is
too long.
User response: Specify a shorter ddname prefix in the command or installation
option. This prefix must allow the utility to append the maximum partition
number or work data set number without exceeding eight bytes.
BMC50455E
Explanation: For dynamic allocation of work files, the utility must be able to
distinguish the ddnames specified in the JCL for one type of work file from
those specified for another type of work file. The prefixes that this message
names do not create file names that enable the utility to make the distinction.
644
If the prefixes are different only because one prefix has additional trailing
characters (for example, BMC and BMCWK), the trailing bytes of the longer
prefix must contain at least one non-numeric byte.
User response: Change your prefix specification and resubmit the job.
BMC50456S
Explanation: The utility encountered invalid data in the indicated work data set.
The task number identifies the task that is associated with the error.
User response: Ensure none of the work data sets were changed after preloading
or unloading was complete or before a restart. If the data sets were not changed
in any way, contact BMC Software Customer Support. Depending on the phase
that was executing when the error was detected, you might have to recover the
associated DB2 data sets.
BMC50457E
Explanation: The utility attempted to create a base generation data group (GDG)
for the indicated ddname. However, when the utility expanded the data set
name by using the pattern from the DSNPAT installation or command option,
the resulting base name was too long. (The utility makes the variable
substitutions and uses everything up to the open parenthesis to create the base
name.)
User response: Shorten the pattern in the DSNPAT installation or command
option so that the expanded data set name is less than or equal to 35 characters.
Then, resubmit the job.
BMC50458E
Explanation: The utility cannot create a base generation data group (GDG) for
the indicated ddname.
User response: Take the appropriate action based on the additional information
that is displayed in the job log. Then, resubmit the job.
BMC50459E
Appendix C
645
BMC50460E
Explanation: One of the statements in your JCL is not valid with the specified
command option. For example, this error occurs in LOADPLUS when your JCL
contains a SYSREC DD statement and your LOAD command includes the
INDSN option.
User response: Correct your JCL or utility command and resubmit the job.
BMC50466E
Explanation: The utility determined that the file allocated to the indicated
ddname is not allocated properly. The utilitys work data sets should not be
allocated as temporary data sets. A temporary data set is defined as one whose
normal or abnormal DISP is one of the following values:
s
s
s
DELETE
NEW,PASS
OLD,PASS and the original status is not OLD
For additional information about the treatment of temporary data sets by the
product, see Chapter 2 of the reference manual for the utility that you are
running. If your installation options specify FILECHK=FAIL, the utility issues
the NOT ALLOWED version of this message and terminates processing. If your
installation options specify FILECHK=WARN, the utility issues the NOT
RECOMMENDED version of this message and continues processing. If you
restart your job after this warning, unpredictable errors can occur due to invalid
data in the work data set.
If you specified SHRLEVEL CHANGE, you get the NOT ALLOWED form of
this message if any full or incremental copy data sets are allocated as temporary
data sets.
User response: Correct the allocation error that is shown in this message and
restart the utility with the same utility ID.
BMC50467S
Explanation: The utility opened a work data set for input processing and
determined that it is not the same work data set that the utility created during
output processing. The utility might issue message BMC50466E with this
message.
User response: Correct the error and restart the utility with the same utility ID.
646
BMC50470I
install_option=
value
value
value
DDTYPE=
ACTIVE=
WORK
YES
UNLOAD
YES
SORTWORK
YES
environment_information
Example
system information
BMC50471I DIAG1=FEF3FF45FF8A00000000000000000000
BMC50471I ACFORTSS=YES
FILECHK=WARN
RCVYDDN=(BMCRCY,BMCRCZ)
= 810
...
BMC50471I ENCODING SCHEME
BMC50471I BMC_BMCUTIL
= EBCDIC
='AUSDB2UT.BMC_BMCUTIL'
Appendix C
647
BMC50472I
Explanation: The utility cannot find either the SMS support interface module
IGWAQSMS, or modules IGWASYS and IGWASMS. Therefore, it determined
that IBMs Storage Management Subsystem is not installed on your system.
These modules normally reside in SYS1.CSSLIB.
User response: If you do not require SMS support, no further action is required.
If you need SMS support, ensure that SYS1.CSSLIB is in your system LINKLIST
or allocated as part of your JOBLIB or STEPLIB.
BMC50473I
Explanation: This message tells you how the utility has determined that it will
perform processing. The value t indicates the maximum number of tasks that
the utility can run concurrently. The number of tasks does not include other
processes that always use a single task. The value p indicates the maximum
number of partitions that the utility can process per task based on the available
resources. The value s indicates the number of sort work files assigned to each
task.
User response: No action is required. However, you can use this information to
help improve performance. For more information about performance
considerations and performance-related messages, see the reference manual for
the utility that you are running.
BMC50476I
Explanation: The utility gathered these statistics during processing for the
indicated file. The w value indicates the number of I/O waits and r is the data
set contention count.
648
User response: No action is required. However, you can use this information to
help improve performance. For more information about performance
considerations, see the reference manual for the utility that you are running.
BMC50477I
Explanation: The utility gathered these statistics during processing for the
indicated partition. If part is zero, it indicates a nonpartitioned table space. The
task number identifies the task from which the statistics were generated.
User response: No action is required. However, you can use this information to
help improve performance. For more information about performance
considerations, see the reference manual for the utility that you are running.
BMC50478I
Explanation: The utility gathered this statistic during unload processing. The
variable r indicates the total data set contention count.
User response: No action is required. However, you can use this information to
help improve performance. For more information about performance
considerations, see the reference manual for the utility that you are running.
BMC50481I
Explanation: The indicated task completed with the given elapsed time.
User response: No action is required.
BMC50482I
Explanation: The indicated task completed with the given elapsed time.
User response: No action is required.
BMC50483I
ddtype DSNPAT=pattern
User response: This message displays the data set name pattern for the data set
that this utility will dynamically allocate. The ddtype identifies the data set type
to which the pattern applies.
User response: No action is required.
BMC50484I
Appendix C
649
BMC50485I
Explanation: This message displays the date and time that the utility issued a
DB2 DISPLAY LOCKS command. The DISPLAY LOCKS command, which the
utility issues immediately after a drain timeout, shows the locks that are held at
that time.
User response: No action is required.
BMC50490E
Explanation: The specified options module was assembled with a macro from a
different version of the utility than the one that you are using.
User response: To use this version of the utility, you must install the
corresponding installation options macro and reassemble. For more
information, see the Utility Products for DB2 Installation Guide.
BMC50491I
Explanation: The utility detected that one of the data sets that is participating in
the utility job has been migrated. The utility is recalling the data set. The utility
issues BMC50492I when the recall completes successfully.
User response: No action is required.
BMC50492I
Explanation: The CCSIDs that are defined on the table space on which the utility
is operating are not the same as the CCSIDs that are defined in the DSNHDECP
that the utility is using. The utility continues processing, using the CCSIDs that
are defined on the table space.
User response: No action is required.
650
BMC50495E
Explanation: The encoding scheme defined on the table space is either blank or
is not a valid encoding scheme. The utility terminates.
User response: Correct the table space definition and resubmit the job.
BMC50496I
Explanation: The CCSID that is defined on the specified column is different than
the CCSID that is defined on the table space for the type of data in that column.
The utility continues processing, using the CCSID that is defined on the table
space.
User response: No action is required.
BMC50497I
Explanation: The utility issues this message when it needs a block of storage for
diagnostic purposes. The routine requested a dump of the area for the length
shown in this message.
Print lines that show the contents of the area follow the header line of this
message. Each line can display up to 32 bytes, and each line is in the following
format:
ADDRESS
OFFSET
Description
ADDRESS
OFFSET
Explanation: This message indicates that an internal error occurred and usually
precedes a utility abend. This message displays additional information that
assists BMC Software Customer Support in determining the problem.
User response: Check any additional associated messages and any abend reason
codes. You can find a listing of most abend reason codes at the beginning of
Appendix C of the reference manual for the utility that you are running. If you
are unable to resolve the problem, contact BMC Software Customer Support.
Appendix C
651
BMC50499U/W
Explanation: This message indicates that an internal error occurred and usually
precedes a utility abend.
User response: If the message severity code is U (unrecoverable), check any
additional associated messages and any abend reason codes. You can find a
listing of most abend reason codes at the beginning of Appendix C of the
reference manual for the utility that you are running. If you are unable to
resolve the problem, contact BMC Software Customer Support.
If the message severity code is W (warning), see any additional associated
messages for the correct response.
BMC50500I
Explanation: The utility was unable to use the statistics from BMCSTATS for the
table space or index because the statistics were missing or incomplete. The
utility will run the job using ANALYZE SAMPLE.
User response: Run BMCSTATS to populate the statistics tables before
resubmitting the job.
BMC50503I
Explanation: The utility cannot gather and report statistics for this table space,
table, or index because of the type of load (LOADPLUS) or reorganization
(REORG PLUS) that you are performing. For information about when the utility
cannot produce statistics, see the description of the BMCSTATS or
UPDATEDB2STATS option in the reference manual for the utility that you are
running.
User response: No action is required.
652
BMC50504I
Explanation: This message verifies that the current statistics were placed in the
DASD MANAGER PLUS statistics table. The utility takes this action when you
specify BMCSTATS YES and when partial or complete statistics for the object
are available.
User response: No action is required.
BMC50506I
Explanation: This message verifies that the current statistics were placed in the
DB2 catalog. The utility takes this action when you specify UPDATEDB2STATS
YES and when complete statistics for the object are available.
User response: No action is required.
BMC50507I
Explanation: The utility could not locate the DASD MANAGER PLUS statistics
database.
User response: If the DASD MANAGER PLUS product is installed, ensure that
the xxxINIT5 member of your HLQ.JCL library (where HLQ is the high-level
qualifier that was specified during installation) specifies the correct names for
the DASD MANAGER PLUS statistics database. Also, ensure that the bind
process for the BMCSTATS plan completed successfully.
BMC50508I
Table name
TABLESPACE
SYSTABSTATS
TABLE
SYSTABSTATS
INDEX
SYSINDEXSTATS
Appendix C
653
PACT
PDRP
Explanation: These are the report headings for the information given in
messages BMC50510I and BMC50512I. The information is the statistics
associated with a table space partition. A brief description of each heading
follows:
Heading
PART
partition number
NACTIVE
CARD
FARIND
NEARIND
FULL
DIRTY
number of modified pages since the last copy was made (should
always be zero)
PACT
PDRP
654
Description
Heading
Description
SPACE
EXTENTS
DBCARD
PCOMP
KSAVED
PSAVED
statistics_data
Explanation: This is the statistical data for the table space partitions related to
the report and heading information given in messages BMC50510I and
BMC50511I
User response: No action is required.
BMC50513I
PARTS = p
TABLES = t
SEGSIZE = n
Description
PARTS
TABLES
SEGSIZE
NACTIVE = n
SPACE = n
Description
NACTIVE
SPACE
Appendix C
655
BMC50521I
CREATOR NAME
PCOMP
CARD
Explanation: This is the report heading for the table information given in
message number BMC50522I. A brief description of each heading follows:
Heading
Description
CREATOR
NAME
CARD
NPAGES
INDREF
ROWAVG
PCTPAGES
PCOMP
statistics_data
Explanation: This message provides statistical data for the tables related to the
report and heading information given in message BMC50521I.
If the creator or table name is longer than the available space for these names,
the utility truncates the name and indicates the truncation with a plus sign (+) in
the last position of the truncated name.
User response: No action is required.
656
BMC50531I
Explanation: These are the report headings for the index partition information
given in message number BMC50532I. A brief description of each heading
follows:
Heading
Description
PART
partition number
NACTIVE
CARD
LEAFDIST
100 times the average number of pages between successive leaf pages
of the index
FAROFF
NEAROFF
FULL
FREE
NLEAF
LEVELS
SPACE
EXTENTS
statistics_data
Explanation: This message provides statistical data for the index partitions
related to the report and heading information given in message BMC50531I.
User response: No action is required.
BMC50541I
Explanation: This is the heading for the statistical report for the index.
COLUMN is the first key column in the index.
User response: No action is required.
Appendix C
657
BMC50542I
Explanation: This message provides the following statistical data for the index:
Statistic
Description
FIRSTKEY
number of distinct values in the first 8 bytes of the first key column
FULLKEY
NLEAF
Explanation: This message provides the following statistical data for the index:
Statistic
Description
LEVELS
PCTCLUST
KEYLEN = n COLCOUNT = n
Explanation: This message provides the following statistical data for the index:
Statistic
Description
KEYLEN
COLCOUNT
Explanation: This message provides the following statistical data for the index:
Statistic
Description
SUBPAGE
CLUSTER
the value that was specified for CLUSTER when the index was
created (Y or N)
UNIQUE
658
BMC50546I
Explanation: This message provides the following statistical data for the index:
Statistic
Description
HIGH2KEY
LOW2KEY
Explanation: This message provides the following statistical data for the index:
Statistic
Description
HIGH2KEY
second highest key value for the column, written in character format
LOW2KEY
second lowest key value for the column, written in character format
Explanation: The utility cannot find a valid data set name for the specified
command. The utility considers data sets incomplete if the data set name
continues to another line using the IDCAMS symbol + or if the NAME
parameter and following left parenthesis are separated by one or more blanks.
The variable n indicates the number of the concatenation. The first data set in the
concatenation is 1, the second data set is 2, and so on.
User response: Correct your IDCAMS command statement in the SYSIDCIN
data set and resubmit the job. For guidelines, see the SYSIDCIN data set
description in Chapter 4 of the reference manual for the utility that you are
running.
Appendix C
659
BMC50603E
NAME 'dsname' DOES NOT MATCH ANY DB2 OBJECT USED, COMMAND
'command', DSN = n LINE = line
Explanation: The specified IDCAMS command references a data set name that is
not contained in the objects being reorganized or loaded and will be ignored.
The variable n indicates the number of the concatenation. The first data set in the
concatenation is 1, the second data set is 2, and so on.
User response: No action is required. However, if you determine that the
command statement was in error, correct the problem and resubmit the job.
Otherwise, the command will be ignored at processing time. For guidelines, see
the SYSIDCIN data set description in Chapter 4 of the reference manual for the
utility that you are running.
BMC50605I
Explanation: Commands that do not reference a data set name are matched with
the immediately preceding command with a data set name reference. No
previous command with a data set name exists for the specified command. The
variable n indicates the number of the concatenation. The first data set in the
concatenation is 1, the second data set is 2, and so on.
User response: No action is required. For guidelines, see the SYSIDCIN data set
description in Chapter 4 of the reference manual for the utility that you are
running.
BMC50606E
Explanation: The end of the specified command or the end of file was reached
before the command was complete. The variable n indicates the number of the
concatenation. The first data set in the concatenation is 1, the second data set is
2, and so on.
User response: Correct your IDCAMS command statement in the SYSIDCIN
data set and resubmit the job. For guidelines, see the SYSIDCIN data set
description in Chapter 4 of the reference manual for the utility that you are
running.
660
BMC50607I
Explanation: Based on the value for the DSVCI system parameter and the page
size for the buffer that is defined on the table space, the utility expected a
different control interval (CI) size for the indicated data set. However, the CI
size is valid, so the utility continues processing.
User response: No action is required.
BMC50608E
Explanation: The control interval (CI) size that was specified in an IDCAMS
DEFINE statement is not valid for the indicated data set. The CI size must be
either 4 KB or the page size for the buffer that is defined on the object. The utility
fails with return code 12.
User response: Correct your IDCAMS DEFINE statement and resubmit the job.
BMC50620E
Explanation: The utility attempted an operation that is not allowed. The utility
cannot execute on an auxiliary table.
User response: No action is required.
BMC50650I
Appendix C
661
BMC50653E
Explanation: The utility attempted to use the indicated package, but the package
is not usable. The utility terminates processing.
This problem can occur if the bind process reported that the package was bound
successfully but there was a problem with the bind of the associated plan during
product installation.
User response: If you are unable to determine the problem, you can send a trace
of the bind processing messages to the utility SYSPRINT by adding the
following statement to your JCL and resubmitting the utility job:
//BPKGTRAK DD DUMMY
If you are able to determine the problem, correct it and resubmit the utility job.
If you are unable to determine the problem from the trace information, contact
BMC Software Customer Support.
BMC50654I
Explanation: The utility finished the bind process for the indicated package and
indicates whether the process was successful or unsuccessful. If the bind process
was unsuccessful, the utility also issues message BMC50653E.
User response: No action is required.
BMC50700S
DIAGNOSTICS: text
662
BMC50703I
Explanation: The log control task cannot attach a subtask. The return code value
was received from MVS attach.
User response: Check the return code value in the MVS documentation.
BMC50705I
text
Explanation: The text shown in this message is output from a facility that this
product uses (for example, DB2 SQL, DB2 call attachment facility, DB2
instrumentation facility, or IDCAMS).
User response: Examine the context of this message to determine whether any
action is required.
BMC50706I
Explanation: A trace with the number shown in this message has been started to
capture DB2 log records.
User response: No action is required.
BMC50707E
Explanation: An error occurred while attempting to start the DB2 log capture
trace.
User response: Review the diagnostic messages that follow this message to
determine whether you can correct the error. If you need further assistance,
contact BMC Software Customer Support.
BMC50708I
Explanation: This message displays the return code and reason code from the
DB2 communications area for a failed DB2 command.
User response: Use this data in conjunction with the messages that precede and
follow this message to determine the nature of the error.
BMC50709I
Explanation: The DB2 log capture trace with the number shown in this message
has been stopped.
User response: No action is required.
Appendix C
663
BMC50710W
Explanation: An error occurred while attempting to stop the DB2 log capture
trace.
User response: Review the diagnostic messages that follow this message to
determine whether you can correct the error. You can manually terminate the
trace by using the following command, where num is the trace number:
-STOP TRACE(MON) CLASS(1) TNO(num)
BMC50711W
Explanation: The utility cannot stop the DB2 log capture trace due to an
end-of-task condition (for example, the job was canceled).
User response: You can manually terminate the trace by using the following
command, where num is the trace number:
-STOP TRACE(MON) CLASS(1) TNO(num)
BMC50712E
Explanation: The initialization of an ESTAE failed with the return code indicated
in this message.
User response: Contact BMC Software Customer Support.
BMC50713E
Explanation: The primary authorization ID of the process that runs the program
must have MONITOR1 or MONITOR2 privilege.
User response: Obtain the proper privilege or run the program with a different
authorization ID.
BMC50714E
664
User response: Review the accompanying DB2 CAF diagnostic messages. The
plan might not be bound on the subsystem or you are not authorized to execute
the plan. If the plan name is incorrect, check the assembled options module to
determine the plan name.
BMC50716I
Explanation: This message indicates that a buffer was created for holding pages
for the indicated task.
User response: No action is required.
BMC50717I
Explanation: This message reports specific values that are associated with the
page buffer for the indicated task.
User response: No action is required
BMC50718I
Explanation: This message reports specific values that are associated with the
page buffer for the indicated task.
User response: No action is required.
BMC50719I
Explanation: This message reports specific values that are associated with the
page buffer for the indicated task.
User response: No action is required.
BMC50720I
Appendix C
665
BMC50722I
task_no: TOTAL WAIT TIME = time, RANDOM WRITE TIME = time, RANDOM READ
TIME = time
666
BMC50729I
Explanation: A write error occurred with the return code shown in this message.
User response: Contact BMC Software Customer Support.
BMC50734S
Explanation: A read error occurred with the return code shown in this message.
User response: Contact BMC Software Customer Support.
BMC50736S
Explanation: The options for this utility indicate that the utility is to use DB2s
RACF security authority to open DB2 data sets. A failure occurred while
attempting to switch the RACF authorization ID.
User response: If your security system is not RACF, specify OPNDB2ID=NO in
the options module for the BMC Software utility that you are running. Ensure
that you have the required authority on all of the necessary data sets. If you are
using RACF, contact BMC Software Customer Support.
Appendix C
667
BMC50737I
Explanation: A VSAM EXTEND was successful for the indicated data set.
User response: No action is required.
BMC50738I
Explanation: A VSAM CREATE is being attempted for the indicated data set in a
multi-data set table space.
User response: No action is required.
BMC50739I
Explanation: A VSAM CREATE was successful for the indicated data set.
User response: No action is required.
BMC50740E
Explanation: This message is the header message for statistics from a log apply
task.
User response: No action is required.
BMC50742I
Explanation: This heading message indicates that the following messages refer
to counts for log records that were received at the log exit.
User response: No action is required.
BMC50743I
Explanation: This heading message indicates that the following messages refer
to counts for log records that were calculated after multiple records for the same
row have been combined.
User response: No action is required.
BMC50744I
Explanation: This message displays the number of insert records that were
found in both the regular and rollback portions of the transactions.
User response: No action is required.
668
BMC50745I
Explanation: This message displays the number of update records that were
found in both the regular and rollback portions of the transactions.
User response: No action is required.
BMC50746I
Explanation: This message displays the number of delete records that were
found in both the regular and rollback portions of the transactions.
User response: No action is required.
BMC50747I
text
Explanation: This is the page count data for the table space partitions related to
the heading information given in messages BMC50747I and BMC50748I.
User response: No action is required.
BMC50750I
Explanation: A request to extend the indicated data set failed with the return
code shown in this message.
User response: Check the target DASD volumes for the data set to ensure that
enough space is available for extension. If you need assistance to determine the
cause of this error, contact BMC Software Customer Support.
Appendix C
669
BMC50752S
Explanation: The EDITPROC returned the error code shown in this message.
User response: Consult the EDITPROC documentation.
BMC50753S
Explanation: The indicated compression system function failed with the return
code shown in this message.
User response: Contact BMC Software Customer Support.
BMC50756I
Explanation: A message was too large for the XBM response buffer provided.
User response: Contact BMC Software Customer Support.
BMC50770S
Explanation: The indicated log apply task started at the indicated time.
User response: No action is required.
BMC50774S
BMC50775E
Explanation: The utility required a new multi-data set for the indicated space,
but the space already reached its maximum number of data sets.
User response: If the maximum number of data sets has not been reached or
more space is available, contact BMC Software Customer Support.
BMC50776E
Explanation: The number of records in the log record queue is at or below the
user-specified threshold (LOGTHRESHLD). Therefore, the LOGFINAL phase
has started.
User response: No action required.
BMC50779I
Explanation: The utility estimates that the LOGAPPLY phase can complete
within the user-specified maximum read-only time (MAXRO value). Therefore,
the LOGFINAL phase has started.
User response: No action is required.
BMC50780I
Explanation: Log records are arriving faster than they can be applied, causing a
long log condition. The utility delays until the specified time before taking the
action that was specified with the LONGLOG option. The utility continues to
apply log records.
User response: No action is required.
Appendix C
671
BMC50781E
Explanation: The long log condition persisted until the specified delay time.
Therefore, the utility takes the action that was specified with the LONGLOG
option, which was to terminate the job.
User response: No action is required.
BMC50782I
Explanation: The long log condition persisted until the specified delay time.
Therefore, the utility takes the action that was specified with the LONGLOG
option, which is to begin the LOGFINAL phase.
User response: No action is required.
BMC50783I
Explanation: The log record arrival rate no longer exceeds the log record apply
rate. The utility resets the delay time.
User response: No action is required.
BMC50784E
Explanation: The quiesce of the space failed and the utility will not perform
LOGFINAL phase processing.
User response: For more information, see the preceding messages.
BMC50786I
Explanation: This message reports when the indicated task ended and how long
it took to process.
User response: No action is required.
BMC50787I
Explanation: This message reports the data set name for accompanying
messages.
User response: For the appropriate action, see the accompanying messages.
672
BMC50788S
Explanation: The utility cannot update the index because the index is not
initialized.
User response: Contact BMC Software Customer Support.
BMC50789W
Explanation: The utility received an error code from the XBM that is identified
by the subsystem ID (ssid).
User response: Check for XBM error messages.
BMC50791I
task_no: PAGE X 'page' OF INDEX index IS MARKED 'READ WITH I/O ERROR'
Explanation: This message is the heading message for the index update statistics
that follow.
User response: No action is required.
BMC50795I
Explanation: This message is the heading message for the display of the XBM
command and response that follows.
User response: No action is required.
Appendix C
673
BMC50796I
xbm_command/response
Explanation: An internal error occurred. The utility cannot read the device type
information for the indicated ddname.
User response: Contact BMC Software Customer Support.
BMC50800E
Explanation: The XBM Utility Monitor set the value for the parameter shown in
this message.
User response: No action is required.
BMC50802W
Explanation: The log apply control options were changed after the LOGFINAL
phase started, which is not allowed.
User response: No action is required.
674
BMC50803I
Explanation: This message is the heading for the DISPLAY command output
from the XBM Utility Monitor.
User response: No action is required.
BMC50804I
PARTITION(S): part
part
Appendix C
675
BMC50810I
INDEX creator.index
Explanation: The table had its DATA CAPTURE flag status changed to ON,
CHANGES, or NONE.
User response: No action is required.
BMC50820I
Explanation: The long log delay time has been reached and processing continues
to the next time indicated in this message, based on your request.
User response: No action is required.
BMC50822I
Explanation: This message displays the currently executing phase and the time
that it started.
User response: No action is required.
BMC50823I
Explanation: This message displays when the utility detects a long log condition.
User response: No action is required.
BMC50825I
Explanation: This message displays the time when the utility will take the action
that was specified with the LONGLOG option.
User response: No action is required.
676
BMC50826I
Explanation: The log processing exit cannot keep pace with the DB2 logging
activity. This resulted in the exit requiring records that are no longer available
on the active log files.
User response: Run the program during a period of lesser activity or expand the
size of the active log data sets.
BMC50832E
Explanation: The DB2 monitor trace is not active. This usually occurs when a
STOP TRACE command is issued while running the utility with SHRLEVEL
CHANGE.
User response: Resubmit the job and ensure that nothing stops the monitor trace
that the utility started.
Appendix C
677
BMC50833E
Explanation: The displayed DB2 command failed for the data sharing group
member. Message BMC50834I precedes this message.
User response: To determine the appropriate action, see the response that is
supplied in message BMC50834I. If the problem persists, contact BMC Software
Customer Support.
BMC50836E
Explanation: Using the extended console interface, the utility issued a DB2
command to the member of a data sharing group. The member did not respond,
so the utility terminated.
User response: See the system log for console errors. Check to see if the DB2
member received the command. If you cannot resolve the problem, contact
BMC Software Customer Support.
BMC50838E
BMC50839E
Explanation: During a SHRLEVEL CHANGE job, the utility discovered that one
or more required monitor traces was not active, issued message BMC50838E,
and stopped any active monitor traces for other SHRLEVEL CHANGE jobs that
were running in the same data sharing group. The utility issues this message to
inform you that it is stopping the monitor traces and terminating the other
SHRLEVEL CHANGE jobs running in that data sharing group. The monitor
trace must be active on each member of a DB2 data sharing group to ensure that
all log records are collected.
User response: Resubmit the utility job, ensuring that none of the monitor traces
are stopped while the utility is running.
BMC50840I
Explanation: The utility started a monitor trace for each active DB2 member of a
data sharing group.
User response: No action is required.
BMC50841I
MONITOR TRACE CLASS (1) WILL REMAIN ACTIVE ON ALL ACTIVE MEMBERS
TO SERVICE OTHER SHRLEVEL CHANGE REORGS
Explanation: More than one SHRLEVEL CHANGE utility job is running in this
data sharing group. The job that finished did not end any monitor traces.
User response: No action is required.
BMC50844I
Explanation: The utility issued a START TRACE command, but the trace is
already active.
User response: No action is required.
Appendix C
679
BMC50845I
Explanation: A utility job with SHRLEVEL CHANGE stopped the monitor trace
for the member of a data sharing group. No other SHRLEVEL CHANGE jobs
were running.
User response: No action is required.
BMC50846I
Explanation: The DB2 member was started after a SHRLEVEL CHANGE job
started. Because the utility cannot guarantee the integrity of the job, it
terminated.
User response: Resubmit the job, ensuring that no members are started or
stopped while the SHRLEVEL CHANGE job is running.
BMC50847I
Explanation: This message displays the number of changed page buffers, I/O
buffers, and the largest block size that the utility initially allocated. The utility
issues this message when the utility updates full copy data sets as part of a
SHRLEVEL CHANGE job.
User response: No action is required.
BMC50848E
Explanation: The utility issues this message if an I/O routine fails while the
utility is updating a full copy data set for a SHRLEVEL CHANGE job. This
message contains information that is useful to BMC Software Support.
User response: Contact BMC Software Customer Support.
BMC50849E
Explanation: This message displays statistical information for the partition. The
utility gathers this information when it updates a full copy data set for a
SHRLEVEL CHANGE job. Message BMC50851I always follows this message.
User response: No action is required.
680
BMC50851I
Explanation: This message displays statistical information for the indicated task.
The utility gathers this information when it updates a full copy data set for a
SHRLEVEL CHANGE job. Message BMC50853I always follows this message.
User response: No action is required.
BMC50853I
Appendix C
681
BMC50856E
Explanation: The status of the object was changed while the utility job was
running. The utility terminated the utility job. This message contains the relative
byte address (RBA) or the log record sequence number (LRSN), if in a data
sharing environment, of the associated DB2 log record.
User response: Resubmit the job and ensure that the status of the object does not
change while the utility job is running.
BMC50858E
DELETE WITHOUT WHERE CLAUSE DETECTED FOR TABLE table AT LOG RBA
rba/lrsn
Explanation: While applying log records during the LOGAPPLY phase, the
utility detected a mass DELETE operation (an SQL DELETE without a WHERE
clause). The utility terminated the job. This failure occurs only if the object on
which the utility is operating is a segmented table space.
User response: Resubmit the job, ensuring that no mass DELETE operation
occurs while the utility is running.
BMC50859I
Explanation: This message displays (in kilobytes) the amount of data space
memory that is available for log records and the amount the utility used to store
them. The amount of memory that is available is the amount that was specified
on the LOGMEM option. The amount of memory that the utility used might be
slightly greater than the amount that was specified on the LOGMEM option
because of how the utility allocates the memory.
User response: No action is required. For additional information, see message
BMC50860I.
682
BMC50860I
TOTAL WAIT TIME FOR LOG RECORD STORE MEMORY = time DATA = time
INDEX = time
Explanation: This message displays the time in seconds that the utility spent
waiting for available memory in order to store log records. The total time is the
sum of the second and third times displayed.
User response: To reduce the total wait time, increase the amount of available
memory that is specified on the LOGMEM option.
BMC50861E
Explanation: The utility displays this message if the application issues multiple
DELETE statements for filtered rows and the number of DELETE statements to
be ignored exceeds the limit shown in this message. The job terminates.
User response: Review the filter criteria that was specified for this job. Resubmit
the job to avoid a conflict between the filter criteria and the application that is
issuing the SQL DELETE statements.
If the limit shown in this message is inappropriate for your environment,
contact BMC Software Customer Support.
BMC50863I
Explanation: The amount of data space memory that the LOGMEM option
specifies is not enough to achieve optimal performance. This message displays
the recommended amount of data space memory in kilobytes.
User response: To improve the performance of the SHRLEVEL CHANGE
operation, change the amount of data space memory specified on the LOGMEM
option to the recommended value that is displayed in this message. Then
resubmit the job.
Appendix C
683
BMC50864I
Explanation: This message displays the total number of log records that are
stored in the log record store for the table space updates (data) and index
updates (index).
User response: No action is required.
BMC50866I
Explanation: This message displays the number of requests to store log records
in the spill data sets, the largest amount of data that was stored in the spill data
sets, and the number of spill data sets that the utility created.
User response: No action is required.
684
BMC50868I
Explanation: This message displays the number of read and write requests to the
spill data sets and the time that the log record store or RID map component
spent waiting for the read and write requests to complete.
User response: No action is required.
BMC50869I
Explanation: The log records used all of the data space memory and spilled to
the indicated data set, or the existing spill data set could not be extended
further. The utility issues this message each time that it creates a new spill data
set.
User response: No action is required.
BMC50870E
Explanation: The log record store or RID map component was not able to create
the indicated data set, which it needed in order to store the spilled log records.
User response: For more information about why the component could not create
the data set, see the preceding BMC50826I messages. Correct the problem if
possible, and resubmit the job.
BMC50871E
Explanation: The log record store or RID map component could not allocate the
spill data set, or it reached the maximum number of spill data sets.
User response: For more information about why the data set could not be
created, see the preceding BMC50826I messages and message BMC50870I.
Correct the problem if possible, and resubmit the job.
BMC50872I
Explanation: The log record store or RID map component found that the
primary or secondary DASD allocation that was specified for the spill data sets
is insufficient. The component increased the allocation to the minimum amount
that it needs to allocate the data space.
User response: To improve performance, change the amount specified on the
LOGSPILL option to at least as much as the component allocated.
BMC50873I
Explanation: The amount of data space that was requested on the LOGMEM
option exceeded the system-allowed limits for maximum data space count or
maximum data set size. The log record store component decreased the amount
of data space that it used to remain within the system limits.
User response: Contact BMC Software Customer Support.
Appendix C
685
BMC50874S
Explanation: The utility calculated that it needs n KB of storage to hold the log
records. However, the maximum amount of available memory is set by
multiplying the value of the LOGRMAXD installation option by the value of the
LOGRDSSZ installation option. If the result is less than the minimum amount of
storage that the utility needs, the utility terminates the job.
User response: Increase the values of the LOGRMAXD and LOGRDSSZ options
so that when they are multiplied, the resulting value is greater than the number
shown in this message.
BMC50876S
Explanation: The utility failed while initializing the RIDMAP component and
terminated with the indicated return code.
User response: To determine whether you can correct the problem, see previous
messages. If you cannot correct the problem, contact BMC Software Customer
Support.
BMC50877I
Explanation: The utility externalized page set buffers for all of the required
objects, establishing a point of consistency at the displayed relative byte address
(RBA) or log record sequence number (LRSN).
User response: No action is required.
BMC50878I/E
686
BMC50880I
Explanation: This message displays statistics for a full table space or all
partitions in a partitioned table space (SUMMARY), or for an individual
partition (PART). The statistics show the maximum amounts for the following
resources:
Statistic
Description
ROWS
PAIRS
number of RID pairs (old RID and new RID) that are stored
STORAGE
total amount in kilobytes of storage that was used (DASD and data
space memory)
MEM WAITS
WAIT TIME
total amount of time (in seconds) that was spent waiting for
memory
Explanation: This message displays statistics for a full table space or all
partitions in a partitioned table space (SUMMARY), or for an individual
partition (PART). The statistics show the amount of activity in the RID map for
the following operations:
Statistic
Description
TRANS
ADD
DELS
SPILL READS
number of read requests that were made against a spill data set
WAIT TIME
total amount of time (in seconds) that were spent waiting for I/O
operations to complete
Appendix C
687
BMC50882I
Description
MAX DATASPACES
USED DATASPACES
RIDMAPMEM
USED MEM
Explanation: The value that was specified for the RIDMAPMEM option is
insufficient for the utility to continue processing.
User response: Change the value on RIDMAPMEM to a value that is equal to or
greater than the value in this message, and resubmit the job.
BMC50885I
Explanation: The utility used the spill data sets because it either exceeded the
amount of memory that it could use (specified on RIDMAPMEM) or exceeded
the number of data spaces that it was allowed to allocate.
User response: If the utility exceeded the amount of memory, increase the
amount that was specified for the RIDMAPMEM option, and resubmit the job. If
the utility exceeded the number of data spaces, increase the value for the
RIDMDSSZ option and resubmit the job. If you receive this message a second
time because the number of data spaces was exceeded, increase the value of the
RIDMMAXD option and resubmit the job.
BMC50886E
Explanation: The utility failed with an internal error. This message provides
diagnostic information for BMC Software Customer Support.
User response: Contact BMC Software Customer Support.
688
BMC50887I
Explanation: The amount of memory that was specified for the RIDMAPMEM
option is insufficient. The utility changed the value to the amount shown in this
message, in kilobytes, so that it can continue processing the job.
User response: No action is required.
BMC50890I
Explanation: The utility issues this message during the rename and delete
operations that are associated with the staging data sets when you specify one of
the following options:
s
s
The task number identifies the task that is associated with the operation. The
value for action can be either RENAME or DELETE.
User response: No action is required. However, you should ensure that the
utility subsequently issues a corresponding message BMC50891I, which
indicates that the operation for that data set completed successfully.
BMC50891I
Explanation: The utility issues this message during the rename and delete
operations that are associated with the staging data sets when you specify one of
the following options:
s
s
The utility issues this message in conjunction with BMC50890I, indicating that
the operation for the data set completed successfully. The task number identifies
the task that is associated with the operation. The value for status can be either
RENAMED or DELETED.
User response: No action is required.
BMC50892I
Appendix C
689
BMC50894I
Explanation: This message marks the beginning of the indicated process. If this
process completes successfully, the utility issues message BMC50895I.
User response: No action is required.
BMC50895I
Explanation: The utility encountered a data set that does not meet the
requirement shown in this message. The following information describes the
requirements that this message displays:
Requirement displayed
Explanation
MUST BE EA ENABLED
DUE TO DSSIZE
User response: Your response depends on the requirement that this message
displays:
Requirement displayed
MUST BE EA ENABLED
DUE TO DSSIZE
BMC50915E
Response
Explanation: The table space that was specified (or the table space that contains
the table that you specified) for this utility execution uses a Unicode encoding
scheme. Either you are running this version of the utility under DB2 version 7 or
this version of the utility does not support Unicode encoding schemes.
User response: Specify a table space that does not use a Unicode encoding
scheme (or specify a table in a table space that does not use a Unicode encoding
scheme).
690
LOADPLUS messages
BMC50916E
Explanation: The index that was specified (or an index for the table that was
specified) for this utility execution uses a Unicode encoding scheme. This
version of the utility does not support Unicode encoding schemes.
User response: Specify an index that does not use a Unicode encoding scheme (or
specify a table that does not have indexes that use a Unicode encoding scheme).
LOADPLUS messages
Messages that LOADPLUS issues are shown here in bold. When a message contains
text that can vary, the type of variable is shown in lowercase and is italicized. The
actual message contains the specific text of the variable type shown.
BMC51401E
Explanation: The same field name was used more than once in the field
specification.
User response: Correct the field specification and resubmit the job.
BMC51402E
FOR FIELD 'field', POSITION START AND END MUST BOTH BE ABSOLUTE
VALUES OR BOTH RELATIVE VALUES
Explanation: If you use an integer for the start position, you must either specify
an integer end position or not specify an end position. If you use * or *+n for the
start position, you must either specify a *+m end position or not specify an end
position. m must be greater than or equal to n.
User response: Correct the position specification and resubmit the job.
BMC51403I
Explanation: For the field type indicated, you must specify POSITION(start:end)
or a length. For more information, see the POSITION keyword description on
page 232.
User response: Correct the field specification and resubmit the job.
Appendix C
691
LOADPLUS messages
BMC51405E
Explanation: LOADPLUS does not support the data conversion that is implied
by the data type of the indicated field and the column data type. For the allowed
conversions, see Table 51 on page 248.
User response: Correct the field specification and resubmit the job. You can also
write your own conversion routine to perform the conversion.
BMC51406E
Explanation: A field specification for the indicated column was not included and
the column is defined as NOT NULL and does not have a DEFAULT
specification.
User response: Add the field specification and resubmit the job.
BMC51407E
Explanation: You specified NULLIF but the column is defined as NOT NULL.
User response: Correct the field specification and resubmit the job.
BMC51408E
Explanation: For a field that has no corresponding column, the data type can
only be CHARACTER (CHAR).
User response: Correct the field specification and resubmit the job.
BMC51410E
Explanation: The data type in your field specification for this column is valid
only under certain circumstances, as described by reason. The most likely
scenario for this message is that a delimited timestamp data type was specified,
but you did not specify FORMAT CSV.
User response: Change the data type in your field specification or change other
appropriate options on your LOAD command. Resubmit the job.
692
LOADPLUS messages
BMC51411E
option NOT ALLOWED WITH FORMAT UNLOAD, FORMAT BMC, FORMAT CSV,
OR FORMAT BMCUNLOAD
Explanation: An option on your LOAD command is not valid for one of the
FORMAT options. The option indicates one of the following limitations with the
FORMAT option:
s
If you include the WHEN option with FORMAT UNLOAD, FORMAT BMC,
or FORMAT CSV, your comparison must use a table column name, not a
start:end field.
User response: Correct the LOAD command and resubmit the job.
BMC51413E
'WHEN TABLE = ' ALLOWED ONLY WITH FORMAT UNLOAD, FORMAT BMC, OR
FORMAT BMCUNLOAD
Explanation: The indicated FORMAT option is not valid with the value of the
RULES option in your installation options module. For this execution,
LOADPLUS has overridden this value with the value that displays in the
message.
User response: No action is required.
Appendix C
693
LOADPLUS messages
BMC51415E
FOR 'option' FIELD 'field', ONLY '=', ' =','<>', 'IN', & 'NOT IN' COMPARISONS ARE
ALLOWED
FOR FIELD 'field', ONLY ONE NULLIF/DEFAULTIF CAN SPECIFY THE 'ERROR'
OPTION
Explanation: LOADPLUS does not allow you to specify more than one error
condition per column.
User response: Correct the LOAD command and resubmit the job.
BMC51418E
Explanation: If you specify INDEX UPDATE for a two-phase load, you must
specify UNIQUECHECK NO.
User response: Correct the LOAD command and resubmit the job.
BMC51420E
FOR INPUT RECORD NUMBER recno, FIELD 'field' STARTS IN POSITION n BUT
HAS NO END STRING DELIMITER
Explanation: While loading your CSV data, LOADPLUS found an input record
that contains a delimiter that indicates the beginning of a string. However,
LOADPLUS reached the end of the record without finding an end-of-string
delimiter. LOADPLUS discards the record.
User response: Correct your input data and resubmit your job.
694
LOADPLUS messages
BMC51421I
Explanation: A field specification was not provided for a column of the table that
you are loading, and the column meets one of the following criteria:
s
s
Explanation: LOADPLUS issues this message if you did not specify POSITION
on the field specification and LOADPLUS can determine the start position, or if
you specified only POSITION(start) and LOADPLUS can determine the end
position.
User response: No action is required.
BMC51424I
Explanation: LOADPLUS did not perform the ANALYZE phase and did not
dynamically allocate any data sets because ENUMROWS was not specified with
a value for total or new.
User response: Specify ENUMROWS (total) or ENUMROWS (,new) and resubmit
the job. For information about the values to use for total or new, see
ENUMROWS on page 174.
Appendix C
695
LOADPLUS messages
BMC51426I
MULTIPLE PART NUMBERS ARE NOT ALLOWED WITH MORE THAN ONE INTO
TABLE BLOCK
You included a column that is defined with a data type of BLOB, CLOB, or
DBCLOB in your INTO field specification.
696
LOADPLUS messages
BMC51430E
Explanation: The displayed option is valid only if you specify PART REPLACE
for all partitions that are involved in the load and no nonpartitioning indexes
exist. This condition is true, for example, when performing a LOAD RESUME
YES SHRLEVEL REFERENCE job.
User response: Correct the LOAD command and resubmit the job.
BMC51431E
Explanation: You specified one of the following options and your table includes
a column that is defined with a LOB data type (BLOB, CLOB, or DBCLOB):
s
s
s
LOAD REPLACE
LOAD RESUME YES PART n REPLACE
LOAD RESUME YES INTO TABLE name REPLACE
NOTE
If you have the Database Administration solution installed, you can load LOB data into
auxiliary tables by using the LOB DATA MOVER program from the CHANGE
MANAGER component of the solution.
BMC51432W
Explanation: You are loading a table that contains a ROWID column that is
defined as GENERATED ALWAYS. LOADPLUS ignores the field specification
and any input data from this column, and generates its own unique row
identifiers.
User response: No action is required. However, if you want LOADPLUS to load
data from a ROWID column, you must define it as GENERATED BY DEFAULT.
Appendix C
697
LOADPLUS messages
BMC51433E
NOTE
You do not have to supply a field specification for the last input field or fields in your
CSV file if you do not want to load these fields.
User response: Add a field specification for the indicated column. If you do not
want to load the input field from your CSV file, include a dummy field
specification. For additional information about field specifications when loading
CSV data, see to Chapter 2, Operational considerations.
BMC51435S
698
LOADPLUS messages
BMC51437E
SYSUT1 is always required to restart this type of load job, unless you specify
TABLE name REPLACE.
SORTOUT is required to restart if you also specify ORDER YES and you do
not specify PART n REPLACE or TABLE name REPLACE.
User response: Recover the table space and indexes, and resubmit the original
job.
BMC51438E
Explanation: You specified ORDER PRESORTED but the input data is not in
clustering index sequence. Record number n is not in correct sequence after all
FIELDPROCs, EDITPROCs, and VALIDPROCs were processed. LOADPLUS
checks sequence as the row is about to be loaded, and the internal key might not
reflect the external data fields.
Two BMC50497I messages follow this message. The first BMC50497I message
displays the previous key. The second message displays the current key. The
length of each of these keys includes the NULL indicator byte for any field that
is nullable.
User response: Sort the data in clustering index order and resubmit this job; or
change the ORDER option to ORDER NO or ORDER YES and resubmit the job.
Note that you cannot restart the job if you change the value of the ORDER
option.
BMC51440E
Explanation: LOADPLUS found a page (n) that showed an I/O error during an
I/O operation for that page.
User response: Contact BMC Software Customer Support.
BMC51441E
Explanation: LOADPLUS detected a discrepancy between the flag byte and last
byte on page n.
User response: Contact BMC Software Customer Support.
Appendix C
699
LOADPLUS messages
BMC51442E
FOUND PAGE FLAGS X'flags' INDICATING SPACE MAP AT PAGE NUMBER X'n'
Explanation: LOADPLUS cannot perform logical index processing for the reason
indicated.
User response: Contact BMC Software Customer Support.
BMC51448E
Explanation: A severe error occurred while processing a page within this data
set. For more information about the error, see accompanying messages.
User response: Contact BMC Software Customer Support.
700
LOADPLUS messages
BMC51449W
Explanation: A logical record that is greater than 32,768 bytes long was being
created during CONTINUEIF processing. This is not permitted.
User response: Correct the input and resubmit the job.
BMC51451E
Explanation: You did not specify LOAD REPLACE or PART REPLACE when
you specified RESUME NO and the indicated partition of the indicated table
space contains active DB2 data.
User response: Specify LOAD REPLACE, PART REPLACE, or RESUME YES and
restart the job.
BMC51452E
Explanation: You specified RESUME NO and did not specify LOAD REPLACE
and the indicated table space contains active DB2 data.
User response: Specify LOAD REPLACE or RESUME YES and restart the job.
BMC51453I
Explanation: LOADPLUS issues this message for the table space when you
specify LOAD REPLACE (or LOAD RESUME NO REPLACE). LOADPLUS
issues this message for the table when you specify LOAD RESUME YES INTO
TABLE name REPLACE.
User response: No action is required.
BMC51454I
Appendix C
701
LOADPLUS messages
BMC51455E
NULLIF/DEFAULTIF SPECIFICATION FOR FIELD 'field' EXTENDS BEYOND ENDOF-RECORD FOR ALL RECORDS
Explanation: You specified CONTINUEIF and the current record indicates that
the next record should be concatenated, but LOADPLUS encountered an endof-file indicator on the indicated input data set.
User response: Check and correct the continuation or input data and resubmit
the job.
BMC51460S
Explanation: The number of discard violations exceeds the discard limit that you
specified with the DISCARDS option. (For additional information about discard
violations, see DISCARDS on page 165.) The load job did not complete and
the table space remains in use by LOADPLUS.
702
LOADPLUS messages
User response: Correct the errors that are causing records to be discarded or
increase the discard limit. For any type of load job except an SQLAPPLY load,
restart LOADPLUS with the same utility ID.
For an SQLAPPLY load, some records might have already been loaded. Take the
appropriate action for your situation.
BMC51462I
Explanation: LOADPLUS bypasses the LOAD phase and does not rebuild the
indexes because you specified RESUME YES and no rows were added to the
table space.
User response: No action is required, but you should verify that the options in
your LOAD command are correct.
BMC51465I
Explanation: LOADPLUS bypasses the build process for the indicated index
because no rows were added to the table.
User response: No action is required.
BMC51466I
Explanation: LOADPLUS bypasses the build process for the indicated index
partition because no rows were added to the table.
User response: No action is required.
BMC51467E
Appendix C
703
LOADPLUS messages
BMC51468E
Explanation: The record formats for your SYSRECnn data sets are inconsistent.
The SYSRECnn data sets you specify must be all fixed (F or FB) or all variable
(V, VB, or VBS).
User response: Revise the record formats for your SYSREC data sets or revise
your SYSREC DD statements and resubmit the job.
BMC51469E
Explanation: The LRECL (logical record length) for your data sets is
inconsistent. All specified data sets must have the same LRECL.
User response: Revise your data sets or your DD statements and resubmit the
job.
BMC51470I
704
LOADPLUS messages
NOTE
Note the following additional information:
s
Records that LOADPLUS does not select because they do not meet the WHEN
criteria on any INTO clause are not considered errors.
The number of discarded records in your SYSDISC data set might not match the
number of discards that LOADPLUS reports in this message because LOADPLUS
issues a separate discard message for each violation. For example, if two input
records are duplicates and they both violate a table check constraint, LOADPLUS
reports four discard violations, but the SYSDISC data set contains only two
discarded input records.
Explanation: Load processing completed for the indicated table. The variable n
indicates the number of rows that LOADPLUS actually loaded into the
indicated table.
The adjusted version of this message displays statistics after discard processing
completes, reflecting the actual number of loaded rows after discards.
User response: No action is required.
BMC51474I
Explanation: Load or build processing completed for the indicated partition. The
variable n indicates the number of rows or keys that LOADPLUS actually
loaded into the data set partition identified as part.
User response: No action is required.
BMC51475I
Explanation: Load processing completed for the indicated table space. The
variable n indicates the number of rows that LOADPLUS actually loaded into
the table space indicated.
User response: No action is required.
BMC51476I
Explanation: Load processing completed for the indicated index. The variable n
indicates the number of keys that LOADPLUS built for the indicated index.
The adjusted version of this message displays statistics after discard processing
completes, reflecting the actual number of built keys after discards.
User response: No action is required.
Appendix C
705
LOADPLUS messages
BMC51477I
Explanation: PRELOAD processing completed for the input data set. This
message indicates the number of physical (and logical) records (after
CONTINUEIF processing) that LOADPLUS read from the input data set in the
indicated SYSREC DD statement.
User response: No action is required.
BMC51479I
706
LOADPLUS messages
BMC51481I
Explanation: Because all partitions were not replaced, index statistics are
gathered for the replaced partitions. LOADPLUS does not use the statistics to
update the BMCSTATS tables or the DB2 catalog.
User response: No action is required.
BMC51483S
Explanation: The number of rows that LOADPLUS wrote to the SORTOUT file
during the PRELOAD phase does not match the number of rows that
LOADPLUS loaded into the indicated table space partition during the LOAD
phase. (If part is zero, the table space is nonpartitioned.)
User response: Verify that the SORTOUT file that LOADPLUS created during
preload processing is the same file that LOADPLUS used for load processing. If
the same file was used, contact BMC Software Customer Support.
BMC51484S
Explanation: The number of keys that LOADPLUS wrote to the SYSUT1 file
during the PRELOAD phase does not match the number of keys that
LOADPLUS loaded into the indicated index partition during the LOAD phase.
(If part is zero, the table space is nonpartitioned.)
User response: Verify that the SYSUT1 file that LOADPLUS created during
preload processing is the same file that LOADPLUS used for load processing. If
LOADPLUS used the same file, contact BMC Software Customer Support.
BMC51485S
Explanation: The number of rows that LOADPLUS wrote to the SORTOUT file
during the PRELOAD phase does not match the number of rows that
LOADPLUS loaded into the indicated table during the LOAD phase.
User response: Verify that the SORTOUT file that LOADPLUS created during
preload processing is the same file that LOADPLUS used for load processing. If
LOADPLUS used the same file, contact BMC Software Customer Support.
BMC51486I
Appendix C
707
LOADPLUS messages
BMC51487E
Explanation: Based on the primary and secondary quantities for this data set, the
number of extents allowed, or DB2 restrictions, LOADPLUS determined that it
is not possible for n pages to fit in this data set.
User response: For nonpartitioned objects only, you can restart the job if you
increase the primary and secondary quantities of the data set. For
nonpartitioned and partitioned objects, you can reduce the number of rows
loaded, reduce the PCTFREE value, increase the FREEPAGE value, or increase
the PIECESIZE value. However, this change requires that you resubmit the job
with the NEW execution parameter.
BMC51488I
708
LOADPLUS messages
BMC51491I
IS BEGINNING
WAS SUCCESSFUL
Explanation: Data sets for the indicated table are defined with DEFINE NO, and
you have a check constraint or VALIDPROC on the table.
If you have a check constraint on the table, LOADPLUS attempted to build a
row that satisfies the check constraint (attempted to resolve the values that are
associated with the constraint), but could not resolve all of the values. In this
case, LOADPLUS might not be able to materialize the data sets.
If you have a VALIDPROC on the table, LOADPLUS might not be able to
materialize the data sets.
User response: If message BMC51491I with a status of WAS SUCCESSFUL
follows this message, no action is required. If message BMC51491E with a status
of WAS UNSUCCESSFUL follows this message, materialize the data sets
manually by performing an INSERT on the table, and then restart the load job.
BMC51493W
709
LOADPLUS messages
unique_type INDEX 'creator.index' WAS SKIPPED BUT HAS BEEN LEFT IN ITS
ORIGINAL STATUS DUE TO 0 ROWS LOADED
Explanation: On a LOAD RESUME YES load job, you specified SKIPIX SIX or
SKIPIX NUSIX on the LOAD command for a table that has an associated
secondary index, but no rows were loaded in the table. LOADPLUS did not
build or update the secondary index, but left the index in its original status.
This message also indicates whether the index is unique or nonunique.
User response: No action is required.
BMC51495I
Description
phase
rc
number of input data sets (SYSREC data sets) that LOADPLUS will
read concurrently
number of index tasks that the load job will perform concurrently
time
relative amount of time that the load job will take, based on the
ability to process data concurrently
Note that time is a relative number, not a measure of any unit of
time.
At least one return code in the series of messages should be 0. The following
table describes the possible return codes:
Return code
Tasks affected
any
SORT
Meaning
valid solution found
need more than 2 GB of storage above the line
2
3
710
LOADPLUS messages
Return code
Tasks affected
Meaning
READ
10
INDEX
11
12
14
any
15
SORT
16
INDEX
94
any
95
96
97
98
99
100
If at least one return code in the series is 0, BMC51496I follows this message.
BMC51496I indicates the results of the optimization process.
If no return code is 0, BMC51497E follows this message.
For more information about how the optimizer determines the optimal number
of sort processes, see Controlling the number of sort processes (SMAX or
MAXSORTS) on page 477. For more information, see Interpreting
performance-related messages on page 490.
User response: No action is required for this message, but see the user response
for any message that follows.
BMC51496I
Explanation: For a two-phase load job, during the phase processing phase,
LOADPLUS determined that n is the optimal number of sort processes for this
job. The variable r indicates the number of input data sets (SYSREC data sets)
that LOADPLUS will read concurrently (the total number of SYSREC data sets
read can be greater than r). The variable i indicates the number of index tasks
that LOADPLUS will perform concurrently.
LOADPLUS issues this message following BMC51495I. For more information
about how the optimizer determines the optimal number of sort processes, see
Controlling the number of sort processes (SMAX or MAXSORTS) on
page 477.
Appendix C
711
LOADPLUS messages
Description
phase
rc
number of copy tasks that the load job will perform concurrently
number of index tasks that the load job will perform concurrently
At least one return code in the series of messages should be 0. The following
table describes the possible return codes.
If no return code is 0, BMC51497E follows this message.
Return code Tasks affected
0
any
LOAD
Meaning
valid solution found
insufficient total storage
COPY
INDEX
8
9
712
LOADPLUS messages
any
Meaning
insufficient total storage for selected load buffers
91
92
93
94
95
96
97
98
99
Description
phase
rc
number of input data sets (SYSREC data sets) that LOADPLUS will
read concurrently
number of index tasks that the load job will perform concurrently
time
relative amount of time that the load job will take, based on the
ability to process data concurrently
Note that time is a relative number, not a measure of any unit of
time.
Appendix C
713
LOADPLUS messages
At least one return code in the series of messages should be 0. The following
table describes the possible return codes:
Return code Tasks affected
0
any
SORT
Meaning
valid solution found
need more than 2 GB of storage above the line
READ
10
INDEX
11
12
13
PROBE
14
15
16
any
17
SORT
18
INDEX
19
PROBE
94
any
95
96
97
98
99
100
If at least one return code in the series is 0, BMC51500I follows this message.
BMC51500I indicates the results of the optimization process.
If no return code is 0, BMC51497E follows this message.
For more information about how the optimizer determines the optimal number
of sort processes, see Controlling memory usage (SMCORE) on page 475. For
more information, see Interpreting performance-related messages on
page 490.
User response: No action is required for this message, but see the user response
for any message that follows.
714
LOADPLUS messages
BMC51500I
Explanation: For fields with a fixed displacement, a fixed length, and from a
fixed length SYSREC data set, this is a fatal error and the load job terminates.
For variable fields, the error is not fatal. LOADPLUS discards the row in error
and continues processing.
User response: Correct the field name or the data and resubmit the job.
BMC51503E
Appendix C
715
LOADPLUS messages
BMC51505E
Explanation: LOADPLUS found a duplicate for the indicated index. For more
information, see message BMC51506E.
User response: Correct the information and resubmit the job.
BMC51506E
716
LOADPLUS messages
BMC51508I
MAX task TASKS = t, object PER TASK = i, SORTWKS PER TASK = s, MAX OPEN
PARTITIONS PER TASK = o
Description
When performing a two-phase load, LOADPLUS issues this message once for
the index tasks and once for the data tasks. For more information, see
Interpreting performance-related messages on page 490.
User response: No action is required. However, you can use this information to
help improve performance. For more information, see Interpreting
performance-related messages on page 490.
BMC51509E
Appendix C
717
LOADPLUS messages
Information
Description
task
block/buffer
Explanation: Record n from input from ddname violated the table check
constraint constraint on table creator.table.
User response: Correct the information and resubmit the job.
718
LOADPLUS messages
BMC51515E
Explanation: This message displays when your input file is a batch pipe and
either your JCL includes a SYSDISC DD statement or you are dynamically
allocating a discard file.
User response: No action is required.
BMC51518E
Explanation: You attempted to run an SQLAPPLY load job for which the
identity column is part of the limit key of a partition and for which identity
column values are being generated. Under these circumstances, LOADPLUS
cannot determine which partition to load.
User response: Change your LOAD command and resubmit the job.
Appendix C
719
LOADPLUS messages
BMC51520E
MIXED DATA IS NOT SUPPORTED FOR SQLAPPLY LOAD WHEN INPUT IS ASCII
Explanation: You attempted to load ASCII input data into a column that is
defined as MIXED, and you specified or defaulted to LOAD RESUME YES
SHRLEVEL CHANGE SQLAPPLY. LOADPLUS does not support this type of
load.
User response: Change your LOAD command or column definition and
resubmit the job.
BMC51521I
Explanation: This is the heading for the report that contains the discarded record
information for the indicated input data set. The ID n is used when there is a
DUPLICATE KEY discard to which ddname has the related record.
User response: No action is required.
BMC51522I
PHYSICAL
LOGICAL
DISCARD
DISCARD
BMC51523I
RECORD
RECORD
RECORD
TYPE
RELATED
ID: RECORD
TABLE
FIELD, INDEX OR
NAME
CONSTRAINT NAME
Explanation: These are the report headings for the specific discard violation
information. The following table describes the information that this report
provides:
Heading
Description
PHYSICAL RECORD
LOGICAL RECORD
DISCARD RECORD
720
LOADPLUS messages
Heading
Description
DISCARD TYPE
CHECK CONSTRAINT
DUPLICATE KEY
The DB2 row that was created from the input record
contained a duplicate key. If this is the first
occurrence of a series of duplicate keys, the number
in the RELATED DISCARD column matches the
number of this records physical record. Check the
RELATED DISCARD to identify the conflicting
input record. If you specified MSGLEVEL(1), see
also messages BMC51503E through BMC51506E.
FIELD SPECIFICATION
PARTITION
SQL-330
SQL-530
Appendix C
721
LOADPLUS messages
Heading
Description
DISCARD TYPE
(continued)
SQL-803
TRANSLATION
VALIDPROC
WHEN
RELATED ID:RECORD
1
2
10
722
LOADPLUS messages
Heading
Description
TABLE NAME
table name of the table (specified in the INTO TABLE option) that is associated
with the error
FIELD, INDEX, OR
CONSTRAINT NAME
discard_information
BMC51531I
3380 CYLS
BMC51532I
DDNAME
BMC51533I
ddname
KBYTES
k
3390 CYLS
PRI
SEC
PRI
SEC
INDEX
creator.index
Explanation: ANALYZE has estimated the data set sizes in cylinders (by device
type), for the load (SORTOUT), work (SYSUT1), sort work (SORTWK), discard
(SYSDISC), error (SYSERR), and copy data sets. LOADPLUS provides the
estimated information in a table format. Messages BMC51530I, BMC51531I, and
BMC51532I provide the heading information and multiple BMC51533I
messages provide the estimated values. Since some types of load jobs allow you
to specify single or multiple SORTOUT and SYSUT1 data sets, this message
provides values for both.
If you specified ANALYZE ONLY, LOADPLUS provides values for all data
sets, regardless of whether you need them for the type of load that you are
running. This gives you the information that you need to run any type of load
job.
LOADPLUS issues a separate BMC51533I message for each data set and this
message provides the following information:
s
s
s
s
s
Appendix C
723
LOADPLUS messages
If the creator or index name is longer than the available space for that name,
LOADPLUS truncates the name and indicates the truncation with a plus sign (+)
in the last position of the truncated name.
User response: No action is required.
BMC51535I
Explanation: ANALYZE estimated the cardinality and average row length of the
table space that you are loading. LOADPLUS uses this number when
calculating the values in message BMC51533I.
User response: No action is required.
BMC51536I
CARDINALITY OF SPACE = n
FOR DDNAME 'ddname' MAXEXTSZ ALTERED TO n TRACKS FROM n TRACKS REASON: explanation
Explanation: This message displays the sampling statistics that ANALYZE used
to determine the cardinality and average row size for the data that you are
loading. This information might be useful to BMC Software Customer Support
when diagnosing a problem. It does not provide information that is useful for
performance tuning. LOADPLUS produces this message only if you specified
MSGLEVEL(1).
The following table describes each of the statistics displayed in this message:
Statistic
Description
PART
partition number
If the table space is not partitioned, this value is 0.
TP
SP
SR
724
LOADPLUS messages
Statistic
Description
AVGR
SD
SE
AVGF
SD
SE
EP
Explanation: This message contains an Apply Plus message that Apply Plus
passes to LOADPLUS during a LOAD RESUME YES SHRLEVEL CHANGE
SQLAPPLY load. The message severity of the LOADPLUS message (BMC51576)
reflects the severity of the Apply Plus message.
User response: For information about this message, see the Apply Plus
documentation.
Appendix C
725
LOADPLUS messages
BMC51577I
ROWS
BMC51578I
BMC51579I
INSERTED
object_type object
rows
DISCARDED
SQLERRORS
sql_discards
Explanation: These messages display the following statistics for an online load
that uses Apply Plus (LOAD RESUME YES SHRLEVEL CHANGE SQLAPPLY):
Information
Description
object_type
object
DISCARDED SQLERROR
(sql_discards)
If any part of the object name is longer than the available space for that name,
LOADPLUS truncates the name and indicates the truncation with a plus sign (+)
in the last position of the truncated name.
User response: No action is required.
BMC51580E
APPLY PLUS FOR DB2 FOR 0S/390 VERSION v.r OR HIGHER IS NOT AVAILABLE
BMC51581I
Explanation: You specified ORDER YES with LOAD RESUME YES SHRLEVEL
CHANGE SQLAPPLY and there are referential integrity (RI) relationships
between two or more of the tables you are loading. For this type of load,
LOADPLUS attempts to resolve all RI relationships. However, LOADPLUS
could not resolve all RI relationships for this particular job.
During the COMBINED phase, LOADPLUS uses DB2 to perform insert
processing. As a part of this processing, DB2 looks at RI relationships. Therefore,
if LOADPLUS could not resolve all RI relationships for this job, you might also
obtain SQL -530 errors when processing passes to DB2.
726
LOADPLUS messages
Explanation: You specified a value for the IDCACHE option that is outside the
valid range of 1 through 100000. LOADPLUS sets the value for this option to
one of the following values and continues processing:
s
If you specified a value greater than 100000, LOADPLUS sets this value to
100000.
If you specified a value less than 1, LOADPLUS sets this value to the default
that was specified at installation.
Explanation: You specified LOAD RESUME YES with TABLE name REPLACE
specified for at least one table, but you did not specify REPLACE for all tables
that are participating in the load job. LOADPLUS does not currently allow this
specification.
User response: Correct your LOAD command and resubmit the job.
BMC51589E
Explanation: You specified LOAD RESUME YES with TABLE name REPLACE
for a simple or partitioned table space, which is not valid.
User response: Correct your LOAD command and resubmit the job.
Appendix C
727
LOADPLUS messages
BMC51590E/W
The verification records in the input data set (SYSREC) do not match the table
that you are loading. Two instances of message BMC51591 follow this
message.
The identity column or ROWID column on the table that you are loading is
defined as GENERATED ALWAYS. Two instances of message BMC51591
follow this message.
The input data file does not contain header records that indicate that it was
generated by UNLOAD PLUS.
LOADPLUS messages
BMC51592I
Explanation: LOADPLUS attempted to start a DB2 space with the same access
status that it had when the LOADPLUS job started. One or more BMC50209I
messages follow this message, displaying the locks and claims being held on the
space. These additional messages can help you determine whether the space is
in use. LOADPLUS cannot determine the status of the space.
User response: Start the space in the correct status and resubmit the job.
Appendix C
729
LOADPLUS messages
730
Appendix
Appendix D
732
732
733
735
735
737
738
738
739
742
742
743
743
744
744
744
744
744
749
754
731
Overview
Overview
This appendix provides formulas to help you calculate the allocation requirements of
the various work files for the LOADPLUS product. This appendix also includes
several example calculations. If you run a load job with ANALYZE PAUSE or
ANALYZE ONLY, LOADPLUS uses the formulas in this appendix to do the
calculations for you and generates a report with the results.
As an alternative to specifying data sets in your JCL, you can have LOADPLUS
dynamically allocate your SORTOUT, SYSUT1, SORTWK, SYSDISC, SYSERR, and
copy data sets. If you enable dynamic allocation for each DDTYPE, LOADPLUS
calculates the file sizes that it needs and dynamically allocates the files. You must
specify the ENUMROWS command option to provide LOADPLUS with the
information that it needs to make the calculations. For more information, see
Dynamic work file allocation on page 69 and Dynamic work file allocation
options on page 262.
DASD capacity
Table 104 shows the different track capacities for various DASD models to assist you
in determining space allocations.
Table 104 DASD capacity conversion chart
Model
Capacity type
3390-1
3390-2
3390-3
3390-5
3390-9
3380
3380-E
3380-K
56,664
47,476
15
15
1,113
2,226
3,339
5,009
10,017
885
1,770
2,655
Tracks
Use Table 104 and the following formula to calculate the number of tracks required:
# DASD bytes required/track capacity
732
Cylinders
Use Table 104 and the following formula to calculate the number of cylinders
required:
# tracks required/# tracks per cylinder
NOTE
Tracks are rarely fully utilized due to block overhead when there are multiple blocks per track
(which are required for 3380 and 3390 devices). BMC Software strongly recommends that you
increase the amount of primary DASD allocation by a minimum of 2 percent to account for the
block overhead.
LOADPLUS requires the SORTOUT data set for a two-phase load. For a single-phase
load, the SORTOUT data set is required for certain types of load jobs if you want to be
able to restart. For information about when LOADPLUS uses the SORTOUT data set,
see SORTOUT data sets on page 296.
LOADPLUS populates the SORTOUT data set during the PRELOAD or the
COMBINED phase. For a two-phase load job, the data set contains the DB2 row
images to load into the tables that you specified on the LOAD command. For a
single-phase load job, the data set contains the clustering index and the DB2 row
images and LOADPLUS uses this data set only if you restart your job.
The space that LOADPLUS requires for the SORTOUT data set is the sum of the space
that LOADPLUS requires for each table that you select to load. The space required for
the SORTOUT data set depends on the following factors:
s
NOTE
Do not include IBMs row overhead when you determine the length of the row.
Appendix D
733
number of keys in the clustering index, if you specify RESUME YES and ORDER
YES
In the following formulas, the variables m and n represent the row overhead that
LOADPLUS needs.
s
The value of m is 0 bytes for padded indexes and 2 bytes per variable-length
column in the index for nonpadded indexes.
The value of n is 9 bytes for a table space that is LARGE (either by definition or
default) or defined with DSSIZE, and 8 bytes for other table spaces.
Add additional space to the basic calculation for each of the following statements that
applies to the load that you are running.
1. If you specify ORDER YES or ORDER PRESORTED, add the value calculated by
the following formula to the amount that you have calculated so far:
# new rows selected for this table x (length of longest clustering
index key associated with this table space + m + n)
2. If you specify ORDER YES, are adding data to an existing table space or partition
(LOAD RESUME YES), and INDEX BUILD is in effect, add the value calculated by
the formula that follows to the amount that you have calculated so far:
# keys in existing clustering index x (length of longest clustering
key + m + n)
If you are loading one table, the primary space allocation equals the value that you
estimated by using the preceding calculations. If you are loading more than one table,
add the values for all tables to determine the primary space allocation.
Calculate the secondary space allocation by determining the space that LOADPLUS
would need if all of the rows were the maximum length (including the four-byte
overhead for variable-length records), less the primary space value. If this difference
is zero (as it will be if the rows are fixed length), provide a secondary space allocation
that is 25 percent of the primary allocation. If your rows are very small (less than 20
bytes), provide a secondary allocation that is 50 percent of the primary allocation.
734
If you are specifying multiple SORTOUT data sets, divide your total allocation by the
number of data sets to obtain the individual allocation for each data set. For
performance considerations, see Using multiple SORTOUT data sets on page 480.
LOADPLUS requires a SYSUT1 data set for a two-phase load. For a single-phase load,
the SYSUT1 data set is required for certain types of load jobs if you want to be able to
restart. For information about when LOADPLUS uses the SYSUT1 data set, see
SYSUT1 data sets on page 305.
The SYSUT1 data set contains information that LOADPLUS needs to build
participating nonclustering indexes. If you specify ORDER NO on the LOAD
command, LOADPLUS treats clustering indexes like participating nonclustering
indexes. For a single-phase load, LOADPLUS uses these data sets only if you restart
your job.
During the PRELOAD or COMBINED phase, LOADPLUS places all index work
records in one or more SYSUT1 data sets. Each work record contains a single key
value for an index. These work records must be sorted before the index can be built.
The space that LOADPLUS requires for the SYSUT1 data set depends on the
following factors:
s
s
s
s
s
735
In the following formulas, the variables m and n represent the row overhead that
LOADPLUS needs.
s
The value of m is 0 bytes for padded indexes and 2 bytes per variable-length
column in the index for nonpadded indexes.
The value of n is 7 bytes for a table space that is LARGE (either by definition or
default) or defined with DSSIZE, and 6 bytes for other table spaces.
Each SYSUT1 data set holds one index. Calculate the space that LOADPLUS needs for
each index by using one of the following formulas. Select the appropriate formula
based on the type of index and the keywords that you specify on the command.
s
If the index is nonpartitioned and INDEX BUILD is in effect, use the following
formula:
(total # rows expected to be in the associated table after the load)
x (length of index key + m + n)
If the index is nonpartitioned and INDEX UPDATE is in effect, use the following
formula:
(# new rows added to the associated table) x (length of index key
+ n)
If the clustering index is partitioned, you specify ORDER NO, and INDEX BUILD
is in effect, use the following formula:
(total # rows expected to be in participating partitions after the
load) x (length of index key + m + n)
If the clustering index is partitioned, you specify ORDER NO, and INDEX
UPDATE is in effect, use the following formula:
(# new rows added to participating partitions) x (length of index
key + n)
NOTE
LOADPLUS puts the clustering index keys for all participating partitions in a single SYSUT1
data set.
Allocate the space for the participating index with the largest key length in the first
SYSUT1nn DD statement in your JCL, space for the index with the second-largest key
length in the second SYSUT1nn DD statement, and so on. Use the amount that you
calculated previously for each indexs primary quantity. Provide a small secondary
quantity allocation as a safety measure against out-of-space conditions.
736
The value of m is 0 bytes for padded indexes and 2 bytes per variable-length
column in the index for nonpadded indexes.
The value of n is 7 bytes for a table space that is LARGE (either by definition or
default) or defined with DSSIZE, and 6 bytes for other table spaces.
Use the following procedure to calculate the space that LOADPLUS needs for all of
the indexes on each table that you are loading. Select the appropriate formula based
on the type of index and the keywords that you specify on the command. If you
specify ORDER NO on the LOAD command, for the purposes of these calculations,
the clustering index is a participating nonclustering index.
For each table that you are loading, calculate the space that LOADPLUS needs by
using one of the following formulas:
s
In addition, if you have a partitioned index, you specify ORDER NO, and INDEX
BUILD is in effect, use the following formula to account for the space that this index
needs:
(# of rows expected to be in the participating partitions after the
load) x (length of the longest participating index key on the
partitioned table + m + n)
Appendix D
737
If you are loading multiple tables, add the amounts that you have calculated for each
table to find the amount of space that LOADPLUS needs for the primary allocation
for the SYSUT1 data set. Provide a small secondary space allocation as a safety
measure against out-of-space conditions.
Use the following formula to calculate the space that LOADPLUS needs for the
SYSDISC data set:
(LRECL of SYSREC) x (# records expected to be discarded)
If you expect few or no errors, allocate a small amount of primary space and a large
amount of secondary space. The maximum amount of space that you would need for
SYSDISC is the amount of space that the SYSREC data set uses.
738
If you expect few or no errors, allocate a small amount of primary space and a large
amount of secondary space. You can use the DISCARDS option to limit the number of
SYSERR records that LOADPLUS generates.
If you expect a specific number of errors, use the preceding formula for the primary
space and provide a small secondary space allocation as a safety measure against
out-of-space conditions.
NOTE
If you underestimate the size of your SYSERR data set and receive an x37 abend, which
indicates an out-of-space condition, you must perform specific tasks before restarting your
load job. For more information about these tasks, see Inadequate space failure on SYSERR
data set on page 318.
LOADPLUS uses the SORTWK data sets to sort the types of data that Table 105
describes.
Table 105 Types of data sorted using SORTWK
Type of data
742
index data
742
error records
743
If you explicitly specify SORTWK data sets in your JCL, they will need enough space
to handle the largest sort task. If you are allocating multiple SORTWK data sets, BMC
Software recommends that you allocate 12 data sets.
LOADPLUS determines how multiple SORTWK data sets are used, so allocate the
same amount of space for each data set. After you calculate the amount of space
needed, allocate all SORTWK data sets with primary space equal to the largest
amount needed.
If you have clustering indexes and specify ORDER NO, LOADPLUS treats clustering
indexes as participating nonclustering indexes.
Appendix D
739
Use the information in Table 106, Table 107, and Table 108 in conjunction with the
formulas in the sections that follow the tables to determine the amount of SORTWK
data set space that LOADPLUS requires. Use Table 106 and Table 107 to determine
which allocation method to use, then use Table 108 to find a description of that
method.
Use the single SYSUT1 data set columns in Table 107 if you are determining the
SORTWK data set size for a single-phase LOAD REPLACE job. Although this type of
load does not use the SYSUT1 data set, LOADPLUS uses the SORTWK data set to sort
the indexes.
Table 106 SORTWK data set allocation guide for SQLAPPLY load
ORDER specification
Method
ORDER NO
method 1
ORDER YES
method 2
ORDER PRESORTED
not applicable
Table 107 SORTWK data set allocation guide for non-SQLAPPLY load
Single SYSUT1 data set
ORDER
NO
Index type
no clustering indexes and no
unique nonclustering indexes
ORDER
YES
method 3 method 3
ORDER
PRESORTED
ORDER
NO
not
applicable
ORDER
YES
ORDER
PRESORTED
not
applicable
method 3 method 9
Description
Allocate either enough space to sort the row images or enough space to sort the anticipated
error informationwhichever is greater.
Allocate enough space to sort all participating nonclustering indexes. Remember that
LOADPLUS treats the clustering index as a participating nonclustering index if you specify
ORDER NO.
740
Description
Allocate either enough space to sort the row images or enough space to sort all participating
nonclustering indexes at oncewhichever is greater.
Allocate either enough space to sort the row images or the value determined from method 2
whichever is greater.
Allocate either enough space to sort all participating unique nonclustering indexes or the
value determined from method 2whichever is greater.
Allocate enough space to sort the row images plus enough space to sort all participating
unique nonclustering indexes at once. Alternatively, you can allocate enough space to sort all
participating nonunique indexes.
Allocate enough space to sort all row images plus all participating nonclustering indexes.
10
11
Allocate either enough space to sort all participating nonclustering, unique indexes at once or
enough space to sort all participating nonclustering nonunique indexeswhichever is greater.
Sort records that LOADPLUS creates carry overhead bytes. These are represented in
the formulas that follow as variables a, m, and n.
s
The value of m is 0 bytes for padded indexes and 2 bytes per variable-length
column in the index for nonpadded indexes.
The value of n is 9 bytes for a table space that is LARGE (either by definition or
default) or defined with DSSIZE, and 8 bytes for other table spaces.
Appendix D
741
For an SQLAPPLY load, use the following calculation. The number of new rows is
the number of additional rows that you expect to be in the table space after the
load completes.
# new rows x (average row length + clustering index key length + n)
For all other load types, use the following calculation. The record that LOADPLUS
uses to sort the row image data contains the information that is written to the
SORTOUT data set plus a sort key. The sort key contains six additional overhead
bytes. The number of rows is the total number that you expect to be in the table
space or in the participating partitions of the table space after the load completes.
size of SORTOUT data sets + (# rows x (6 + a))
After referencing Table 107, use the following formula if you have a group of indexes
(such as nonclustering, unique nonclustering, or nonunique indexes) to consider in
your calculations. The number of rows for a table is the total number of rows that will
exist in the table space or participating partitions after the load is complete.
# rows for a given table x (maximum index key length of all
participating indexes in the given group associated with this table
space + a + m + n + 4) x (# of all participating indexes in the given
group in this table)
Add the space needed for each table to arrive at the total amount of space needed.
742
NOTE
You cannot change the amount allocated for a single-phase load. LOADPLUS issues message
BMC50512 at the end of the COMBINED phase, indicating the number of pages it used for the
data sets.
The space that LOADPLUS requires for these data sets depends on the following
criteria:
s
s
Appendix D
743
Example 1
In this example, the space calculations are determined for a table with the following
characteristics:
s
s
s
s
s
s
s
744
Example 1
The example uses DASD calculations for 3390 devices, allocates 12 SORTWK data
sets, sets the secondary allocation to 25 percent of the primary, and rounds up all
numbers in the formulas to whole numbers.
Appendix D
745
Example 1
10,000,000 x (10 + 0 + 6)
10,000,000 x (16)
160,000,000
160,000,000/56,664
2824
2824/15
189
10,000,000 x (15 + 0 + 6)
10,000,000 x (21)
210,000,000
210,000,000/56,664
3707
3707/15
248
10,000,000 x (5 + 0 + 6)
10,000,000 x (11)
110,000,000
110,000,000/56,664
1942
1942/15
130
The 15-byte index is assigned to the first SYSUT1nn DD statement in the JCL because
it is the index with the largest key length. The 10-byte index is assigned next,
followed by the 5-byte index. A secondary quantity of 25 percent of the primary
allocation is provided as a safety measure against out-of-space conditions. BMC
Software recommends specifying RLSE to release unused DASD space when the data
set is closed.
746
Example 1
When you specify ORDER NO, LOADPLUS treats clustering indexes like
participating nonclustering indexes. Therefore, the value for the number of
nonclustering indexes in the preceding calculation is three instead of two.
Use the following DD statement for the SYSUT1 data set:
//SYSUT1 DD UNIT=3390,SPACE=(CYL,(742,185),RLSE),
// DISP=(MOD,CATLG,CATLG),DSN=YOUR.LOADPLUS.INDEX.DATA01
The single SYSUT1 data set requires more DASD than multiple SYSUT1nn data sets
because of the required padding of all keys to the length of the longest key.
Appendix D
747
Example 1
The minimum space required is enough space to sort the largest index, calculated as
follows:
# DASD bytes required = # of index entries for the index x (index key
length + a + m + n + 4)
= 10,000,000 x (15 + 0 + 0 + 8 + 4)
= 10,000,000 x (27)
= 270,000,000
# 3390 tracks required = 270,000,000/56,664
= 4765
# 3390 cylinders required = 4765/15
= 318
# cylinders required for
each SORTWK allocation
= # 3390 cylinders required/# SORTWKs
= 318/12
= 27
For optimum performance, use the maximum space needed, which is enough space
to sort all of the participating nonclustering indexes. The maximum space is
calculated as follows:
# DASD bytes required = # rows for a given table x (maximum key length
of all participating nonclustering indexes
associated with this table space + a + m + n + 4)
x # of all participating nonclustering indexes
= 10,000,000 x (15 + 0 + 0 + 8 + 4) x 3
= 10,000,000 x (27) x 3
= 810,000,000
# 3390 tracks required = 810,000,000/56,664
= 14,295
# 3390 cylinders required = 14,295/15
= 953
# cylinders required for
each SORTWK allocation
= # 3390 cylinders required/# of SORTWKs
= 953/12
= 80
748
Example 2
Example 2
In this example, the space calculations are determined for a table with the following
characteristics:
s
s
s
s
s
s
s
The example uses DASD calculations for 3390 devices, allocates 12 SORTWK data
sets, sets the secondary allocation to 25 percent of the primary, and rounds up all
numbers in the formulas to whole numbers.
Appendix D
749
Example 2
750
3,000,000 x (13 + 0 + 6)
3,000,000 x (19)
57,000,000
57,000,000/56,664
1006
1006/15
68
Example 2
3,000,000 x (9 + 0 + 6)
3,000,000 x (15)
45,000,000
45,000,000/56,664
795
795/15
53
The 13-byte index is assigned to the first SYSUT1nn DD statement in the JCL because
it is the index with the largest key length. A secondary quantity that is 25 percent of
the primary allocation is provided as a safety measure against out-of-space
conditions. BMC Software recommends specifying RLSE to release unused DASD
space when the data set is closed.
Appendix D
751
Example 2
The single SYSUT1 data set requires more DASD than multiple SYSUT1nn data sets
because of the required padding of all keys to the length of the longest key.
Then add to that the space to sort all participating nonclustering, unique indexes:
# DASD bytes required = # rows in table x (maximum index key
length of all participating nonclustering
unique indexes + a + m + n + 4) x
# of participating nonclustering unique
indexes
= 3,000,000 x (9 + 0 + 0 + 8 + 4) x 1
= 3,000,000 x (21 x 1)
= 63,000,000
# 3390 tracks required = 63,000,000/56,664
= 1112
# 3390 cylinders required = 1112/15
= 75
Total # 3390 cylinders
752
Example 2
Alternatively, you can calculate the space needed to sort all participating nonunique
indexes as follows:
# DASD bytes required = # rows in table x (maximum index key
length of all participating
nonunique indexes + a + m + n + 4) x
# of participating nonunique indexes
= 3,000,000 x (13 + 0 + 0 + 8 + 4) x 1
= 3,000,000 x (25) x 1
= 75,000,000
# 3390 tracks required = 75,000,000/56,664
= 1324
# 3390 cylinders required = 1324/15
= 89
Based on the preceding calculations, you would use the space required to sort the
row image data plus all participating nonclustering unique indexes because it is
greater than the space required to sort all participating nonunique indexes.
# cylinders required for
each SORTWK allocation
= # 3390 cylinders required/# of SORTWKs
= 436/12
= 37
Appendix D
753
Example 3
Then add to that the space to sort all participating nonclustering indexes:
# DASD bytes required = # rows in table x (maximum index
key length of all participating
nonclustering indexes + a + m + n + 4) x # of
participating nonclustering indexes
= 3,000,000 x (13 + 0 + 0 + 8 + 4) x 2
= 3,000,000 x 25 x 2
= 150,000,000
# 3390 tracks required = 150,000,000/56,664
= 2648
# 3390 cylinders required = 2648/15
= 177
Total = space to sort row images + space to sort all
participating nonclustering indexes
= 361 + 177
= 538
# cylinders required for
each SORTWK allocation
= # 3390 cylinders required/# of SORTWKs
= 538/12
= 45
Example 3
In this example, the space calculations are determined for a table with the following
characteristics:
s
s
s
s
s
s
s
The example uses DASD calculations for 3390 devices, allocates 12 SORTWK data
sets, sets the secondary allocation to 25 percent of the primary, and rounds up all
numbers in the formulas to whole numbers.
754
Example 3
Appendix D
755
Example 3
Because this example has only one nonclustering index, it is not meaningful to have
multiple SYSUT1 data sets.
Alternatively, use the following formula to calculate the space needed to sort all of
the participating nonclustering indexes at once:
# DASD bytes required = # rows expected to be in the table space after
the load x (longest participating
nonclustering index key + a + m + n + 4) x # of
participating nonclustering indexes
= 2,500,000 x (10 + 0 + 0 + 8 + 4) x 1
= 2,500,000 x 22 x 1
= 55,000,000
# 3390 tracks required = 55,000,000/56,664
= 971
# 3390 cylinders required = 971/15
= 65
# cylinders required for
each SORTWK allocation
= # 3390 cylinders required/# SORTWKs
= 146/12
= 13
756
Example 3
Based on the preceding calculations, you would use the results of the first calculation
because the amount of space is greater than the results of the second calculation.
Use the following DD statements for the SORTWK data sets:
//SORTWK01 DD DISP=(NEW,DELETE),SPACE=(CYL,(13,4)),...
//SORTWK02 DD DISP=(NEW,DELETE),SPACE=(CYL,(13,4)),...
. . . . .
//SORTWK12 DD DISP=(NEW,DELETE),SPACE=(CYL,(13,4)),...
Appendix D
757
Example 3
758
Appendix
759
760
760
761
761
762
763
763
763
764
Overview
The RULES installation option is set during installation and you cannot override it at
runtime. You can specify either RULES=STANDARD or RULES=BMC.
NOTE
If you specify FORMAT UNLOAD, FORMAT BMC, or FORMAT BMCUNLOAD,
LOADPLUS changes the value of this option to BMC, regardless of the value specified during
installation.
If you specify FORMAT CSV, LOADPLUS changes the value of this option to STANDARD,
regardless of the value specified during installation.
Appendix E
759
The information in this appendix uses a single sample table to illustrate the RULES
option. The following statement creates this sample table:
CREATE TABLE SAMPLE_TABLE
(CHAR_COL
CHAR(1)
NOT NULL WITH DEFAULT,
DEC_COL
DECIMAL(5,0),
DATE_COL
DATE)
IN DATABASE.TABLESPACE
RULES=
BMC
Operators
Description
<
less than
<=
equal
<>
not equal
not equal
>=
>
greater than
IN
equal to any
NOT IN
760
Invalid operator
The following statement creates an error condition when RULES=STANDARD is the
installation option, because you cannot use the less than operator (<):
LOAD DATA REPLACE INTO TABLE SAMPLE_TABLE
(CHAR_COL POS(1:1) CHAR(1)
DEC_COL POS(2:4) DEC(5,0)NULLIF DEC_COL<'5',
DATE_COL POS(5:8) DATE)
Appendix E
761
762
Appendix E
763
764
Appendix
765
766
767
768
768
770
772
782
782
784
785
791
791
793
794
800
800
802
803
Overview
The LOADPLUS product allows you to further customize your load processing
through user-written exit routines. These user exits provide LOADPLUS with
user-defined variables that you can use to construct data set name patterns with the
DSNPAT installation option or command option. See page 276 for details about the
DSNPAT option.
LOADPLUS supports exit routines that are written in assembler, COBOL II, IBMs
Language Environment COBOL (LE COBOL), C, and IBMs Language Environment
C (LE C).
Appendix F
765
You must have dynamic work file allocation active to direct LOADPLUS to invoke
your exit routine. In addition, you can either:
s
supply the module name and program language in the DSNUEXIT installation
option or
supply the module name and program language in the DSNUEXIT option of the
LOAD command.
Using the DSNUEXIT option of the LOAD command overrides any value in the
installation options. See page 263 for details about the DSNUEXIT option of the
LOAD command. For additional information about the installation options, see
Appendix A, LOADPLUS installation options.
Depending on the type of load that you are running, LOADPLUS invokes your userwritten exit routine at the beginning of either the PRELOAD phase or the
COMBINED phase.
AMUEDSNAassembler
AMUEDSN2COBOL II and LE COBOL
AMUEDSCC
AMUEDSLLE C
Copy the appropriate member as the base code for your exit routine, edit it, then
compile, or assemble and link your resulting exit into an authorized library so that it
can be loaded during execution.
If you already have user exits for REORG PLUS for DB2 and are not using the
XPRTYPE field, you can use those same exits for LOADPLUS by creating an alias of
AMUDSNXP for ARUDSNXP.
The library in which your exit routine resides must be included in your systems
LINKLIST or in your JOBLIB or STEPLIB. For COBOL II and C programs, the
appropriate runtime libraries must be authorized and in your LINKLIST, JOBLIB, or
STEPLIB. For LE COBOL and LE C programs, the appropriate language environment
runtime libraries must be authorized and in your LINKLIST, JOBLIB, or STEPLIB.
766
User-defined variables
LOADPLUS communicates with your exit by passing parameters to the exit and
receiving a return code and user-defined variables from the exit. The following list
describes the location of the return code for each type of exit:
s
s
s
For an assembler exit, the return code is the contents of register 15.
For a COBOL exit, the return code is set in the RETURN-CODE variable.
For a C exit, the return code is the value that is returned by the return function.
otherindicates an error
The utility terminates.
User-defined variables
These user exits return user-defined variables to LOADPLUS. You can use these
variables with the DSNPAT installation or command option to construct data set
name patterns. LOADPLUS uses these patterns and the values that are returned for
any user-defined variables to create data set names during dynamic work file
allocation. The following rules apply when using a user-defined exit routine to create
your variables:
s
Appendix F
767
*---------------------------------------------------------------------*
*
*
* AMUDSNXP DEFINES THE USER VARIABLE USER EXIT PARM BLOCK.
*
*
*
* NOTE:
*
*
*
*
YOU MAY NOT MODIFY THE FIELDS IN FRONT OF THE USER AREA.
*
*
*
*
YOU MAY NOT MODIFY THE 'STRUCTURE' OF THIS DSECT.
*
*
*
*---------------------------------------------------------------------*
AMUDSNXP DSECT ,
PARMS PASSED TO EXIT
*
* INPUT AREA
*
768
Figure 67
XPJOBN
XPSTEP
XPDBNAME
XPSPNAME
XPRESUME
XPREPLAC
DS
CL8
DS
CL8
DS
CL8
DS
CL8
DS
CL1
DS
CL1
DS
CL2
XPUSER
DS
CL8
XPSSID
DS
CL4
XPDATE
DS
CL6
XPTIME
DS
CL6
XPUTILID DS
CL16
XPDATE8 DS
CL8
XPGRPNM DS
CL4
XPVCAT
DS
CL8
XPDATEJ DS
CL7
DS
CL13
*
* USER WORK AREA
*
XPUSRWD1 DS
F
XPUSRWD2 DS
F
XPUSRWD3 DS
F
XPUSRWD4 DS
F
XPUSRWD5 DS
F
XPUSRWD6 DS
F
XPUSRWD7 DS
F
XPUSRWD8 DS
F
*
* OUTPUT AREA
*
XPUVAREA DS
100CL17
XPUVENT# EQU
100
XP$
EQU
*-AMUDSNXP
JOBNAME
STEPNAME
DATABASE NAME
SPACE NAME
RESUME (Y/N)
REPLACE (Y/N)
RESERVED FOR LOADPLUS
USER ID
DB2 SUBSYSTEM ID
UTILITY EXECUTION DATE MMDDYY
UTILITY EXECUTION TIME HHMMSS
UTILITY ID
UTILITY EXECUTION DATE MMDDYYYY
DATA SHARING GROUP NAME
VCAT NAME (FROM 1ST PART IF PARTITND)
UTILITY EXECUTION DATE CCYYDDD
RESERVED FOR LOADPLUS
USER
USER
USER
USER
USER
USER
USER
USER
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
1
2
3
4
5
6
7
8
Field
Description
XPJOBN
XPSTEP
XPDBNAME
XPSPNAME
contains the name of the table space or index space from the
LOAD command, up to 8 bytes
XPRESUME
Appendix F
769
Table 110
Field
Description
XPREPLAC
XPUSER
XPSSID
XPDATE
XPTIME
XPUTILID
XPDATE8
XPGRPNM
XPVCAT
XPDATEJ
XPUSRWD1...XPUSRWD8
XPUVAREA
XPUVENT#
770
Figure 68
*---------------------------------------------------------------------*
*
*
* XPUVARS DEFINES THE OUTPUT AREA OF THE AMUDSNXP DSECT AT LABEL
*
* XPUVAREA. YOU MAY USE THIS DSECT TO EASILY ADDRESS THE TABLE
*
* DEFINED AT XPUVAREA.
*
*
*
* NOTE:
*
*
*
*
THE NUMBER OF ENTRIES IN THE XPUVAREA TABLE MUST NOT EXCEED 100
*
*
OR YOU WILL ADDRESS BEYOND THE END OF THE GETMAINED STORAGE
*
*
PROVIDED FOR THIS ROUTINE.
*
*
*
* VARIABLE NAME:
*
*
*
*
1. MUST BEGIN WITH AN UNDERSCORE CHARACTER C'_' X'6D'
*
*
2. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVNAME FIELD
*
*
3. IF LESS THAN 9 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS *
*
4. MAY NOT CONTAIN EMBEDDED BLANKS
*
*
5. NON-BLANK CHARACTERS AFTER THE LEFTMOST BYTE MUST BE NATIONAL *
*
CHARACTERS WHICH ARE A THROUGH Z, 0 THROUGH 9, #, @, AND $
*
*
*
* VARIABLE DATA:
*
*
*
*
1. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVDATA FIELD
*
*
2. IF LESS THAN 8 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS *
*
3. MAY NOT CONTAIN EMBEDDED BLANKS
*
*
4. NON-BLANK CHARACTERS MUST BE 'NATIONAL' CHARACTERS WHICH ARE *
*
A THROUGH Z, 0 THROUGH 9, #, @, $, -, AND .
*
*
*
*---------------------------------------------------------------------*
*
XPUVARS DSECT ,
MAP A VARIABLE ENTRY
XPUVNAME DS
CL9
VARIABLE NAME
XPUVDATA DS
CL8
VARIABLE DATA
XPUVENT$ EQU
*-XPUVNAME
LENGTH OF EACH ENTRY
Field
Description
XPUVNAME
XPUVDATA
XPUVENT$
Appendix F
771
772
Figure 69
* UPON EXIT
R15 CONTAINS THE RETURN CODE FROM THIS EXIT
*
*
*
*
R15=0
GOOD RETURN
*
*
*
*
R15=OTHER ERROR RETURN, TERMINATE UTILITY
*
*
*
* AMUDSNXP DSECT
THE AREA MAPPED BY THIS DSECT CONTAINS BOTH INPUT *
*
AND OUTPUT FIELDS. INPUT FIELDS ARE PROVIDED TO *
*
PASS VITAL INFORMATION TO THIS EXIT. ANY MODIFI- *
*
CATIONS TO THESE FIELDS WILL BE DISREGARDED UPON *
*
RETURN TO THE CALLER. THE OUTPUT FIELDS ARE
*
*
PROVIDED TO ALLOW THE EXIT TO PASS INFORMATION
*
*
BACK TO THE CALLER.
*
*
*
*---------------------------------------------------------------------*
EJECT
*---------------------------------------------------------------------*
* INTERNAL REGISTER USAGE
*
*---------------------------------------------------------------------*
*
*
* 0 *
* 1 - ON ENTRY TO MODULE = A(AMUDSNXP BLOCK) COPIED TO R10
*
* 2 *
* 3 *
* 4 *
* 5 *
* 6 *
* 7 *
* 8 *
* 9 *
* 10 *
* 11 *
* 12 - BASEREG
*
* 13 - SAVEAREA
*
* 14 *
* 15 *
*
*
*---------------------------------------------------------------------*
*
R0
EQU
0
R
R1
EQU
1
E
R2
EQU
2
G
R3
EQU
3
I
R4
EQU
4
S
R5
EQU
5
T
R6
EQU
6
E
R7
EQU
7
R
R8
EQU
8
R9
EQU
9
E
R10
EQU
10
Q
R11
EQU
11
U
Appendix F
773
Figure 69
R12
EQU
12
A
R13
EQU
13
T
R14
EQU
14
E
R15
EQU
15
S
*
*---------------------------------------------------------------------*
*
*
* AMUDSNXP DEFINES THE USER VARIABLE USER EXIT PARM BLOCK.
*
*
*
* NOTE:
*
*
*
*
YOU MAY NOT MODIFY THE FIELDS IN FRONT OF THE USER AREA.
*
*
*
*
YOU MAY NOT MODIFY THE 'STRUCTURE' OF THIS DSECT.
*
*
*
*---------------------------------------------------------------------*
*
AMUDSNXP DSECT ,
PARMS PASSED TO EXIT
*
* INPUT AREA
*
XPJOBN
DS
CL8
JOBNAME
XPSTEP
DS
CL8
STEPNAME
XPDBNAME DS
CL8
DATABASE NAME
XPSPNAME DS
CL8
SPACE NAME
XPRESUME DS
CL1
RESUME (Y/N)
XPREPLAC DS
CL1
REPLACE (Y/N)
DS
CL2
RESERVED FOR LOADPLUS
XPUSER
DS
CL8
USER ID
XPSSID
DS
CL4
DB2 SUBSYSTEM ID
XPDATE
DS
CL6
UTILITY EXECUTION DATE MMDDYY
XPTIME
DS
CL6
UTILITY EXECUTION TIME HHMMSS
XPUTILID DS
CL16
UTILITY ID
XPDATE8 DS
CL8
UTILITY EXECUTION DATE MMDDYYYY
XPGRPNM DS
CL4
DATA SHARING GROUP NAME
XPVCAT
DS
CL8
VCAT NAME (FROM 1ST PART IF PARTITND)
XPDATEJ DS
CL7
UTILITY EXECUTION DATE CCYYDDD
DS
CL13
RESERVED FOR LOADPLUS
*
* USER WORK AREA
*
XPUSRWD1 DS
F
USER WORD 1
XPUSRWD2 DS
F
USER WORD 2
XPUSRWD3 DS
F
USER WORD 3
XPUSRWD4 DS
F
USER WORD 4
XPUSRWD5 DS
F
USER WORD 5
XPUSRWD6 DS
F
USER WORD 6
XPUSRWD7 DS
F
USER WORD 7
XPUSRWD8 DS
F
USER WORD 8
*
* OUTPUT AREA
774
Figure 69
*
XPUVAREA DS
100CL17
USER VARIABLE AREA
XPUVENT# EQU
100
NUMBER OF ENTRIES IN OUTPUT AREA
XP$
EQU
*-AMUDSNXP
*
*---------------------------------------------------------------------*
*
*
* XPUVARS DEFINES THE OUTPUT AREA OF THE AMUDSNXP DSECT AT LABEL
*
* XPUVAREA. YOU MAY USE THIS DSECT TO EASILY ADDRESS THE TABLE
*
* DEFINED AT XPUVAREA.
*
*
*
* NOTE:
*
*
*
*
THE NUMBER OF ENTRIES IN THE XPUVAREA TABLE MUST NOT EXCEED 100
*
*
OR YOU WILL ADDRESS BEYOND THE END OF THE GETMAINED STORAGE
*
*
PROVIDED FOR THIS ROUTINE.
*
*
*
* VARIABLE NAME:
*
*
*
*
1. MUST BEGIN WITH AN UNDERSCORE CHARACTER C'_' X'6D'
*
*
2. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVNAME FIELD
*
*
3. IF LESS THAN 9 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS *
*
4. MAY NOT CONTAIN EMBEDDED BLANKS
*
*
5. NON-BLANK CHARACTERS AFTER THE LEFTMOST BYTE MUST BE NATIONAL *
*
CHARACTERS WHICH ARE A THROUGH Z, 0 THROUGH 9, #, @, AND $
*
*
*
* VARIABLE DATA:
*
*
*
*
1. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVDATA FIELD
*
*
2. IF LESS THAN 8 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS *
*
3. MAY NOT CONTAIN EMBEDDED BLANKS
*
*
4. NON-BLANK CHARACTERS MUST BE 'NATIONAL' CHARACTERS WHICH ARE *
*
A THROUGH Z, 0 THROUGH 9, #, @, $, -, AND .
*
*
*
*---------------------------------------------------------------------*
*
XPUVARS DSECT ,
MAP A VARIABLE ENTRY
XPUVNAME DS
CL9
VARIABLE NAME
XPUVDATA DS
CL8
VARIABLE DATA
XPUVENT$ EQU
*-XPUVNAME
LENGTH OF EACH ENTRY
EJECT
*
*---------------------------------------------------------------------*
*
*
* LOCAL PROGRAM WORK AREA DSECT POINTED TO BY R11
*
*
*
*---------------------------------------------------------------------*
*
WORKAREA DSECT ,
SAVE
DS
18F
LOCAL SAVE AREA
DWORK
DS
D
DOUBLEWORD WORK AREA
Appendix F
775
Figure 69
CWORK
DS
CL8
CHARACTER WORK AREA
WRKAREA$ EQU
*-WORKAREA
EJECT
*
*---------------------------------------------------------------------*
*
*
*
P R O G R A M
S T A R T
*
*
*
*---------------------------------------------------------------------*
*
AMUEDSNA CSECT
*
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*
*
*
* UNCOMMENT THE NEXT TWO INSTRUCTIONS TO DISABLE THIS EXIT.
*
*
*
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*
*
*
LA
R15,0
RC=0, GOOD RETURN
*
BSM
0,R14
JUST RETURN TO CALLER
*
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*
*
*
* UNCOMMENT THE PREVIOUS TWO INSTRUCTIONS TO DISABLE THIS EXIT.
*
*
*
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*
*
STM
R14,R12,12(R13)
SAVE CALLERS REGS
LR
R12,R15
R12 IS MY BASEREG
USING AMUEDSNA,R12
ESTABLISH ADDRESSABLITY
*
LR
R10,R1
GET A(PASSED BLOCK)
USING AMUDSNXP,R10
MAP IT
*
*---------------------------------------------------------------------*
*
*
* GET SOME WORKING STORAGE
*
*
*
*---------------------------------------------------------------------*
*
XR
R11,R11
ZERO R11
GETMAIN RC,LV=WRKAREA$,LOC=BELOW GET WORK AREA
LTR
R15,R15
OK?
BNZ
DSNXRC08
..NO, ERROR
LR
R11,R1
R11 = A(USER WORK AREA)
ST
R11,XPUSRWD1
SAVE A(USER WORK AREA)
USING WORKAREA,R11
ADDRESS WORKAREA DSECT
LA
R15,SAVE
MY SAVE AREA@
ST
R15,8(,R13)
SAVE IN CALLERS SAVE AREA
ST
R13,4(,R15)
SAVE CALLERS SAVE AREA@ IN MINE
LR
R13,R15
SET OURS CURRENT
776
Figure 69
EJECT
*
*---------------------------------------------------------------------*
*
*
* CREATE USER-DEFINED VARIABLES
*
*
*
* THE FOLLOWING USER VARIABLES WILL BE CREATED:
*
*
*
*
_JDATE
- JULIAN DATE IN THE FORM OF Dyyddd BUILT FROM THE
*
*
LOADPLUS SUPPLIED VARIABLE &DATE8
*
*
*
*
_JCDATE
- JULIAN DATE IN THE FORM OF Dyyyyddd BUILT FROM THE
*
*
LOADPLUS SUPPLIED VARIABLE &DATE8
*
*
*
*
_UTILPFX
- UP TO 8 BYTES OF THE FIRST NODE OF THE UTILITY ID
*
*
*
*
_UTILSFX
- UP TO 8 BYTES OF THE REMAINING PORTION OF THE
*
*
UTILITY ID
*
*
*
*---------------------------------------------------------------------*
*
LA
R3,XPUVAREA
@(OUTPUT VARIABLE AREA)
USING XPUVARS,R3
ESTABLISH BASE
*
*---------------------------------------------------------------------*
*
*
* BUILD _JDATE AND _JCDATE USER VARIABLES
*
*
*
*---------------------------------------------------------------------*
*
MVC
XPUVNAME(XPUVENT$),BLANKS CLEAR ENTRY
*
MVC
XPUVNAME,=CL9'_JDATE'
SET VAR NAME
*
LA
R2,MONTHTAB
@(MONTH TABLE - NO LEAP YEAR)
PACK DWORK(8),XPDATE8+4(4)
GET YEARS
CVB
R4,DWORK
INTO R4
LR
R7,R4
SAVE A COPY IN R7
SRDL R4,32
PREPARE FOR DIVIDE
D
R4,=F'4'
DIVIDE BY 4
LTR
R4,R4
LEAP YEAR?
BNZ
DSNX0110
NO ->
LR
R4,R7
GET YEAR AGAIN
SRDL R4,32
PREPARE FOR DIVIDE
D
R4,=F'100'
DIVIDE BY 100
LTR
R4,R4
LEAP YEAR?
BNZ
DSNX0100
YES ->
LR
R4,R7
GET YEAR AGAIN
SRDL R4,32
PREPARE FOR DIVIDE
D
R4,=F'400'
DIVIDE BY 400
LTR
R4,R4
LEAP YEAR?
Appendix F
777
Figure 69
BNZ
DSNX0110
NO ->
*
DSNX0100 DS
0H
*
LA
R2,LEAPTAB
@(MONTH TABLE - LEAP YEAR)
*
DSNX0110 DS
0H
*
PACK DWORK(8),XPDATE8(2)
GET MONTH
CVB
R4,DWORK
INTO R4
BCTR R4,0
SUBTRACT 1
SLL
R4,1
MULTIPLY BY 2 FOR OFFSET
LH
R6,0(R2,R4)
GET DAYS FOR PRIOR MONTHS
PACK DWORK(8),XPDATE8+2(2)
GET DAYS
CVB
R4,DWORK
INTO R4
AR
R6,R4
TOTAL DAYS IN R6
LR
R5,R7
GET YEAR
M
R4,=F'1000'
SHIFT THE YEAR OVER
AR
R5,R6
MAKE IT YYDDD FORMAT
CVD
R5,DWORK
MAKE IT PACKED
MVC
CWORK(L'PL4PAT),PL4PAT
GET EDIT PATTERN
ED
CWORK(L'PL4PAT),DWORK+4 EDIT YYDDD
*
MVI
XPUVDATA,C'D'
SET VAR DATA
MVC
XPUVDATA+1(5),CWORK+3
SET VAR DATA
*
LA
R3,XPUVENT$(,R3)
@(NEXT ENTRY)
MVC
XPUVNAME(XPUVENT$),BLANKS CLEAR ENTRY
*
MVC
XPUVNAME,=CL9'_JCDATE'
SET VAR NAME
*
CVD
R5,DWORK
MAKE IT PACKED
MVC
CWORK(L'PL4PAT),PL4PAT
GET EDIT PATTERN
ED
CWORK(L'PL4PAT),DWORK+4 EDIT YYYYDDD
*
MVI
XPUVDATA,C'D'
SET VAR DATA
MVC
XPUVDATA+1(7),CWORK+1
SET VAR DATA
*
*---------------------------------------------------------------------*
*
*
* BUILD _UTILPFX AND _UTILSFX USER VARIABLES
*
*
*
*---------------------------------------------------------------------*
*
LA
R3,XPUVENT$(,R3)
@(NEXT ENTRY)
MVC
XPUVNAME(XPUVENT$),BLANKS CLEAR ENTRY
*
MVC
XPUVNAME,=CL9'_UTILPFX' SET VAR NAME
*
TRT
XPUTILID,TRTAB
LOOK FOR DELIMETER
BZ
DSNX0200
NONE ->
778
Figure 69
*
LA
LR
SR
BZ
R2,XPUTILID
R4,R1
R1,R2
DSNX0200
@(UTIL ID)
SAVE @(DELIMETER)
LENGTH OF FIRST PART
NONE ->
C
BNH
LA
R1,=F'8'
DSNX0130
R1,8
*
DSNX0130 DS
*
BCTR
LA
EX
*
LA
MVC
*
MVC
LA
LA
SR
BZ
C
BNH
LA
*
DSNX0140 DS
*
BCTR
EX
*
B
*
DSNX0200 DS
*
MVC
*
LA
MVC
*
MVC
MVC
*
B
*
DSNXMVCU MVC
*
DROP
*
0H
R1,0
R5,XPUTILID
R1,DSNXMVCU
R3,XPUVENT$(,R3)
@(NEXT ENTRY)
XPUVNAME(XPUVENT$),BLANKS CLEAR ENTRY
XPUVNAME,=CL9'_UTILSFX'
R5,1(,R4)
R1,XPUTILID+L'XPUTILID
R1,R5
DSNXRC00
R1,=F'8'
DSNX0140
R1,8
0H
R1,0
R1,DSNXMVCU
DSNXRC00
RETURN RC=0
0H
XPUVDATA,XPUTILID
R3,XPUVENT$(,R3)
@(NEXT ENTRY)
XPUVNAME(XPUVENT$),BLANKS CLEAR ENTRY
XPUVNAME,=CL9'_UTILSFX'
XPUVDATA,XPUTILID+8
DSNXRC00
RETURN RC=0
XPUVDATA(0),0(R5)
R3
Appendix F
779
Figure 69
EJECT
*
*---------------------------------------------------------------------*
*
*
* SET RETURN CODE AND EXIT
*
*
*
*---------------------------------------------------------------------*
*
DSNXRC00 DS
0H
*
LA
R3,0
SAVE RETURN CODE
B
DSNX9000
GOOD RETURN
*
DSNXRC08 DS
0H
*
LA
R3,8
SAVE RETURN CODE
*
TERMINATE LOADPLUS EXECUTION
DSNX9000 DS
0H
*
LTR
R11,R11
DID WE GET STORAGE?
BZ
DSNX9900
NO ->
L
R13,SAVE+4
FREEMAIN RC,LV=WRKAREA$,A=(R11) FREE LOCAL WORK AREA
*
DSNX9900 DS
0H
*
LR
R15,R3
RESTORE RETURN CODE
L
R14,12(,R13)
LM
R0,R12,20(R13)
BSM
0,R14
RETURN
EJECT
*
*---------------------------------------------------------------------*
*
*
*
C O N S T A N T S
*
*
*
*---------------------------------------------------------------------*
*
*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*
TRTAB
DC
X'00000000000000000000000000000000' 0
DC
X'00000000000000000000000000000000' 1
DC
X'00000000000000000000000000000000' 2
DC
X'00000000000000000000000000000000' 3
DC
X'FF00000000000000000000FF0000FFFF' 4 (SP) . + |
DC
X'0000000000000000000000000000FF00' 5 ;
DC
X'FFFF0000000000000000FFFF00FF0000' 6 - / , _
DC
X'00000000000000000000FF000000FF00' 7 : =
DC
X'00000000000000000000000000000000' 8
DC
X'00000000000000000000000000000000' 9
DC
X'00000000000000000000000000000000' A
780
Figure 69
*
*
*
MONTHTAB DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
*
LEAPTAB DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
*
PL4PAT
DC
*
BLANKS
DC
*
EJECT
LTORG
SPACE
END
X'00000000000000000000000000000000'
X'00000000000000000000000000000000'
X'00000000000000000000000000000000'
X'FF000000000000000000000000000000'
X'00000000000000000000000000000000'
B
C
D
E \
F
0 1 2 3 4 5 6 7 8 9 A B C D E F
H'0'
H'31'
H'59'
H'90'
H'120'
H'151'
H'181'
H'212'
H'243'
H'273'
H'304'
H'334'
JANUARY
FEBRUARY
MARCH
APRIL
MAY
JUNE
JULY
AUGUST
SEPTEMBER
OCTOBER
NOVEMBER
DECEMBER
H'0'
H'31'
H'60'
H'91'
H'121'
H'152'
H'182'
H'213'
H'244'
H'274'
H'305'
H'335'
JANUARY
FEBRUARY
MARCH
APRIL
MAY
JUNE
JULY
AUGUST
SEPTEMBER
OCTOBER
NOVEMBER
DECEMBER
X'4021202020202020'
EDIT PATTERN
CL17' '
SOME BLANKS
,
AMUEDSNA
Appendix F
781
*----------------------------------------------------------------01 LOAD-EXIT-PARMS.
05 FIXED-PARM-VALUES.
10 EXIT-JOBNAME
PIC X(8).
10 EXIT-STEPNAME
PIC X(8).
10 EXIT-DBNAME
PIC X(8).
10 EXIT-TSNAME
PIC X(8).
10 EXIT-RESUME
PIC X(1).
10 EXIT-REPLACE
PIC X(1).
10 EXIT-FILLER1
PIC X(2).
10 EXIT-USERID
PIC X(8).
10 EXIT-DB2-SSID
PIC X(4).
10 EXIT-DATE.
15 EXIT-MM
PIC 9(2).
15 EXIT-DD
PIC 9(2).
15 EXIT-YY
PIC 9(2).
10 EXIT-TIME
PIC X(6).
10 EXIT-UTILID-PARM
PIC X(16).
10 FILLER REDEFINES EXIT-UTILID-PARM.
15 EXIT-PREFIX
PIC X(8).
15 EXIT-SUFFIX
PIC X(8).
10 EXIT-DATE8.
15 EXIT-DATE8-MM
PIC 9(2).
15 EXIT-DATE8-DD
PIC 9(2).
15 EXIT-DATE8-YEAR
PIC 9(4).
15 FILLER REDEFINES EXIT-DATE8-YEAR.
20 EXIT-DATE8-CC
PIC 9(2).
20 EXIT-DATE8-YY
PIC 9(2).
10 EXIT-GRPNM
PIC X(4).
10 EXIT-VCAT
PIC X(8).
10 EXIT-DATEJ.
15 EXIT-DATEJ-YEAR
PIC 9(4).
15 FILLER REDEFINES EXIT-DATEJ-YEAR.
782
Figure 70
10
05
20 EXIT-DATEJ-CC
20 EXIT-DATEJ-CC
15 EXIT-DATEJ-DDD
EXIT-FILLER2
WORK-AREA-ADDRESSES.
10 WORK-AREA-1
10 WORK-AREA-2
10 WORK-AREA-3
10 WORK-AREA-4
10 WORK-AREA-5
10 WORK-AREA-6
10 WORK-AREA-7
10 WORK-AREA-8
PIC
PIC
PIC
PIC
9(2).
9(2).
9(3).
X(13).
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(4).
9(4).
9(4).
9(4).
9(4).
9(4).
9(4).
9(4).
Field
Description
EXIT-JOBNAME
EXIT-STEPNAME
EXIT-DBNAME
EXIT-TSNAME
contains the name of the table space or index space from the
LOAD command, up to 8 bytes
EXIT-RESUME
EXIT-REPLACE
EXIT-USERID
EXIT-DB2-SSID
EXIT-DATE
EXIT-TIME
EXIT-UTILID-PARM
EXIT-DATE8
EXIT-GRPNM
EXIT-VCAT
Appendix F
783
Table 112
Field
Description
EXIT-DATEJ
WORK-AREA-1...
WORK-AREA-8
Field
Description
USER-DEFINED-VARIABLE-TABLE
VARIABLE-NAME
VARIABLE-VALUE
784
*----------------------------------------------------------------* ALL COBOL MODULES MUST BE COMPILED WITH DATA(31) AND DYNAM TO
* EXECUTE PROPERLY!!!!!!!!
*----------------------------------------------------------------IDENTIFICATION DIVISION.
*----------------------------------------------------------------PROGRAM-ID.
AMUEDSN2.
AUTHOR.
BMC SOFTWARE
DATE-WRITTEN.
AUGUST 1995.
DATE-COMPILED.
*----------------------------------------------------------------* AMUEDSN2 IS A SAMPLE DB2 COBOL II USER EXIT.
*
* THIS IS A SAMPLE LOADPLUS USER EXIT.
THIS EXIT WOULD BE USED
* IN ORDER TO DEFINE USER VARIABLES FOR BUILDING DATASET NAMES
* FOR DYNAMIC WORKFILE ALLOCATION WITH THE DSNPAT KEYWORD.
*
* AMUEDSN2 IS CALLED ONLY ONCE PER EXECUTION OF AMUUMAIN
* THE MODULE IS CALLED AT THE BEGINNING OF EITHER THE PRELOAD
* PHASE OR THE COMBINED PHASE.
*
* THIS EXIT WILL ONLY BE INVOKED WHEN IT IS THE VALUE SET FOR
* DSNUEXIT PARM IN AMU$OPTS DURING INSTALLATION OR IN THE
* DSNUEXIT PARAMETER OF THE LOAD COMMAND. THE LOAD COMMAND
* OPTION WILL OVERRIDE THE PARM IN THE AMU$OPTS MACRO.
*
* PLEASE REVIEW ADDITIONAL DOCUMENTION IN THE REFERENCE MANUAL
*----------------------------------------------------------------ENVIRONMENT
DIVISION.
INPUT-OUTPUT
SECTION.
FILE-CONTROL.
DATA
DIVISION.
FILE
SECTION.
EJECT
*----------------------------------------------------------------WORKING-STORAGE SECTION.
*----------------------------------------------------------------01
FILLER
*----------------------------------------------------------------*
MISCELLANEOUS LITERALS, TABLE SUBSCRIPTS, NUMERIC VALUES
*
FOR JULIAN-DATE OR JULIAN/CENTURY-DATE CONVERSION, ETC.
*-----------------------------------------------------------------
Appendix F
785
Figure 72
01
MISCELLANEOUS.
05 SAVE-DATA
05 DAYS-SUBX
05 SUBX
05 ONE
05 TWO
05 FOUR
05 MAX-LENGTH
05 NINETEEN
05 TWENTY
05 NINETY-FIVE
05 ONE-HUNDRED
05 FOUR-HUNDRED
05 JULIAN-DATE-DESC
05 JULIAN-CDATE-DESC
05 UTILITY-PREFIX
05 UTILITY-SUFFIX
05 UTILID-PREFIX
05 UTILID-SUFFIX
05 UTILID-POINTER
05 UTILID-COUNTER
05 UTILID-TALLY
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
X(8)
S9(3)
S9(3)
S9(1)
S9(1)
S9(1)
S9(3)
S9(3)
S9(3)
S9(3)
S9(3)
S9(3)
X(9)
X(9)
X(9)
X(9)
X(8)
X(8)
S9(3)
S9(3)
S9(3)
COMP
COMP
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
SPACES.
ZERO.
ZERO.
+1.
+2.
+4.
+16.
+19.
+20.
+95.
+100.
+400.
'_JDATE'.
'_JCDATE'.
'_UTILPFX'.
'_UTILSFX'.
SPACES.
SPACES.
ZERO.
ZERO.
ZERO.
DATE-WORK-AREA.
05 CONVERTED-DATE.
10 DATE-PREFIX
PIC X(1)
VALUE 'D'.
10 JULIAN-CDATE
PIC 9(7)
VALUE ZERO.
10 FILLER REDEFINES JULIAN-CDATE.
15 JULIAN-CC
PIC 9(2).
15 JULIAN-DATE
PIC 9(5).
15 FILLER REDEFINES JULIAN-DATE.
20 JULIAN-YY
PIC 9(2).
20 JULIAN-DAYS
PIC 9(3).
05 WORK-YEAR
PIC S9(3) COMP-3 VALUE ZERO.
05 YEAR-ANSWER
PIC S9(3) COMP-3 VALUE ZERO.
05 YEAR-REMAINDER
PIC S9(9) COMP-3 VALUE ZERO.
05 FILLER REDEFINES YEAR-REMAINDER.
10 YEAR-X
PIC X(5).
*----------------------------------------------------------------*
THE FOLLOWING TWO TABLES ARE USED TO CALCULATE THE JULIAN
*
DAY DEPENDING ON WHETHER THE YEAR IS A LEAP OR NOT.
*----------------------------------------------------------------01
786
NO-LEAP-MONTHS.
05 JANUARY
05 FEBUARY
05 MARCH
05 APRIL
05 MAY
PIC
PIC
PIC
PIC
PIC
S9(3)
S9(3)
S9(3)
S9(3)
S9(3)
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
VALUE
VALUE
VALUE
VALUE
VALUE
00.
31.
59.
90.
120.
Figure 72
01
01
01
05 JUNE
PIC S9(3)
05 JULY
PIC S9(3)
05 AUGUST
PIC S9(3)
05 SEPTEMBER
PIC S9(3)
05 OCTOBER
PIC S9(3)
05 NOVEMBER
PIC S9(3)
05 DECEMBER
PIC S9(3)
FILLER REDEFINES NO-LEAP-MONTHS.
05 MONTH-DAYS
PIC S9(3)
LEAP-MONTHS.
05 LEAP-JANUARY
PIC S9(3)
05 LEAP-FEBRUARY
PIC S9(3)
05 LEAP-MARCH
PIC S9(3)
05 LEAP-APRIL
PIC S9(3)
05 LEAP-MAY
PIC S9(3)
05 LEAP-JUNE
PIC S9(3)
05 LEAP-JULY
PIC S9(3)
05 LEAP-AUGUST
PIC S9(3)
05 LEAP-SEPTEMBER
PIC S9(3)
05 LEAP-OCTOBER
PIC S9(3)
05 LEAP-NOVEMBER
PIC S9(3)
05 LEAP-DECEMBER
PIC S9(3)
FILLER REDEFINES LEAP-MONTHS.
05 LEAP-MONTH-DAYS
PIC S9(3)
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
151.
181.
212.
243.
273.
304.
334.
COMP-3
OCCURS 12 TIMES.
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
COMP-3
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
COMP-3
OCCURS 12 TIMES.
00.
31.
60.
91.
121.
152.
182.
213.
244.
274.
305.
335.
*----------------------------------------------------------------LINKAGE SECTION.
*----------------------------------------------------------------*
THE TABLE CAN NOT OCCUR MORE THAN 100 TIME OR A STORAGE
*
OVERLAY WILL OCCUR.
*----------------------------------------------------------------01 LOAD-EXIT-PARMS.
05 FIXED-PARM-VALUES.
10 EXIT-JOBNAME
PIC X(8).
10 EXIT-STEPNAME
PIC X(8).
10 EXIT-DBNAME
PIC X(8).
10 EXIT-TSNAME
PIC X(8).
10 EXIT-RESUME
PIC X(1).
10 EXIT-REPLACE
PIC X(1).
10 EXIT-FILLER1
PIC X(2).
10 EXIT-USERID
PIC X(8).
10 EXIT-DB2-SSID
PIC X(4).
10 EXIT-DATE.
15 EXIT-MM
PIC 9(2).
15 EXIT-DD
PIC 9(2).
15 EXIT-YY
PIC 9(2).
10 EXIT-TIME
PIC X(6).
10 EXIT-UTILID-PARM
PIC X(16).
10 FILLER REDEFINES EXIT-UTILID-PARM.
15 EXIT-PREFIX
PIC X(8).
Appendix F
787
Figure 72
10
10
10
10
05
05
15 EXIT-SUFFIX
PIC X(8).
EXIT-DATE8.
15 EXIT-DATE8-MM
PIC 9(2).
15 EXIT-DATE8-DD
PIC 9(2).
15 EXIT-DATE8-YEAR
PIC 9(4).
15 FILLER REDEFINES EXIT-DATE8-YEAR.
20 EXIT-DATE8-CC
PIC 9(2).
20 EXIT-DATE8-YY
PIC 9(2).
EXIT-GRPNM
PIC X(4).
EXIT-VCAT
PIC X(8).
EXIT-DATEJ.
15 EXIT-DATEJ-YEAR
PIC 9(4).
15 FILLER REDEFINES EXIT-DATEJ-YEAR.
20 EXIT-DATEJ-CC
PIC 9(2).
20 EXIT-DATEJ-CC
PIC 9(2).
15 EXIT-DATEJ-DDD
PIC 9(3).
EXIT-FILLER2
PIC X(13).
WORK-AREA-ADDRESSES.
10 WORK-AREA-1
10 WORK-AREA-2
10 WORK-AREA-3
10 WORK-AREA-4
10 WORK-AREA-5
10 WORK-AREA-6
10 WORK-AREA-7
10 WORK-AREA-8
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
9(4).
9(4).
9(4).
9(4).
9(4).
9(4).
9(4).
9(4).
788
Figure 72
EXIT-DATE8-DD
EXIT-DATE8-MM
EXIT-DATE8-CC
EXIT-DATE8-YY
EXIT-DATE8-YEAR
TO
TO
TO
TO
TO
JULIAN-DAYS.
DAYS-SUBX.
JULIAN-CC.
JULIAN-YY.
WORK-YEAR.
Appendix F
789
Figure 72
*----------------------------------------------------------------*
THE FULL 16 BYTES OF THE UTILITY ID PARM IS CHECKED FOR
*
A DELIMITER. IF ONE IS FOUND AFTER THE FIRST 8 BYTES, IT
*
IS INCLUDED IN THE SUFFIX. IF A DELIMITER IS FOUND IN THE
*
FIRST 8 BYTES, ONLY THOSE CHARACTERS/NUMBERS UP TO THE
*
DELIMITER, WILL BE MOVED INTO THE PREFIX FIELD.
*----------------------------------------------------------------*
THE DELIMITER CHARACTER IMMEDIATELY FOLLOWING THE FORWARD
*
SLASH ('/') IS A BROKEN VERTICAL BAR, HEX 6A, AND IS NOT
*
DISPLAYABLE IN BOOKMANAGER
*----------------------------------------------------------------1400-EDIT-UTILID.
MOVE ONE TO UTILID-POINTER, UTILID-TALLY.
UNSTRING EXIT-UTILID-PARM
DELIMITED BY ' ' OR '.' OR '+' OR '|' OR ';'
OR '-' OR '/' OR '' OR ',' OR '_' OR ':'
OR '=' OR '\'
INTO UTILID-PREFIX
COUNT IN UTILID-COUNTER
WITH POINTER UTILID-POINTER.
IF UTILID-COUNTER = MAX-LENGTH
THEN
MOVE EXIT-SUFFIX TO UTILID-SUFFIX
ELSE
MOVE UTILID-COUNTER TO UTILID-POINTER
ADD TWO TO UTILID-POINTER
UNSTRING EXIT-UTILID-PARM
INTO UTILID-SUFFIX
WITH POINTER UTILID-POINTER
END-IF.
PERFORM 1500-UTILID-PARMS.
1400-EDIT-UTILID-EXIT.
EXIT.
1500-UTILID-PARMS.
MOVE ONE TO SUBX.
MOVE UTILITY-PREFIX TO VARIABLE-NAME(SUBX).
MOVE UTILID-PREFIX TO VARIABLE-VALUE(SUBX).
ADD ONE TO SUBX.
MOVE UTILITY-SUFFIX TO VARIABLE-NAME(SUBX).
MOVE UTILID-SUFFIX TO VARIABLE-VALUE(SUBX).
790
Figure 72
struct amudsnpx
char
char
char
char
char
char
char
char
char
char
char
char
char
char
char
{
xpjobn(|8|);
/* jobname
*/
xpstep(|8|);
/* stepname
*/
xpdbname(|8|);
/* database name
*/
xpspname(|8|);
/* space name
*/
xpresume(|1|);
/* resume
(Y or N)
*/
xpreplace(|1|); /* replace (Y or N)
*/
xpresrv1(|2|);
/* reserved for loadplus
*/
xpuser(|8|);
/* user id
*/
xpssid(|4|);
/* db2 subsystem id
*/
xpdate(|6|);
/* utility execution date mmddyy
*/
xptime(|6|);
/* utility execution time hhmmss
*/
xputilid(|16|); /* utility id
*/
xpdate8(|8|);
/* utility execution date mmddyyyy */
xpgrpnm(|4|);
/* data sharing group name
*/
xpvcat(|8|); /* vcat name (from 1st part if partitnd)*/
Appendix F
791
Figure 73
char
char
int
int
int
int
int
int
int
int
...
xpdatej(|7|);
xpresrv2(|13|);
xpusrwd1;
xpusrwd2;
xpusrwd3;
xpusrwd4;
xpusrwd5;
xpusrwd6;
xpusrwd7;
xpusrwd8;
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
*/
*/
Field
Description
xpjobn
xpstep
xpdbname
xpspname
contains the name of the table space or index space from the
LOAD command, up to 8 bytes
xpresume
xpreplace
xpuser
xpssid
xpdate
xptime
xputilid
xpdate8
xpgrpnm
xpvcat
792
Table 114
Field
Description
xpdatej
xpusrwd1...xpusrwd8
struct XPUVAREA {
char xpuvname(|9|);
char xpuvdata(|8|);
} xpuvars(|XPUVENT|) ;
Field
Description
XPUVAREA
xpuvname
xpuvdata
XPUVENT
Appendix F
793
/*--------------------------------------------------------------------*/
/*
D I S C L A I M E R
*/
/*--------------------------------------------------------------------*/
/*
*/
/* THIS IS A SAMPLE LOADPLUS USER EXIT. THIS EXIT WOULD BE USED
*/
/* IN ORDER TO DEFINE USER VARIABLES FOR BUILDING DATASET NAMES FOR
*/
/* DYNAMIC WORKFILE ALLOCATION WITH THE DSNPAT KEYWORD.
*/
/*
*/
/* THIS EXIT WILL ONLY BE INVOKED WHEN IT IS SPECIFICALLY NAMED
*/
/* IN THE AMU$OPTS DSNUEXIT PARAMETER OR IN THE DSNUEXIT PARAMETER OF */
/* THE LOAD COMMAND. THE SPECIFICATION IN THE LOAD COMMAND WILL
*/
/* OVERRIDE THE SPECIFICATION IN THE AMU$OPTS MACRO. IF THE NAME
*/
/* SPECIFIED IS 'NONE' WITHOUT THE SINGLE QUOTE MARKS, THE EXIT WILL */
/* NOT BE INVOKED.
*/
/*
*/
/* NOTE: PLEASE REVIEW THE DOCUMENTATION IN THE REFERENCE MANUAL,
*/
/* AND THE FOLLOWING USAGE NOTES PRIOR TO IMPLEMENTING THIS EXIT.
*/
/*
*/
/* PLEASE CALL BMC SOFTWARE PRODUCT SUPPORT WITH ANY QUESTIONS YOU
*/
/* MAY HAVE IN THIS AREA.
*/
/*
*/
/*
PHONE: 1-800-537-1813
*/
/*
*/
/*--------------------------------------------------------------------*/
/*
N O T E S
*/
/*--------------------------------------------------------------------*/
/*
*/
/* AMUEDSC IS CALLED ONCE AT THE BEGINNING OF EITHER THE PRELOAD
*/
/* PHASE OR THE COMBINED PHASE.
*/
/*
*/
/* WHEN INVOKED IT IS PASSED THE ADDRESS OF A USER EXIT BLOCK
*/
/*
DESCRIBED BY THE AMUDSNXP STRUCT.
*/
/*
THIS CALL IS FROM ASEMBLER MODULE DYNWDSNX
*/
/*
*/
/* UPON EXIT
RETRUN CODE FROM THIS EXIT
*/
/*
*/
/*
0
GOOD RETURN
*/
/*
*/
/*
OTHER ERROR RETURN, TERMINATE UTILITY
*/
/*
*/
/* AMUDSNXP STRUCT THIS STRUCT CONTAINS BOTH INPUT
*/
/*
AND OUTPUT FIELDS. INPUT FIELDS ARE PROVIDED TO */
/*
PASS VITAL INFORMATION TO THIS EXIT. ANY MODIFI- */
/*
CATIONS TO THESE FIELDS WILL BE DISREGARDED UPON */
/*
RETURN TO THE CALLER. THE OUTPUT FIELDS ARE
*/
794
Figure 75
/*
PROVIDED TO ALLOW THE EXIT TO PASS INFORMATION
*/
/*
BACK TO THE CALLER.
*/
/*
*/
/*--------------------------------------------------------------------*/
/*
*/
/*--------------------------------------------------------------------*/
/*
*/
/* XPUVARS DEFINES THE OUTPUT AREA OF THE AMUDSNXP STRUCT AT TAG
*/
/* XPUVAREA. YOU MAY USE THIS STRUCT TO EASILY REFERENCE THE ARRAY
*/
/* DEFINED AT XPUVAREA.
*/
/*
*/
/* NOTE:
*/
/*
*/
/* THE NUMBER OF ENTRIES IN THE XPUVAREA ARRAY MUST NOT EXCEED 100
*/
/* OR YOU WILL ADDRESS BEYOND THE END OF THE STRUCTURE STORAGE
*/
/* PROVIDED FOR THIS ROUTINE.
*/
/*
*/
/* VARIABLE NAME:
*/
/*
*/
/* 1. MUST BEGIN WITH AN UNDERSCORE CHARACTER C'_' X'6D'
*/
/* 2. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVNAME FIELD
*/
/* 3. IF LESS THAN 9 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS */
/* 4. MAY NOT CONTAIN EMBEDDED BLANKS
*/
/* 5. NON-BLANK CHARACTERS AFTER THE LEFTMOST BYTE MUST BE NATIONAL */
/*
CHARACTERS WHICH ARE A THROUGH Z, 0 THROUGH 9, #, @, AND $
*/
/* 6. MUST BE UPPER CASE.
*/
/*
*/
/* VARIABLE DATA:
*/
/*
*/
/* 1. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVDATA FIELD
*/
/* 2. IF LESS THAN 8 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS */
/* 3. MAY NOT CONTAIN EMBEDDED BLANKS
*/
/* 4. NON-BLANK CHARACTERS MUST BE 'NATIONAL' CHARACTERS WHICH ARE */
/*
A THROUGH Z, 0 THROUGH 9, #, @, $, -, AND .
*/
/*
*/
/*--------------------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define XPUVENT 100
/* void dynwdsnx(struct XPVAREA*); */
static int monthtab(||) = {
0,
/*
january
*/
31,
/*
february */
59,
/*
march
*/
90,
/*
april
*/
120,
/*
may
*/
151,
/*
june
*/
181,
/*
july
*/
212,
/*
august
*/
243,
/*
september */
Appendix F
795
Figure 75
/*
/*
/*
october
november
december
*/
*/
*/
} ;
static int leaptab(||) = {
0,
/*
january
*/
31,
/*
february */
60,
/*
march
*/
91,
/*
april
*/
121,
/*
may
*/
152,
/*
june
*/
182,
/*
july
*/
213,
/*
august
*/
244,
/*
september */
274,
/*
october
*/
305,
/*
november */
335
/*
december */
} ;
struct amudsnpx {
char
xpjobn(|8|);
/* jobname
*/
char
xpstep(|8|);
/* stepname
*/
char
xpdbname(|8|);
/* database name
*/
char
xpspname(|8|);
/* space name
*/
char
xpresume(|1|);
/* resume
(Y or N)
*/
char
xpreplace(|1|); /* replace (Y or N)
*/
char
xpresrv1(|2|);
/* reserved for loadplus
*/
char
xpuser(|8|);
/* user id
*/
char
xpssid(|4|);
/* db2 subsystem id
*/
char
xpdate(|6|);
/* utility execution date mmddyy
*/
char
xptime(|6|);
/* utility execution time hhmmss
*/
char
xputilid(|16|); /* utility id
*/
char
xpdate8(|8|);
/* utility execution date mmddyyyy */
char
xpgrpnm(|4|);
/* data sharing group name
*/
char
xpvcat(|8|); /* vcat name (from 1st part if partitnd)*/
char
xpdatej(|7|);
/* utility execution date ccyyddd */
char
xpresrv2(|13|); /* reserved for loadplus
*/
int
xpusrwd1;
/* user word 1*/
int
xpusrwd2;
/* user word 2*/
int
xpusrwd3;
/* user word 3*/
int
xpusrwd4;
/* user word 4*/
int
xpusrwd5;
/* user word 5*/
int
xpusrwd6;
/* user word 6*/
int
xpusrwd7;
/* user word 7*/
int
xpusrwd8;
/* user word 8*/
struct XPUVAREA {
char xpuvname(|9|);
char xpuvdata(|8|);
} xpuvars(|XPUVENT|) ;
} ;
int amuedsc (struct amudsnpx *xparm)
{
796
Figure 75
char yr(|5|);
char day(|4|);
char month(|4|);
char wuid(|17|);
int i;
int x;
int l;
int wday;
int wyear;
int iyear;
int imonth;
int totdays;
int xdisable;
int pfxlen;
int sfxstrt;
int sfxlen;
struct XPUVAREA *tp;
tp = xparm->xpuvars;
x = l = wday = wyear = iyear = imonth = totdays = 0;
xdisable = i = pfxlen = sfxstrt = sfxlen = 0;
/*--------------------------------------------------------------------*/
/*
*/
/* to disable this exit set
xdisable = 1
*/
/*
*/
/*--------------------------------------------------------------------*/
if (xdisable)
return(0);
/*--------------------------------------------------------------------*/
/*
*/
/* CREATE USER-DEFINED VARIABLES
*/
/*
*/
/* THE FOLLOWING USER VARIABLES WILL BE CREATED:
*/
/*
*/
/* _JDATE
- JULIAN DATE IN THE FORM OF DYYDDD BUILT FROM THE
*/
/*
LOADPLUS SUPPLIED VARIABLE &DATE8
*/
/*
*/
/* _JCDATE
- JULIAN DATE IN THE FORM OF DYYYYDDD BUILT FROM THE
*/
/*
LOADPLUS SUPPLIED VARIABLE &DATE8
*/
/*
*/
/* _UTILPFX
- UP TO 8 BYTES OF THE FIRST NODE OF THE UTILITY ID
*/
/*
*/
/* _UTILSFX
- UP TO 8 BYTES OF THE REMAINING PORTION OF THE
*/
/*
UTILITY ID
*/
/*
*/
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*
*/
/* BUILD _JDATE AND _JCDATE USER VARIABLES
*/
/*
*/
/*--------------------------------------------------------------------*/
Appendix F
797
Figure 75
memcpy(month,xparm->xpdate8,2);
memcpy(day,xparm->xpdate8+2,2);
memcpy(yr,xparm->xpdate8+4,4);
sscanf(yr,"%d",&wyear);
sscanf(day,"%d",&wday);
sscanf(month,"%d",&imonth);
imonth = imonth - 1;
if (wyear % 4 == 0 && wyear % 100 != 0 || wyear % 400 == 0)
totdays = wday + leaptab(|imonth|);
else
totdays = wday + monthtab(|imonth|);
sprintf(yr,"%d",wyear);
sprintf(day,"%03.03d",totdays);
/*--------------------------------------------------------------------*/
/*
clear the user variable area to blanks
*/
/*--------------------------------------------------------------------*/
memset(tp->xpuvname,' ', sizeof(struct XPUVAREA));
/*--------------------------------------------------------------------*/
/*
clear the user variable area to blanks
*/
/*--------------------------------------------------------------------*/
memcpy(tp->xpuvname,"_JDATE", 6);
memcpy(tp->xpuvdata,"D",1);
memcpy(tp->xpuvdata+1,xparm->xpdate8+6,2);
memcpy(tp->xpuvdata+3,day,3);
/*--------------------------------------------------------------------*/
/* sprintf(tp->xpuvdata,"D%-2.2s%3.3s",xparm->xpdate8+6,day); */
/* do not use this format as the '\0' used by sprintf will cause
*/
/* BMC51239I USER VARIABLE '_JDATE' HAS INVALID DATA
*/
/*--------------------------------------------------------------------*/
tp++;
/*--------------------------------------------------------------------*/
/*
clear the user variable area to blanks
*/
/*--------------------------------------------------------------------*/
memset(tp->xpuvname,' ', sizeof(struct XPUVAREA));
memcpy(tp->xpuvname,"_JCDATE", 7);
memcpy(tp->xpuvdata,"D",1);
memcpy(tp->xpuvdata+1,yr,4);
memcpy(tp->xpuvdata+5,day,3);
/*--------------------------------------------------------------------*/
/* sprintf(tp->xpuvdata,"D%-4.4s%-3.3s",yr,day);
*/
/* do not use this format as the '\0' used by sprintf will cause
*/
/* BMC51239I USER VARIABLE '_JCDATE' HAS INVALID DATA
*/
/*--------------------------------------------------------------------*/
/*
*/
/* build _utilpfx and _utilsfx user variables
*/
/*
*/
/*--------------------------------------------------------------------*/
tp++;
sprintf(wuid,"%16.16s",xparm->xputilid);
/*--------------------------------------------------------------------*/
798
Figure 75
Appendix F
799
Figure 75
/*--------------------------------------------------------------------*/
tp++;
/*--------------------------------------------------------------------*/
/*
clear the user variable area to blanks
*/
/*--------------------------------------------------------------------*/
memset(tp->xpuvname,' ', sizeof(struct XPUVAREA));
memcpy(tp->xpuvname, "_UTILSFX", 8);
memcpy(tp->xpuvdata, xparm->xputilid+sfxstrt, sfxlen);
/*--------------------------------------------------------------------*/
/* sprintf(tp->xpuvdata,"%-8.8s",xparm->xputilid+8);
*/
/* do not use this format as the '\0' used by sprintf will cause
*/
/* BMC51239I USER VARIABLE '_UTILSPX' HAS INVALID DATA
*/
/*--------------------------------------------------------------------*/
return (0);
}
struct amudsnxp
char
char
char
char
char
char
char
char
char
char
char
char
char
800
{
xpjobn[8];
xpstep[8];
xpdbname[8];
xpspname[8];
xpresume[1];
xpreplace[1];
xpresrv1[2];
xpuser[8];
xpssid[4];
xpdate[6];
xptime[6];
xputilid[16];
xpdate8[8];
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
jobname
stepname
database name
space name
resume (Y or N)
replace (Y or N)
reserved for loadplus
user id
db2 subsystem id
utility execution date mmddyy
utility execution time hhmmss
utility id
utility execution date mmddyyyy
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
Figure 76
char
char
char
char
int
int
int
int
int
int
int
int
...
xpgrpnm[4];
/* data sharing group name
*/
xpvcat[8]; /* vcat name (from 1st part if partitnd)*/
xpdatej[7];
/* utility execution date ccyyddd */
xpresrv2[13];
/* reserved for load plus
*/
xpusrwd1;
/* user word 1*/
xpusrwd2;
/* user word 2*/
xpusrwd3;
/* user word 3*/
xpusrwd4;
/* user word 4*/
xpusrwd5;
/* user word 5*/
xpusrwd6;
/* user word 6*/
xpusrwd7;
/* user word 7*/
xpusrwd8;
/* user word 8*/
Field
Description
xpjobn
xpstep
xpdbname
xpspname
contains the name of the table space or index space from the
LOAD command, up to 8 bytes
xpresume
xpreplace
xpuser
xpssid
xpdate
xptime
xputilid
xpdate8
xpgrpnm
xpvcat
Appendix F
801
Table 116
Field
Description
xpdatej
xpusrwd1...xpusrwd8
struct XPUVAREA {
char xpuvname[9];
char xpuvdata[8];
} xpuvars[XPUVENT] ;
Field
Description
XPUVAREA
xpuvname
xpuvdata
XPUVENT
802
/*--------------------------------------------------------------------*/
/*
D I S C L A I M E R
*/
/*--------------------------------------------------------------------*/
/*
*/
/* THIS IS A SAMPLE LOADPLUS USER EXIT. THIS EXIT WOULD BE USED
*/
/* IN ORDER TO DEFINE USER VARIABLES FOR BUILDING DATASET NAMES FOR
*/
/* DYNAMIC WORKFILE ALLOCATION WITH THE DSNPAT KEYWORD AND FOR
*/
/* SHRLEVEL CHANGE WITH THE SPILLDSNPAT KEYWORD.
*/
/*
*/
/* THIS EXIT WILL ONLY BE INVOKED WHEN IT IS SPECIFICALLY NAMED
*/
/* IN THE AMU$OPTS DSNUEXIT PARAMETER OR IN THE DSNUEXIT PARAMETER OF */
/* THE LOAD COMMAND. THE SPECIFICATION IN THE LOAD COMMAND WILL
*/
/* OVERRIDE THE SPECIFICATION IN THE AMU$OPTS MACRO. IF THE NAME
*/
/* SPECIFIED IS 'NONE' WITHOUT THE SINGLE QUOTE MARKS, THE EXIT WILL */
/* NOT BE INVOKED.
*/
/*
*/
/* NOTE: PLEASE REVIEW THE DOCUMENTATION IN THE REFERENCE MANUAL,
*/
/* AND THE FOLLOWING USAGE NOTES PRIOR TO IMPLEMENTING THIS EXIT.
*/
/*
*/
/* PLEASE CALL BMC SOFTWARE PRODUCT SUPPORT WITH ANY QUESTIONS YOU
*/
/* MAY HAVE IN THIS AREA.
*/
/*
*/
/*
PHONE: 1-800-537-1813
*/
/*
*/
/*--------------------------------------------------------------------*/
/*
N O T E S
*/
/*--------------------------------------------------------------------*/
/*
*/
/* AMUEDSL IS CALLED ONCE AT THE BEGINNING OF EITHER THE PRELOAD
*/
/* PHASE OR THE COMBINED PHASE.
*/
/*
*/
/* WHEN INVOKED IT IS PASSED THE ADDRESS OF A USER EXIT BLOCK
*/
/*
DESCRIBED BY THE AMUDSNXP STRUCT.
*/
/*
THIS CALL IS FROM ASEMBLER MODULE DYNWDSNX
*/
/*
*/
/* UPON EXIT
RETRUN CODE FROM THIS EXIT
*/
/*
*/
/*
0
GOOD RETURN
*/
/*
*/
/*
OTHER ERROR RETURN, TERMINATE UTILITY
*/
/*
*/
/* AMUDSNXP STRUCT THIS STRUCT CONTAINS BOTH INPUT
*/
/*
AND OUTPUT FIELDS. INPUT FIELDS ARE PROVIDED TO */
/*
PASS VITAL INFORMATION TO THIS EXIT. ANY MODIFI- */
/*
CATIONS TO THESE FIELDS WILL BE DISREGARDED UPON */
Appendix F
803
Figure 78
/*
RETURN TO THE CALLER. THE OUTPUT FIELDS ARE
*/
/*
PROVIDED TO ALLOW THE EXIT TO PASS INFORMATION
*/
/*
BACK TO THE CALLER.
*/
/*
*/
/*--------------------------------------------------------------------*/
/*
*/
/*--------------------------------------------------------------------*/
/*
*/
/* XPUVARS DEFINES THE OUTPUT AREA OF THE AMUDSNXP STRUCT AT TAG
*/
/* XPUVAREA. YOU MAY USE THIS STRUCT TO EASILY REFERENCE THE ARRAY
*/
/* DEFINED AT XPUVAREA.
*/
/*
*/
/* NOTE:
*/
/*
*/
/* THE NUMBER OF ENTRIES IN THE XPUVAREA ARRAY MUST NOT EXCEED 100
*/
/* OR YOU WILL ADDRESS BEYOND THE END OF THE STRUCTURE STORAGE
*/
/* PROVIDED FOR THIS ROUTINE.
*/
/*
*/
/* VARIABLE NAME:
*/
/*
*/
/* 1. MUST BEGIN WITH AN UNDERSCORE CHARACTER C'_' X'6D'
*/
/* 2. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVNAME FIELD
*/
/* 3. IF LESS THAN 9 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS */
/* 4. MAY NOT CONTAIN EMBEDDED BLANKS
*/
/* 5. NON-BLANK CHARACTERS AFTER THE LEFTMOST BYTE MUST BE NATIONAL */
/*
CHARACTERS WHICH ARE A THROUGH Z, 0 THROUGH 9, #, @, AND $
*/
/* 6. MUST BE UPPER CASE.
*/
/*
*/
/* VARIABLE DATA:
*/
/*
*/
/* 1. MUST BEGIN IN THE LEFTMOST BYTE OF XPUVDATA FIELD
*/
/* 2. IF LESS THAN 8 BYTES, MUST BE PADDED ON THE RIGHT WITH BLANKS */
/* 3. MAY NOT CONTAIN EMBEDDED BLANKS
*/
/* 4. NON-BLANK CHARACTERS MUST BE 'NATIONAL' CHARACTERS WHICH ARE */
/*
A THROUGH Z, 0 THROUGH 9, #, @, $, -, AND .
*/
/*
*/
/*--------------------------------------------------------------------*/
#pragma runopts(PLIST(HOST))
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define XPUVENT 100
static int monthtab[] = {
0,
/*
january
*/
31,
/*
february */
59,
/*
march
*/
90,
/*
april
*/
120,
/*
may
*/
151,
/*
june
*/
181,
/*
july
*/
212,
/*
august
*/
804
Figure 78
/*
/*
/*
/*
september
october
november
december
*/
*/
*/
*/
} ;
static int leaptab[] = {
0,
/*
january
*/
31,
/*
february */
60,
/*
march
*/
91,
/*
april
*/
121,
/*
may
*/
152,
/*
june
*/
182,
/*
july
*/
213,
/*
august
*/
244,
/*
september */
274,
/*
october
*/
305,
/*
november */
335
/*
december */
} ;
struct amudsnxp {
char
xpjobn[8];
/* jobname
*/
char
xpstep[8];
/* stepname
*/
char
xpdbname[8];
/* database name
*/
char
xpspname[8];
/* space name
*/
char
xpresume[1];
/* resume (Y or N)
*/
char
xpreplace[1];
/* replace (Y or N)
*/
char
xpresrv1[2];
/* reserved for loadplus
*/
char
xpuser[8];
/* user id
*/
char
xpssid[4];
/* db2 subsystem id
*/
char
xpdate[6];
/* utility execution date mmddyy
*/
char
xptime[6];
/* utility execution time hhmmss
*/
char
xputilid[16];
/* utility id
*/
char
xpdate8[8];
/* utility execution date mmddyyyy */
char
xpgrpnm[4];
/* data sharing group name
*/
char
xpvcat[8]; /* vcat name (from 1st part if partitnd)*/
char
xpdatej[7];
/* utility execution date ccyyddd */
char
xpresrv2[13];
/* reserved for load plus
*/
int
xpusrwd1;
/* user word 1*/
int
xpusrwd2;
/* user word 2*/
int
xpusrwd3;
/* user word 3*/
int
xpusrwd4;
/* user word 4*/
int
xpusrwd5;
/* user word 5*/
int
xpusrwd6;
/* user word 6*/
int
xpusrwd7;
/* user word 7*/
int
xpusrwd8;
/* user word 8*/
struct XPUVAREA {
char xpuvname[9];
char xpuvdata[8];
} xpuvars[XPUVENT] ;
} ;
int main
(int argc, char *argv[])
Appendix F
805
Figure 78
{
char yr[5];
char day[4];
char month[4];
char wuid[17];
int i;
int x;
int l;
int wday;
int wyear;
int iyear;
int imonth;
int totdays;
int xdisable;
int pfxlen;
int sfxstrt;
int sfxlen;
struct XPUVAREA *tp;
struct amudsnxp *xparm;
xparm = (void *)argv[1];
tp = xparm->xpuvars;
x = l = wday = wyear = iyear = imonth = totdays = 0;
xdisable = i = pfxlen = sfxstrt = sfxlen = 0;
/*--------------------------------------------------------------------*/
/*
*/
/* to disable this exit set
xdisable = 1
*/
/*
*/
/*--------------------------------------------------------------------*/
if (xdisable)
return(0);
/*--------------------------------------------------------------------*/
/*
*/
/* CREATE USER-DEFINED VARIABLES
*/
/*
*/
/* THE FOLLOWING USER VARIABLES WILL BE CREATED:
*/
/*
*/
/* _JDATE
- JULIAN DATE IN THE FORM OF DYYDDD BUILT FROM THE
*/
/*
LOADPLUS SUPPLIED VARIABLE &DATE8
*/
/*
*/
/* _JCDATE
- JULIAN DATE IN THE FORM OF DYYYYDDD BUILT FROM THE
*/
/*
LOADPLUS SUPPLIED VARIABLE &DATE8
*/
/*
*/
/* _UTILPFX
- UP TO 8 BYTES OF THE FIRST NODE OF THE UTILITY ID
*/
/*
*/
/* _UTILSFX
- UP TO 8 BYTES OF THE REMAINING PORTION OF THE
*/
/*
UTILITY ID
*/
/*
*/
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*
*/
806
Figure 78
Appendix F
807
Figure 78
tp++;
sprintf(wuid,"%16.16s",xparm->xputilid);
/*--------------------------------------------------------------------*/
/* get the length of xputilid
*/
/* find the first deliminator character
*/
/* limit _UTILPFX and UTILSFX to 8 characters -DSN node limit
*/
/*--------------------------------------------------------------------*/
for (i=0;wuid[i] != '\0'; i++)
{
switch (wuid[i])
{
case ' ':
case '.':
case '+':
case '|':
case ';':
case '-':
case '/':
case '':
case ',':
case '_':
case ':':
case '=':
case '\\':
if (pfxlen == 0)
{
pfxlen = i;
sfxstrt = i + 1;
}
break;
default:
break;
}
}
if (pfxlen == 0)
/* no delimiter found */
{
pfxlen = 8;
sfxstrt = 8;
}
sfxlen = i - sfxstrt;
if (pfxlen > 8)
pfxlen = 8;
if (sfxlen > 8)
sfxlen = 8;
/*--------------------------------------------------------------------*/
/*
clear the user variable area to blanks
*/
/*--------------------------------------------------------------------*/
memset(tp->xpuvname,' ', sizeof(struct XPUVAREA));
memcpy(tp->xpuvname, "_UTILPFX", 8);
memcpy(tp->xpuvdata, xparm->xputilid, pfxlen);
/*--------------------------------------------------------------------*/
808
Figure 78
/* sprintf(tp->xpuvdata,"%-8.8s",xparm->xputilid);
*/
/* do not use this format as the '\0' used by sprintf will cause
*/
/* BMC51239I USER VARIABLE '_UTILPFX' HAS INVALID DATA
*/
/*--------------------------------------------------------------------*/
tp++;
/*--------------------------------------------------------------------*/
/*
clear the user variable area to blanks
*/
/*--------------------------------------------------------------------*/
memset(tp->xpuvname,' ', sizeof(struct XPUVAREA));
memcpy(tp->xpuvname, "_UTILSFX", 8);
memcpy(tp->xpuvdata, xparm->xputilid+sfxstrt, sfxlen);
/*--------------------------------------------------------------------*/
/* sprintf(tp->xpuvdata,"%-8.8s",xparm->xputilid+8);
*/
/* do not use this format as the '\0' used by sprintf will cause
*/
/* BMC51239I USER VARIABLE '_UTILSPX' HAS INVALID DATA
*/
/*--------------------------------------------------------------------*/
return (0);
}
Appendix F
809
810
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index
Symbols
$AMUDYNA installation options 541
$C30DOPT 511
$C32SOPT 511
$ORTPARM DD statement 310
&DATE variable 277, 546
&DATEJ variable 277, 546
&DB variable 277, 546
&DDNAME variable 277, 546
&GRPNM variable 277, 546
&JDATE variable 277, 547
&JOBNAME variable 277, 547
&PART variable 277, 547
&REPLACE variable 277, 547
&RESUME variable 277, 547
&SSID variable 277, 547
&STEPNAME variable 277, 547
&TIME variable 277, 547
&TIME4 variable 277, 547
&TS variable 277, 547
&UID variable 277, 547
&USERID variable 277, 547
&UTIL variable 277, 547
&UTILPFX variable 277, 547
&UTILSFX variable 278, 547
&VCAT variable 278, 547
(start:end)
in predicate 225
with CONTINUEIF 179
with POSITION for field specification 232
Numerics
3400 abend reason codes 566
3900 abend reason codes 567
A
abends
3400 reason codes 566
3900 reason codes 567
BMCSORT 567
D37 59, 318, 566
excluding from a system dump 524
JES3 51, 310
preventing 59
restarting after x37 318
system, when specifying RETCODE 158
taking a system dump 534
user, when specifying RETCODE 158
using ANALYZE statistics to avoid 463
above-the-bar storage 59
access, shared 61, 556
accessibility of objects
compared to IBM DB2 LOAD 40
LOADPLUS features 35
recommendations 497
SHRLEVEL option 82, 143, 535
tuning considerations 497
ACF2 55, 516
ACFORTSS installation option 55, 516
ACHKP (auxiliary CHECK pending) status 65
activating dynamic allocation
data sets other than SYSREC 267, 543
SYSREC data sets 159
ACTIVE option
command 267
examples 402, 410, 445
installation 543
restart considerations 76
advisory REORG pending (AREO*) status 68
advisory restart pending (AREST) status 65
ALL option
with DISCARDS option 167
with REGISTER option 209
allocating data sets
copy 295, 743
discard (SYSDISC) 300, 738
disposition parameter (DISP)
copy data set recommendations 295
effect on DELETEFILES 185
effect on DELFILES 522
restart considerations 288, 316
temporary data sets 80
dynamically 69, 262
See also dynamic allocation of data sets
error (SYSERR) 301, 738
estimating size with ANALYZE 189, 311, 463
index (SYSUT1) 305, 735
input (SYSREC) 159, 303
load (SORTOUT) 296, 733
Index
811
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
allocating data sets (continued)
multiple 479
See also individual data set types
reallocating during a job 191
restart considerations 313
sort (SORTWK) 299, 739
SORTOUT 296, 297, 733
SORTWK 299, 739
SYSDISC 301, 738
SYSERR 302, 738
SYSREC 159, 303
SYSUT1 305, 306, 735
using DD statements 291
ALLTYPES option 215
ALTER authority 58
altered VARCHAR index columns 140
ampersand, in DSNPAT installation option 546
AMU$OPTS load module 511
$AMUDYNA installation options 541
ANALYZE option
allocation-related messages 464
data set allocation estimates
copy data sets 295
description 311
discard (SYSDISC) 301
error (SYSERR) 302
index (SYSUT1) 306
load (SORTOUT) 297
sort work (SORTWK) 299
description 189
determining method to use 463
dynamic allocation considerations 189, 311
example 380
PAUSE 191, 380
syntax 189
with PRELOAD option 157, 298, 304
ANALYZE phase
allocation-related messages 464
data set allocation estimates 311
pausing and continuing after analysis 191, 380
primary functions 45
tuning considerations 500
ANYDISCARDS option 158
APCOLLECTION option
command, with SQLAPPLY 147
installation 516
APCOMMIT option
command, with SQLAPPLY 146
installation 517
performance considerations 460, 488
APF authorization requirements 291
APMAXAGENTS option 145, 460, 488
APMXAGNT option 517
APOWNER option
command, with SQLAPPLY 148
installation 517
812
Apply Plus
agents 145, 517
authorizations 56
binding packages and plans 147, 516
buffers 493
collection ID 147, 516
commit frequency 146, 517
DB2 authorizations 56
description 51
options to control 145, 517
owner ID 148, 517
retrying requests 146, 518
threads 60
using with SQLAPPLY 85, 145
APRETLIM option 518
APRETRYLIM option 146
APRETRYVAL option 147
APRETVAL option 518
archive data set of REORG PLUS, loading data from 149
AREO* (advisory REORG pending) status 68
AREST (advisory restart pending) status 65
ASCII
date exit routine 116, 477
input data with SQLAPPLY 85
option 153, 257
time exit routine 116, 477
ASM (with DSNUEXIT) 264, 524
assembler, for user exits 264, 524, 768
ASSOCIATE option 172
authorization mechanisms, description 55
authorizations
ALTER 58
APF authorization 291
compared to IBM DB2 LOAD 38
CONTROL 58
data set 57
DBADM 56
DBCTRL 56
DISPLAYDB 57
OPNDB2ID installation option 58
RACF 58
required for loading tables with identity columns 57
required to run LOADPLUS 54
required to run SQLAPPLY 56
specifying CA-ACF2 or eTrust CA-Top Secret 516
SYSADM 56
SYSCTRL 56
system 58
UPDATE 58
auxiliary CHECK pending (ACHKP) status 65
availability of objects
compared to IBM DB2 LOAD 40
LOADPLUS features 35
recommendations 497
SHRLEVEL option 82, 143, 535
tuning considerations 497
average row length, determining 189, 463
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B
batch pipe data
considerations 109
with INDSN 159
BatchPipe input 109
benefits of dynamic work file allocation 79
benefits of LOADPLUS 32
BFP format 242
Binary Floating Point format, IEEE (BFP) 242
BINDADD privileges 57
binding packages and plans for Apply Plus
request 148, 517
BMC option
with CLUSTERRATIO option 202
with FORMAT option 149
with NLPCTFREE option 188
with RULES option 534
BMC Software utility tables 553
BMC Software, contacting 2
BMCCPYnn data sets 51, 292, 743
BMCCPZnn data sets 51, 292, 743
BMCDICT table
considerations 111
contents 558
maintenance 561
with large number of partitions 94
BMCDSN Command Processor
accessing BMC utility tables 554
terminating a job 320
BMCHIST table
contents 557
maintenance 560
when updated 46
BMCMSG online message processor 564
BMCRCYnn data sets 51, 292, 743
BMCRCZnn data sets 51, 292, 743
BMCSORT
abend codes 567
controlling 475
description 51
installation option 512
messages 569
severity codes 568
SMCORE option 536
SORTDEVT option 177
SORTNUM option 177, 537
when it is invoked 503
BMCSTATS option
description 201
examples 340, 380, 402
with SQLAPPLY 88
BMCSTATS tables 46, 201
BMCSTATS utility, concurrency with 61
BMCSYNC table
contents 555
maintenance 560
purpose 44, 61
serializing 61, 529
when updated 46
with large number of partitions 94, 556
BMCUNLOAD option 150, 430
BMCUTIL table
contents 554
maintenance 560
purpose 60
serializing 60, 529
when updated 46
buffer pools 465
buffer usage, controlling 465, 519
BUILD option 139
building dictionaries
command options 142, 221
installation option 528
when built 111
building indexes 139, 503
building LOADPLUS jobs 285
BYCLUSTERKEY option 173
BYTABLE option 173
C
C option 264, 524
C, for user exits 264, 524, 791
$C30DOPT 511
$C32SOPT 511
CA-ACF2/DB2 55, 516
caches for identity columns 95, 199
calculating work data set sizes 731
canceling a job 320
cardinality, determining 189, 463
CATALOG MANAGER
deleting work files considerations 522
dynamic work file allocation considerations 73, 267
catalog statistics, what UPDATEDB2STATS updates 204
CA-Top Secret/DB2 516
CBUFFS option 519
CCSID option
description 154
example 451
performance considerations 460
translation processing description 257
CENTURY option
command 198
example 380
installation 519
with DATE format 243
with TIMESTAMP format 244
CHANGE MANAGER
deleting work files considerations 522
dynamic work file allocation considerations 73, 267
loading LOB data 124
ROWID column considerations 106
Index
813
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
CHANGE option 144, 535
changes to product 21
CHAR data type 239
character conversions (translation), supported 258
character data
CHAR data type 239
collating sequence 172
conversions 248, 252
MIXED 239
translation 257
TRIM option 239, 240
TRUNCATE option 239, 240
VARCHAR data type 239
check constraints
checking 194, 524
CHEKPEND installation option 519
compared to IBM DB2 LOAD 41
discards due to 167
ENFORCE option 194, 524
example 397
how LOADPLUS handles 114
long names 115
with DEFINE NO 115
with FORMAT BMCUNLOAD 108
with identity columns 98
with SQLAPPLY 113
CHECK CONSTRAINTS option 194
CHECK pending (CHKP) status
resetting 68
setting 195, 519
when LOADPLUS sets 114
with DEFINE NO data sets 63
with LPL or WEPR 64
CHECK PLUS, concurrency with 61
CHECK utility after load jobs 498
CHECKPEND command option 88
CHEKPEND installation option 519
Chicago-Soft MVS/QuickRef 563
CHKC option 167
CHKP (CHECK pending) status
resetting 68
setting 195, 519
when LOADPLUS sets 114
with DEFINE NO data sets 63
with LPL or WEPR 64
classes, SMS 283, 548
cleaning up unused data sets 184, 458
CLUSTER option 181
clustering indexes
duplicates in 180
ordering by 171
redefining 182
when built 479, 502
CLUSTERRATIO option 88, 202
CNTLCARDS option (in UNLOAD PLUS) 431
814
COBOL II
indicating on command 264
indicating on installation option 524
sample user exit 782
COBOL2 option 264, 524
codes, abend
3400 reason 566
3900 reason 567
codes, return
completion status 565
designating
on discards 169, 523
on reaching discard limit 169, 523
on zero rows loaded 170, 541
pause on discards 158, 531
determining final 120
from user exits 767
hierarchy 120
collection ID 147, 516
column default values 123
column definitions
identity columns 98
when using FORMAT BMCUNLOAD 106
columns, identity. See identity columns
COMBINED phase
invoking BMCSORT 508, 510
performance considerations 472
primary functions 46
processes 505, 508
recovery 323
resource allocation diagram 506, 509
restart considerations 313
specifying 157, 532
comma-delimited data. See CSV data
command constants 259
command options
compared to IBM DB2 LOAD 40
descriptions 137
diagrams 129
performance 459
command syntax
descriptions 137
diagrams 129
examples 326
rules 125
comma-separated-value data. See CSV data
common components 51, 291
common utility tables 60, 94, 553
comparison rules
examples 759
RULES option 227, 534, 759
TABLE=obid 222
WHEN testing 226
compression
BMCDICT table 111, 558
compared to IBM DB2 LOAD 39
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
compression (continued)
dictionaries
building or keeping 141, 221, 528
how LOADPLUS uses 110
performance 457
how LOADPLUS uses and performs compression 110
concatenating SYSREC data sets 485
concatenation rules, for DSN pattern 279
concurrency issues 60
concurrent operation with other products 61
concurrent sort processes
controlling 477
limiting 480
maximum, specifying 178, 536
constants in predicates 227
constraints, check
checking 194, 524
CHEKPEND installation option 519
compared to IBM DB2 LOAD 41
discards due to 167
ENFORCE option 194, 524
example 397
how LOADPLUS handles 114
long names 115
with DEFINE NO 115
with FORMAT BMCUNLOAD 108
with identity columns 98
with SQLAPPLY 113
CONTINUE option 157
CONTINUEIF option 101, 179
CONTROL authority 58
CONV option 167
conventions
documentation 18
rules for specifying command options 125
syntax diagrams 19
conversions
allowable 248
character data examples 252
compared to IBM DB2 LOAD 41
DASD capacity 732
data type, allowable 248
date/time data examples 253
decimal to character 256
discards due to errors 167
integer to character 255
numeric data examples 252
copies, image
command options 206
considerations for large number of partitions 497
created in COMBINED phase 506
created in LOAD phase 504
inline 208, 340, 527
large number of partitions 497
memory considerations 497
performance considerations 92, 457, 487
with SQLAPPLY 87
Index
815
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
CREATE privileges 57
creating additional data sets as needed 458
creator names
long 201
specifying 217
CSV data
considerations for loading 99
data types 236
example 425
field specifications for 102, 230
how to load 99
null field, specifying 103
required format for loading 99
specifying 151
syntax for loading 151
CSV option 151, 425
CURRENT DATE option 235
current date variable 277, 546
current Julian date variable 277, 546, 547
CURRENT TIME option 235
current time variable 277, 547
CURRENT TIMESTAMP option 235
customer support 3
CYCLE YES defined on identity column 199
D
D37 abends 59, 318, 566
DASD
availability 461
capacity conversion chart 732
dynamic allocation to 77
DASD MANAGER PLUS
concurrency with 61
deleting work files considerations 522
dynamic work file allocation considerations 73, 267
statistics, updating 201
data availability, maximizing 82, 143, 498
data classes, SMS 283, 548
DATA command option 137, 360
data conversions
allowable 248
character data examples 252
compared to IBM DB2 LOAD 41
date/time data examples 253
decimal to character 256
discards due to errors 167
integer to character 255
numeric data examples 252
data from UNLOAD PLUS
considerations 105
example 430
performance benefit from 485
specifying 105, 150
data integrity, checks for 81
816
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
data translation
processing 257
specifying options 153, 460
data types
compared to IBM DB2 LOAD 41
conversions 248, 252
description of each 239
rules for specifying 254
specifying 235
translation processing 260
Database Administration for DB2 solution 33, 42, 124
database name variable 277, 546
database status 63
database, LOADPLUS
BMCDICT table
considerations 111
contents 558
maintenance 561
with large number of partitions 94
BMCHIST table
contents 557
maintenance 560
when updated 46
BMCSYNC table 61
contents 555
maintenance 560
purpose 44, 61
serializing 529
when updated 46
with large number of partitions 94, 556
BMCUTIL table
contents 554
maintenance 560
purpose 60
serializing 60, 529
when updated 46
maintenance 559
DATACLAS option 283, 548
data-partitioned secondary indexes 123
date conversions 253
DATE data type 242
date exit routines 116, 477
date formats 247
&DATE variable 277, 546
date variable 277, 546
&DATEJ variable 277, 546
&DB variable 277, 546
DB2
authority needed to execute LOADPLUS 55, 56
catalog, updating 95, 204
check constraints 113, 194
compression dictionary 110
data sets
controlling buffer usage 468
dynamically allocated 51
preformatting unused portion 197
used by LOADPLUS 51
Index
817
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
DEFAULTIF option (continued)
how RULES option affects 760
performance considerations 474
DEFINE NO, objects created with
check constraints 115, 318
compared to IBM DB2 LOAD utility 39
in an ERP environment 486
object status 63, 65
partitioned table spaces 486
performance consideration 486
restart considerations 318
status when using SKIPIX 155
VALIDPROCs 318
DELETE option
with ORIGDISP option 531
with ORIGINALDISP option 187
with TAPEDISP option 539
DELETE, data set disposition 185, 522
DELETEFILES option
description 185
examples
with SYSDISC YES 409, 431, 445
without SYSDISC YES 425
with dynamic allocation 78
deleting discard file 185, 522
deleting original data sets after renaming staging data
sets 187, 531
deleting work files
CATALOG MANAGER considerations 522
CHANGE MANAGER considerations 522
command option 185
DASD MANAGER PLUS considerations 522
dynamically allocated files 78
in worklist environment 522
installation option 522
performance considerations 457
DELFILES option 457, 522
delimited data. See CSV data
delimited date/time formats 246
delimiting characters, for CSV format 99, 151
devices, specifying number of 272, 544
DFSPARM DD statement 310
dictionaries, compression
BMCDICT table 111, 558
building 141, 221, 528
how LOADPLUS uses 110
performance considerations 457
discard data sets (SYSDISC)
allocating 300
allocating dynamically 265, 542
calculating size 738
CATALOG MANAGER considerations 301
CHANGE MANAGER considerations 301
DASD MANAGER PLUS considerations 301
default ddname, overriding 164, 523
deleting 186, 522
818
description 50
estimating size 189
overriding default ddname 164, 523
SMS extended sequential data sets 301
specifying contents 165
worklist environment considerations 301
DISCARD option
with DDTYPE option 265, 543
with IDERROR option 200
discard violations, definition 166
DISCARDDN option 164, 347, 391
DISCARDLIMRC option 523
DISCARDRC option 523
discards
designating limit 165
designating return code
command option 158, 169
determining final 120
hierarchy 120
installation option 523, 531
types 166, 167, 300
DISCARDS option
description 165
examples 374, 397
performance considerations 468
with ENUMROWS 176
DISCDDN option 523
DISPLAY system privilege 57
DISPLAYDB authority 57
disposition of data sets (DISP parameter)
copy data set considerations 295
effect on DELETEFILES 185
effect on DELFILES 522
restart considerations 288, 316
temporary data sets 80
disposition of data sets (TAPEDISP installation option) 539
disposition of staging data sets 187, 531
documentation
conventions 18
online 563
related 17
DOPTs. See installation options
double-byte character set (DBCS) 218
DPSIs 123
DSECT, assembler parameter block, in user exit 768
DSN pattern
concatenation 279
description 276
examples 402, 410
specifying 276, 546
user-defined variables for 767
DSNHDECP, printing values 290
DSNPAT option
command 276
examples 402, 409, 410
installation 546
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
DSNUEXIT option
command 263
example user exits 766
installation 524
DSSIZE
calculating SORTOUT data sets 734
calculating SORTWK data sets 741
calculating SYSUT1 data sets 736, 737
statistics for 205
dummy data set 159, 209, 303
dump
snap 86, 302
system 524, 534
DUPKEY option 167
duplicates
in clustering indexes 181
deleting 180
with DISCARDS IGNORE 167, 468
with DISCARDS REPORT 168
in identity columns 199
with INDEX UPDATE 141
in nonclustering indexes 180
restart considerations 313, 317
SKIPIX SIX considerations 155
with SQLAPPLY 87
statistics not generated 202, 204
SYSIBM.SYSCOPY 209
with UNIQUECHECK 180
when checked and discarded 501, 504, 506
DYNALOC option of BMCSORT 177, 538
dynamic allocation of data sets
activating or deactivating
data sets other than SYSREC 76, 267, 543
SORTWK 177
SYSREC 159
ACTIVE option 267, 543
ANALYZE option 189, 311
benefits of 79
BMCSORT allocation 70
CATALOG MANAGER considerations 73, 267
CHANGE MANAGER considerations 73, 267
command options
ACTIVE 267
ANALYZE 189
DDTYPE 265
DSNPAT 276
DSNUEXIT 263
ENUMROWS 174
EXPDT 281
GDGLIMIT 282
IFALLOC 268
INDSN 159
MAXEXTSZ 270
MAXTAPE 263
RETPD 281
SIZEPCT 274
SMS 269
SMSUNIT 269
THRESHLD 274
UNIT 271
UNITCNT 272
VOLCNT 272
considerations 69
copy data sets
assigning partitions 210, 520
expiration date 281, 550
GDG names 73, 280, 547
how LOADPLUS determines size 71
installation options 520, 542
limiting GDG versions 282, 551
overriding default local ddnames 212, 520
overriding default remote ddnames 214, 533
retention period 281, 550
specifying in command option 265
COPYDDN option 212, 520
DASD device types 77
DASD MANAGER PLUS considerations 73, 267
DB2 51
DD types 265, 542
DDTYPE option 265, 542
deleting 78, 185, 522
description 69, 262
devices, specifying number of 272, 544
discard files (SYSDISC)
command 265
deleting 186, 522
installation option 542
DSNPAT option 276, 546
DSNUEXIT option 263
enabling
data sets other than SYSREC 76, 267, 543
SORTWK 177
SYSREC 159
ENUMROWS option 174
error files (SYSERR) 265, 542
examples 402, 409, 430
EXPDT option 281, 550
expiration date 281, 550
frequently asked questions 76
GDG names
copy data sets 73, 280, 547
SYSREC 159
GDGEMPTY option 551
GDGLIMIT option 282, 551
GDGSCRATCH option 551
IFALLOC option 268, 543
INDDN option 160, 527
index work files (SYSUT1)
command 265
considerations 72
installation option 542
overriding default ddnames 163, 540
INDSN option 159
input data sets (SYSREC) 159
Index
819
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
dynamic allocation of data sets (continued)
installation options 541
issues 69
limiting size 270
load data files (SORTOUT)
command 265
considerations 72
installation option 542
overriding default ddname 161, 529
LOADDN option 74, 162, 529
MAXEXTSZ option 270, 549
MAXTAPE option 75, 263
merging with DD statements 268, 543
naming data sets
DSNPAT option 276, 546
DSNUEXIT option 263
SYSREC 159
user exits 263, 767
overview 69
pattern for names 276, 546, 767
percentages of allocation size 274, 544
performance 78, 468
prefix (data set) considerations 74
RCVYDDN option 533
RECOVERYDDN option 214
restart considerations 76, 313
retention period 281, 550
RETPD option 281, 550
SIZEPCT option 274, 544
SMS classes 283, 548
SMS option 269, 548
SMS-managed 78, 269, 548
SMSUNIT option 269, 549
sort work files (SORTWK)
command 265
considerations 70
installation options 542
tape devices 77, 263
THRESHLD option 274, 545
threshold for secondary unit or class 274, 545
unit names 271, 544
UNIT option 271, 544
UNITCNT option 272, 544
units, specifying number of 272, 544
user exits 263, 524, 765
using 76
VOLCNT option 272, 545
volumes, specifying maximum number 272, 545
WORKDDN option 74, 163, 540
worklist environment 73, 267
dynamic allocation of tape units 75
820
E
EBCDIC
data, requirement for CSV input 100
date exit routine 116, 477
option 153, 257, 451
time exit routine 116, 477
EDITPROCs
calculating SORTWK data sets 741
how LOADPLUS invokes 116, 477
performance benefits 466
specifying state for 540
using 291
with ANALYZE ONLY 312
with FORMAT BMCUNLOAD 107
empty partition 111
empty table space 86, 111, 138
enabling dynamic allocation
data sets other than SYSREC 76, 267, 543
SORTWK data sets 177
SYSREC data sets 159
ENCLOSEDBY option 152
encrypted data 123
end, values for POSITION 232
ENFORCE keyword
with CHEKPEND installation option 520
with COPYPEND installation option 521
ENFORCE option
command 194
effect on status setting 68, 115
example 397
incompatibility with SQLAPPLY 88
installation 524
syntax, command 194
enforcing check constraints 194, 524
enqueues, specifying 529
ENUMROWS option
description 174
performance considerations 460, 468
with DISCARDS 176
ERP environments, recommendations 487
ERRDDN option
command 164
examples 347, 391
installation 524
with SQLAPPLY 86, 302
error byte 166, 259, 300
error data sets (SYSERR)
allocating 301
allocating dynamically 265, 543
calculating size 738
deleting 185, 522
description 50
estimating size 189, 738
inadequate space 318, 566
overriding default ddname 164, 524
specifying DD statements 301
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ERROR option
with DDTYPE option 265, 543
with DEFAULTIF option 238
with NULLIF option 237
error retry limit, with SQLAPPLY 146, 518
ERRORBYTE field 166, 259, 300
estimating data set sizes, with ANALYZE 189, 311, 463
estimating number of rows to load 460
eTrust CA-Top Secret 55, 516
example LOADPLUS jobs 325
example space calculations for data set allocation 744
example user exits 766
EXCLDUMP installation option 524
excluding input fields 102, 215, 231
EXEC statement 286
EXECUTE privileges 56
executing LOADPLUS jobs 312
execution phases of LOADPLUS
compared to IBM DB2 LOAD 38
diagrams 47
primary functions 45
tuning considerations 499
EXIT data type 245
exits
data type conversion 245
DB2 116
how LOADPLUS invokes 116
invoking MODESET for 477
user-written
data type 245
examples 765
program language for 264, 524
return codes 767
specifying 263, 524
variables for DSN patterns 276, 546, 767
with FORMAT BMCUNLOAD 107
expansion errors 258
EXPDT option 281, 550
expiration date 281, 550
extended data sets
SORTOUT data sets 297
SORTWK data sets 298
SYSDISC data sets 301
SYSERR data sets 302
SYSUT1 data sets 306
extents, secondary 81
EXTERNAL keyword
with DATE 242
with DECIMAL 241
with FLOAT 242
with GRAPHIC 240
with INTEGER 241
with TIME 244
with TIMESTAMP 243
F
FAIL keyword
with FILECHK option 525
with IDERROR option 200
FAROFFPOS value 202
features of LOADPLUS 31
field byte lengths 251
field name option 231
field specifications
discards due to errors 167
for CSV data 102
options 230
with identity columns 98
field types 251
FIELDPROCs
errors 166, 300
how LOADPLUS invokes 116, 477
statistics when using 202
using 291
when applied 236
with FORMAT BMCUNLOAD 107
FIELDSPEC option 167
FILECHK option 525
final return code 120
fixes applied, generating a report for 290
FLOAT data type 242
floating point formats 242
foreign key violation 167
FORMAT BMCLOAD option (in UNLOAD PLUS) 430
FORMAT option
BMC 149
BMCUNLOAD
considerations 105
example 430
identity column considerations 97
performance considerations 485
syntax 150
CSV 99, 151, 425
syntax 149
UNLOAD 151
format, SYSREC data sets 305
formats
CSV file 99
date 247
floating point 242
time 247
timestamp 247
formulas for calculating data set sizes 732
FREE option 268
free pages 86
free space 86, 188, 461
frequently asked questions for dynamic allocation 76
FRGNKEY option 167
FULL option 210, 520
Index
821
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
G
GDG (generation data group)
creating copy data set names 73, 280, 547
limiting number of versions 282, 551
removing from the VTOC 551
specifying for input data sets 159
uncataloging 551
with partitions 210
GDGEMPTY option 551
GDGLIMIT option
command 282
example 402
installation 551
GDGSCRATCH option 551
generating identity column values 95
generation data groups (GDG). See GDG
GRAPHIC data type 240
GRECP (group RECOVER pending) status 65
group attachment name 287
group name variable 277, 546
group RECOVER pending (GRECP) status 65
&GRPNM variable 277, 546
H
hardware compression
BMCDICT table 558
compared to IBM DB2 LOAD 39
dictionary, building or keeping
command options 141, 221
how LOADPLUS operates 110
installation option 528
how LOADPLUS uses and performs compression 110
keeping a dictionary options 221
keeping a dictionary, options 141, 528
hexadecimal constant, example 439
high CPU usage 460, 488
high-speed data migration
example 430
performance considerations 485
specifying 150
using 105
high-used RBA
determining size of dynamically allocated files 71
resetting 183, 533
I
I/O buffers 484, 519
I/O processing, maximizing 483
IBUFFS option 465, 525
ICOPY (informational COPY pending) status 64, 67
822
ID, subsystem
parameter of EXEC statement 287
variable 277, 547
ID, user
parameter of EXEC statement 290
variable 277, 547
ID, utility
parameter of EXEC statement 287
variable 277, 547
IDCACHE option 199, 525
IDCAMS input data sets (SYSIDCIN)
description 50
overriding default ddname 185, 526
specifying and using 308
IDCAMS, specifying commands for data set redefinition
308
IDCDDN option 185, 526
identity columns
authorization required 57
cache size for values 95, 199
check constraints 98
compared to IBM DB2 LOAD 40
defaults 98
error handling 96, 200
field specifications 98, 231
generating values 95
how LOADPLUS updates MAXASSIGNEDVAL 95
MAXASSIGNEDVAL, updating 95, 199, 539
operational considerations when using 95
order of input values 97, 303
performance considerations 95, 486
range errors 96, 167, 200
table check constraints 98
updating MAXASSIGNEDVAL 95, 199, 539
validation of values 96
with FORMAT BMCUNLOAD 97, 109
with SQLAPPLY 95, 96, 97
IDERROR option
command 200
installation 526
with DISCARDS 167
IEEE Binary Floating Point format (BFP) 242
IFALLOC option
command 268
example 402
installation 543
IFDISCARDLIMIT option 169
IFDISCARDS option 169, 375
IFZEROROWS option 170
IGNORE option 166, 374, 397
ignoring discards 166, 374, 397
ignoring indexes 155, 439
image copies
command options 206
considerations for large number of partitions 497
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
image copies (continued)
created in COMBINED phase 506
created in LOAD phase 504
inline 208, 340, 527
large number of partitions 497
memory considerations 497
performance considerations 92, 457, 487
with SQLAPPLY 87
image copy data sets. See copy data sets
IMAGECPY installation option 526
inadequate space errors 318, 566
incompatible command options for SQLAPPLY 88
INDDN option
command 160
examples 347, 391
installation 527
with INDSN 159
INDEX command option
example 391
performance considerations 461, 474
syntax description 139
with SQLAPPLY 88
index data sets (SYSUT1)
allocating 306, 735
allocating dynamically 72, 265, 542
allocation guide 740
calculating size 735
CATALOG MANAGER considerations 306
CHANGE MANAGER considerations 306
controlling buffer usage 466
DASD MANAGER PLUS considerations 306
default ddname, overriding 162, 540
deleting 185, 522
description 50
estimating size 189
multiple 307, 481
overriding default ddnames 162, 540
performance considerations 466, 481
single-phase load use 305, 735
SMS extended sequential data sets 306
specifying DD statements 305, 481
tuning considerations 466, 481
worklist environment considerations 306
index pages, controlling free space in nonleaf 188
index processing
compared to IBM DB2 LOAD 39
during LOAD 504
during PRELOAD 502, 507, 510
restart considerations 317
skipping 155
index space, status 63
index statistics 116
index versions 106, 140
indexes
altered 140
assigning to index data sets 307
building 139, 504
clustering
duplicates in 180
ordering by 171
when built 479, 502
free space 188
ignoring 155, 439
in LPL or WEPR status 64
long names 155, 201
multiple 481
nonclustering
duplicates in 180
ignoring 156, 439
nonpadded
in SORTOUT calculation 734
in SORTWK calculation 741
in SYSUT1 calculation 736
limitations 123
with INDEX UPDATE 140
nonparticipating 155
nonunique, ignoring 156, 439
redefining 182
reorganizing while loading 461
sampling 192
scanning 192
skipping 155, 439
statistics 116
status 67, 156
tuning 474
updating 140
versioned 106, 140
INDEXSPACESTATS real-time statistics table 118
INDSN command option
examples 340, 430
syntax 159
with INDDN 160
informational COPY pending (ICOPY) status 64, 67
inline image copies
created in COMBINED phase 506
created in LOAD phase 504
example 340
performance considerations 457
specifying 208, 527
INLINE option 208, 340
INLINECP option 457, 527
input data
batch pipe 109
CSV 99, 151, 425
DB2 REORG utility 151
default lengths of values 250
identity columns 95
ordering 171
pipe data 109
REORG PLUS archive data set 149
sorting 171
specifying format 149
UNLOAD PLUS 105, 150, 430
Index
823
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
input data sets (SYSREC)
allocating 303
allocating dynamically 159
batch pipe data 109
calculating number 304, 472
concatenating 485
considerations 303, 479
controlling buffer usage 465
default ddname, overriding 160, 527
description 50
INDSN option 159
multiple
enabling multitasking 479
performance considerations 485
specifying 304
specifying prefix 160
overriding default ddname 160, 527
performance considerations 485
pipe data 109
restrictions 303
specifying DD statements 303
specifying format 149
input files 485
INSERT privileges 57
installation options
$AMUDYNA macro 541
BMCSORT 512
definitions and default values 511
dynamic work file allocation 541
multiple modules 290, 512
setting for optimal performance 456
specifying a module 287
installing LOADPLUS 511
INTEGER data type 241
integrity checks 79
INTO TABLE options
description 215
multiple partitions 219
performance considerations 469
preformatting data sets 220
replacing tables 218
invoking LOADPLUS 312
J
JCL for LOADPLUS examples, where to find 326
&JDATE variable 277, 547
JOB name variable 277, 547
JOB statement 286
&JOBNAME variable 277, 547
jobs, LOADPLUS
building 285
canceling 320
examples 325
executing 312
824
restarting 313
terminating 320
Julian dates 277, 546, 547
K
KEEPDICTIONARY option
command 141, 221
installation 528
performance considerations 457
keywords
ACFORTSS 516
ACTIVE 267, 543
ALL (with DISCARDS) 167
ALL (with REGISTER) 209
ALLTYPES 215
ANALYZE 189
ANALYZE (with PRELOAD) 157
AND 152
ANYDISCARDS 158
APCOLLECTION 516
APCOLLECTION (with SQLAPPLY) 147
APCOMMIT 517
APCOMMIT (with SQLAPPLY) 146
APMAXAGENTS 145
APMXAGNT 517
APOWNER 517
APOWNER (with SQLAPPLY) 148
APRETLIM 518
APRETRYLIM 146
APRETRYVAL 147
APRETVAL 518
ASCII 153
ASM 264, 524
ASSOCIATE 172
BMC (with CLUSTERRATIO) 202
BMC (with FORMAT) 149
BMC (with NLPCTFREE) 188
BMC (with RULES) 534
BMCSTATS 201
BMCUNLOAD 150
BUILD 139
BYCLUSTERKEY 173
BYTABLE 173
C 264, 524
CBUFFS 519
CCSID 154
CENTURY 198, 519
CENTURY (with DATE) 243
CENTURY (with TIMESTAMP) 244
CHANGE 144, 535
CHAR 239
CHECK CONSTRAINTS 194
CHECKPEND 195
CHEKPEND 519
CHKC 167
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
keywords (continued)
CLUSTER 180, 181
CLUSTERRATIO 202
COBOL2 264, 524
CONTINUE 157
CONTINUEIF 179
CONV 167
COPY 206
COPYDDN 211, 520
COPYLVL 210, 520
COPYPEND 521
COPYPEND (with COPY NO) 206
COUNT 146
CSV 151
CURRENT DATE 235
CURRENT TIME 235
CURRENT TIMESTAMP 235
DATA 137
DATACLAS 283, 548
DATE 242
DDTYPE 265, 542
DECIMAL 241
DEFAULTIF 237
DELETE (with ORIGINALDISP) 187
DELETE (with TAPEDISP) 539
DELETEFILES 185
DELFILES 522
DISCARD (with DDTYPE) 265, 543
DISCARD (with IDERROR) 200
DISCARDDN 164
DISCARDLIMRC 523
DISCARDRC 523
DISCARDS 165
DISCDDN 523
DSNPAT 276, 546
DSNUEXIT 263, 524
DUPKEY 167
EBCDIC 153
ENCLOSEDBY 152
ENFORCE 194, 524
ENUMROWS 174
ERRDDN 164, 524
ERROR (with DDTYPE) 265, 543
ERROR (with DEFAULTIF) 238
ERROR (with NULLIF) 237
EXCLDUMP 524
EXIT 245
EXPDT 281, 550
EXTERNAL (with DATE) 242
EXTERNAL (with DECIMAL) 241
EXTERNAL (with FLOAT) 242
EXTERNAL (with GRAPHIC) 240
EXTERNAL (with INTEGER) 241
EXTERNAL (with TIME) 244
EXTERNAL (with TIMESTAMP) 243
FAIL (with FILECHK) 525
FAIL (with IDERROR) 200
FIELDSPEC 167
FILECHK 525
FLOAT 242
FORMAT 149
FREE 268, 543
FRGNKEY 167
FULL 210, 520
GDGEMPTY 551
GDGLIMIT 282, 551
GDGSCRATCH 551
GRAPHIC 240
IBUFFS 525
IDCACHE 199, 525
IDCDDN 185, 526
IDERROR 200, 526
IDERROR (with DISCARDS) 167
IFALLOC 268, 543
IFDISCARDLIMIT 169
IFDISCARDS 169
IFZEROROWS 170
IGNORE 166
IMAGECPY 526
INDDN 160, 527
INDEX 139
INDSN 159
INLINE 208
INLINECP 527
INTEGER 241
INTO TABLE 217
KEEPDICTIONARY 141, 528
KEEPDICTIONARY (with PART) 221
LBUFFS 528
LE_C 264, 524
LE_COBOL 264, 524
LOAD 137
LOAD (with DDTYPE) 265, 543
LOAD (with PRELOAD) 157
LOADCPY 528
LOADDN 161, 529
LOCBFCPY 266, 543
LOCKROW 529
LOCPFCPY 265, 543
LOG 196
MAXEXTSZ 270, 549
MAXP 530
MAXSORTS 178
MAXTAPE 263, 530
MGMTCLAS 283, 549
MIXED 239
MSGLEVEL 530
NLPCTFREE 188
NOCOPYPEND 196
NONE (with DSNPAT) 280
NONE (with DSNUEXIT) 264, 524
NONE (with REGISTER) 209
NONE (with SHRLEVEL) 143, 535
NOSUBS 154
Index
825
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
keywords (continued)
NULLIF 236
NUSIX 156
ONLY 192
OPNDB2ID 530
ORDER 171
ORIGDISP 531
ORIGINALDISP 187
PACKED 241
PARM 246
PART 219
PART (with COPYLVL) 210, 520
PART (with DISCARDS) 167
PAUSE (with ANALYZE) 191
PAUSE (with PRELOAD) 157
PAUSEDISCARDRC 531
PLAN 532
POSITION 232
PREFORMAT 197, 532
PREFORMAT (with PART) 220
PRELOAD 157, 532
PRESORTED 172
PROB 540
RCVYDDN 533
RECOVERYDDN 213
REDEFINE 182, 533
REFERENCE 144, 535
REGISTER 209
REMBFCPY 266, 543
REMPFCPY 266, 543
RENAME 187
RENMMAX 534
REPLACE 141
REPLACE (with PART) 220
REPLACE (with TABLE) 218
REPORT 167
RESUME 138
RETCODE 158
RETPD 281, 550
REUSE 184
ROUND (with DECIMAL) 241
ROUND (with FLOAT) 242
ROUND (with INTEGER) 241
ROUND (with SMALLINT) 240
ROWID 245
RULES 534
SAMPLE 192
SCAN 192
SDUMP 534
SHRLEVEL 143, 535
SIX 156
SIZEPCT 274, 544
SKIPFIELDS 215
SKIPIX 155
SMALLINT 240
SMAX 536
SMCORE 536
826
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
L
language, for user exits 264, 524
large number of partitions 92, 111, 487
LARGE table spaces
calculating SORTOUT data sets 734
calculating SORTWK data sets 741
calculating SYSUT1 data sets 736, 737
statistics for 205
LBUFFS option 528
LE C sample user exit 800
LE COBOL sample user exit 782
LE_C option 264, 524
LE_COBOL option 264, 524
lengths of fields 251
lengths of input values, default 250
limiting retry attempts
Apply Plus requests 146, 518
determining stopped status 539
drain 538
SQL 538
limiting size of dynamically allocated data sets 270
LOAD command 137
load data sets (SORTOUT)
allocating 297, 733
allocating dynamically 72, 265, 542
calculating number 157, 298, 472
calculating size 733
controlling buffer usage 465
default ddname, overriding 161, 529
deleting 185, 522
description 50
estimating size 189
multiple 161, 297
optimal number of 480
overriding default ddname 161, 529
performance considerations 465
single-phase load use 296, 733
specifying DD statements 296
tuning considerations 480
LOAD option
primary command 137
with DDTYPE option 265, 543
with PRELOAD option 157
LOAD phase
index building process 504
invoking BMCSORT 505
load process 504
primary functions 45
recovery 322
resource allocation diagram 504
tuning considerations 503
load process in LOAD phase 504
load processing options 137
LOAD RESUME YES
ENUMROWS specification 460
examples 444
Index
827
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
LOCKROW option 529
LOCPFCPY option 265, 542
LOG command option 88, 196
Log Master, Apply Plus component of. See Apply Plus
log, DB2 43
logical page list (LPL) status 64, 65
logical part REBUILD pending (RBDP*) status 65
long object names 122, 568
low cardinality keys 460, 488
LPL (logical page list) status 64, 65
M
MAINT parameter of EXEC statement 290
maintenance of common utility tables 559
MAINVIEW Batch Optimizer 109
MAINVIEW SRM StopX37 product 59
managed extents 81
management classes, SMS 283, 549
materializing DEFINE NO data sets
check constraints 115
how LOADPLUS materializes 39
performance considerations 486
restart considerations 318
MAXASSIGNEDVAL field
generated identity columns based on 95
updating value 95, 199, 539
MAXEXTSZ option 270, 549
maximizing data availability 82
maximizing I/O processing 483
MAXP installation option 470, 530
MAXSORTS option
interaction with LOADDN option 161
performance considerations 496
syntax 178
with SQLAPPLY 88
MAXTAPE option
command 263
installation 530
reaching the limit 75
MEMLIMIT system parameter 59, 286
message level (MSGLEVEL)
EXEC statement parameter 290
installation option 530
messages
allocation-related from ANALYZE phase 464
BMCMSG 564
changing output displayed 290, 530
common utility 569
LOADPLUS, specific to 691
MSGLEVEL 290, 530
MVS/QuickRef 563
online 563
performance-related 490
severity codes 568
MGMTCLAS option 283, 549
828
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
multitasking (continued)
multiple input data sets 304, 479
multiple load data sets 161, 297, 480
sort processes 178, 477, 496
using 479
multi-volume data sets 298
MVS enqueues, specifying 529
MVS/QuickRef, Chicago-Soft 563
N
names of common utility tables, determining 559
names of objects, long 122, 568
naming data sets
GDG names 73
user exits 767
using a pattern 276, 546
NEAROFFPOS value 202
NEW parameter of EXEC statement 288
NEW, data set disposition 288
NEW/RESTART parameter of EXEC statement 289
NEW/RESTART(PHASE) parameter of EXEC
statement 289
NLPCTFREE command option 88, 188
NOCOPYPEND command option 196
nonclustering indexes
duplicates in 180
ignoring 156
nonparticipating 155
redefining 182
NONE option
with DSNPAT 280
with DSNUEXIT 264, 524
with REGISTER 209
with SHRLEVEL 143, 535
nonleaf index pages, controlling the amount of free
space 188
nonpadded indexes
in SORTOUT calculation 734
in SORTWK calculation 741
in SYSUT1 calculation 736
limitations 123
with INDEX UDPATE 140
nonparticipating indexes 155, 439
nonpartitioned table spaces
with copy DD statements 294
with SKIPIX 155
nonunique indexes, ignoring 156, 439
NOSUBS option 154
null value
for constants in VALUE 234
in APCOLLECTION 147, 516
in APOWNER 148, 518
in CSV data 103, 230, 425
in FORMAT CSV 152
in predicates 228
loading 236
LOB indicators 42
NULLIF option 236
translating data to 361
with DEFAULTIF 238
NULLFILE data set name 209
NULLIF option
description 236
how RULES option affects 760
performance considerations 474
with FORMAT CSV 230
number of CPUs 458, 496
number of devices, specifying 272, 544
number of units, specifying 272, 544
number of volumes, specifying maximum 272, 545
numeric data conversions 252, 254, 256
numeric variables 277
NUSIX option 156
O
OBID (object identifier) 150, 222, 431
object availability, SHRLEVEL option 143, 497, 535
object identifier (OBID) 150, 222, 431
object status 39, 63
online documentation 563
online load. See SHRLEVEL CHANGE
online message processor, BMC Software 564
ONLY option 192
operators
comparison for predicates 226
conditional 223
how RULES option affects 226, 760
OPNDB2ID option 58, 530
options modules, specifying 290
options, command
copy 206
dynamic allocation
ANALYZE 189
ENUMROWS 174
for SYSREC data sets 159
main options 262
field specification 230
INTO TABLE 215
load processing 137
statistics 201
options, installation 511
order of input values 87
ORDER option
collating sequence for character data 172
description 171
memory usage 496
performance considerations 470, 485
restart considerations 317
with SQLAPPLY 86, 88
ORIGDISP option 531
Index
829
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ORIGINALDISP option 187
$ORTPARM DD statement 310
OS/390 and z/OS Installation System 511
out-of-space errors
inline copy data sets 566
restart considerations 318
SQLAPPLY 566
with 3400 user abend 566
with 3900 user abend 567
output data set from PRELOAD phase. See SORTOUT data
sets
overriding default ddnames
BMCCPY 211, 520
BMCCPZ 211, 520
BMCRCY 213, 533
BMCRCZ 213, 533
copy data sets, local 211, 520
copy data sets, remote 213, 533
SORTOUT 161, 529
SYSDISC 164, 523
SYSERR 164, 524
SYSIDCIN 185, 526
SYSREC 160, 527
SYSUT1 162, 540
owner ID, Apply Plus 148, 517
owner names, long 201
P
packages
authorization 56
binding for Apply Plus request 147, 516
LOADPLUS 532
PACKED option 241
page set REBUILD pending (PSRBD) status 65
parallel sort processes
controlling 477
optimal number 480
specifying maximum number 178, 536
parameter block in user exit 768
parameter record in user exit 782
parameter structure in user exit 791, 800
parameters, EXEC statement 287
PARM keyword 245
PART option
command 88, 219
with COPYLVL option 210, 520
with DISCARDS option 167
&PART variable 277, 547
partial load
assigning copy data sets 210, 520
examples 347, 391
specifying copy data sets 294
specifying partitions 219
partition number variable 277, 547
830
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
performance (continued)
REPLACE 473
RESUME 473
single-phase load 472
sort processing 475
SORTOUT data sets 465, 480
SQLAPPLY 486
staging data sets 458
SYSREC data sets 465, 479
SYSUT1 data sets 466, 481
UNIQUEINTO 469
user exits 478
virtual storage 484
WHEN 474
XBLKS 478
phases of LOADPLUS
compared to IBM DB2 LOAD 38
diagrams 47
primary functions of each 45
tuning considerations 499
pipe input 109
placeholder fields
specifying 231
specifying skipped fields 215
with CSV 102, 230, 231
PLAN option 532
plans
authorization 56
binding for Apply Plus requests 147, 516
specifying 532
POSITION option 232
preallocating staging data sets 89, 184
predicate option 224
prefixes, data set 74
PREFORMAT option
command 197
installation 532
with PART option 220
with SQLAPPLY 88
PRELOAD option
command 157
examples 329, 347, 431
installation 532
PRELOAD phase
data process 502, 507, 510
index process 502, 507, 510
invoking BMCSORT 503
primary functions 45
recovery 321
resource allocation diagram 501
tuning considerations 500
PRESORTED option 172
preventing x37 abends 59
privileges. See authorizations
PROB keyword 540
processing options 137
processing phases
compared to IBM DB2 LOAD 38
diagrams 47
primary functions of each 45
tuning considerations 499
Product Authorization utility 569
product changes 21
product support 3
program language, for user exits 264, 524
PSRBD (page set REBUILD pending) status 65
Q
QuickRef, Chicago-Soft 563
R
RACF
authority needed to execute LOADPLUS 58
OPNDB2ID option 530
security exit 55
range errors on identity columns 200
RBA, high-used
determining size of dynamically allocated files 71
resetting 184, 533
RBDP (REBUILD pending) status 65, 439
RBDP* (logical part REBUILD pending) status 65
RCVYDDN installation option 457, 533
read/write (RW) status
initial object status 63, 65
SHRLEVEL CHANGE 82, 144, 535
read-only (RO) status
initial object status 63, 65
SHRLEVEL REFERENCE 82, 144, 535
reallocating data sets during a job 191
real-time statistics 116, 318
reason codes
3400 abend 566
3900 abend 567
REBUILD pending (RBDP) status 65, 439
record format
CSV input file 100
SYSREC data sets 305
RECOVER pending (RECP) status 65, 67
RECOVER PLUS, concurrency with 62
recoverability of loaded table space 43, 112
recovering a DB2 object after terminating 320
RECOVERY MANAGER, concurrency with 62
RECOVERYDDN command option 213, 347, 391
RECP (RECOVER pending) status 65
REDEFINE option
command 182
installation 533
performance considerations 458
with SQLAPPLY 89
Index
831
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
redefining data sets
pausing a job after analysis 191
REDEFINE option 182, 533
VCAT-defined 90, 308
REFERENCE option
example 330
how to run SHRLEVEL REFERENCE load 83
with SHRLEVEL 144, 535
referential integrity
compared to IBM DB2 LOAD 41
considerations 113
with SQLAPPLY 86
REFP (refresh pending) status 65
refresh pending (REFP) status 65
REGION, recommendations for using 286, 490
REGISTER option 209, 444
related publications 17
REMBFCPY option 266, 542
REMPFCPY option 266, 542
RENAME option
with ORIGDISP option 531
with ORIGINALDISP option 187
renaming staging data sets 90, 187, 534
RENMMAX installation option 534
REORG pending (REORP) status 65
REORG PLUS
concurrency with 62
loading data from archive data set of 149
reorganizing index while loading 461
REORP (REORG pending) status 65
REPLACE option
description 141
object status 63
performance considerations 473
with PART option 220, 391
with TABLE 64, 218, 322
&REPLACE variable 277, 547
replacing tables 444
report of applied fixes 290
REPORT option 167, 374, 397
resource allocation
LOAD phase 504
PRELOAD phase 501
single-phase load 506
SQLAPPLY load 509
RESTART parameter of EXEC statement 288, 313
restart pending (RESTP) status 65
RESTART(PHASE) parameter of EXEC statement 288, 313
restarting
after failure 313
DEFINE NO objects 318
duplicate unique keys 317
during DELETEFILES processing 317
during IDCAMS DEFINE processing 317
dynamic allocation considerations 76, 314
inadequate space on DB2 object 319
inadequate space on SYSERR 318
832
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
routines, user exit (continued)
examples 766
how LOADPLUS invokes 116
invoking MODESET for 116, 477
LE C 800
LE COBOL 782
program language 264, 524
return codes 767
specifying 263, 524
variables for DSN patterns 276
with FORMAT BMCUNLOAD 107
ROWID data type
description 245
loading in a worklist environment 106
with FORMAT BMCUNLOAD 106
with VALUE 233
row-level security 123
rules for command syntax 125
rules for concatenation in DSN pattern 279
rules for input data types 254
RULES installation option
column name restrictions 228
comparison operators 760
constants 227
description 534
differences 759
error conditions with RULES=BMC 763
error conditions with RULES=STANDARD 761
processing order, WHEN, NULLIF, DEFAULTIF 760
WHEN, NULLIF, DEFAULTIF predicates 761
with CSV 101
with FORMAT BMCUNLOAD 108
with FORMAT CSV 101
running LOADPLUS 312
RW (read/write) status
initial object status 63, 65
SHRLEVEL CHANGE 82, 144, 535
S
sample LOADPLUS jobs 326
SAMPLE option 192
sample user exits 766
sampling, controlling 192, 463
SAP environments, recommendations 487
SCAN option 192
scanning, controlling 192, 463
SCC (DB2 Solution Common Code) 51, 291
SDATA parameter on IBM SDUMPX macro 534
SDUMP option 534
SDUMPX macro, IBM 534
secondary authorization IDs 56
secondary extents 81
security
exit 55
overview 55
specifying CA-ACF2 or eTrust CA-Top Secret 516
segmented table spaces, using TABLE REPLACE
option 218
SELECT privileges 57
serialization issues 60
serializing 61
shadow data sets. See staging data sets
shared access 556
SHRLEVEL CHANGE
See also LOAD RESUME YES SHRLEVEL CHANGE
SQLAPPLY
command option 144
considerations for use 84
example 409
how to run with LOAD REPLACE 84
how to run with LOAD RESUME YES 85
installation option 535
SHRLEVEL option
availability considerations 82
command 143
considerations for use 82, 497
examples 329, 330, 409
installation 535
object status change 66
recovery 321, 324
renaming process 90
staging data sets 89
SYSIDCIN data set 310
SHRLEVEL REFERENCE
command option 144
considerations for use 83
example 329
how to run 83
installation option 535
single input file (SYSREC) 485
single-phase load
diagram of phases 48
DISCARDS limitation 165
dynamic allocation 69
examples 329, 347, 425
performance considerations 472
process 505
recovery 323
resource allocation diagram 506
restart considerations 315
SORTOUT data set use 296, 733
specifying 157, 532
SYSUT1 data set use 305, 735
SIX option 156
SIZEPCT option
command 274
example 402
installation 544
Index
833
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
SKIPFIELDS option 215, 374, 397
SKIPIX option
description 155
example 439
setting statuses after load 67
with SQLAPPLY 89
skipping index build process 155, 439
sliding-scale calculation for secondary extents 81
small incremental load jobs 498
SMALLINT data type 240
SMAX option
controlling BMCSORT 477
description 536
interaction with LOADDN option 161
performance considerations 496
SMCORE installation option
controlling BMCSORT 475
description 536
recommendation with large SORTNUM
value 177, 538
SMS (Storage Management Subsystem)
classes 283, 548
dynamic work file allocation 78, 269, 548
volumes, specifying maximum number 273, 545
SMS option 269, 548
SMSUNIT option 269, 549
snap dump, with SQLAPPLY 86, 302
sort processing
BMCSORT 475
concurrent processes 178, 477, 480
installation options 536
multitasking 496
sort routine. See BMCSORT
sort work data sets (SORTWK)
allocating 298
allocating dynamically
by BMCSORT or LOADPLUS 70
DDTYPE option 265, 542
SORTDEVT option 177
SORTNUM option 177, 537
allocation guide 740
calculating size 739
deleting 185, 522
description 50
estimating size 189
multiple 299
specifying DD statements 298
SORTDEVT option 177, 374, 397
sorting data
memory usage 496
performance considerations 489
specifying 171
SORTKEYS option 156
SORTNUM option
description 177
examples 374, 397
834
installation 537
performance considerations 458, 496
SORTOUT data sets
allocating 297, 733
allocating dynamically 72, 265, 542
calculating number 157, 298, 472
calculating sizes 733
CATALOG MANAGER considerations 297
CHANGE MANAGER considerations 297
controlling buffer usage 465
DASD MANAGER PLUS considerations 297
default ddname, overriding 161, 529
deleting 185, 522
description 50
estimating size 189
multiple 161, 297, 480
optimal number of 480
overriding default ddname 161, 529
performance considerations 465
single-phase load use 296, 733
SMS extended sequential data sets 297
specifying DD statements 296
tuning considerations 480
worklist environment considerations 297
SORTWK data sets
allocating 298
allocating dynamically
by BMCSORT or LOADPLUS 70
DDTYPE option 265, 542
performance considerations 457
SORTDEVT option 177
SORTNUM option 177, 537
allocation guide 740
calculating size 739
deleting 185, 522
description 50
estimating size 189
multiple 299
specifying DD statements 298
SORTWORK option 265
space allocations 295
specifying DD statements 291
specifying options module 290
SQLAPPLY option
recommendations 488
with SHRLEVEL CHANGE command option 145
See also LOAD RESUME YES SHRLEVEL
CHANGE SQLAPPLY
with SHRLEVEL installation option 535
SQLCODE errors, discarding records for 166
SQLDELAY option 538
SQLRETRY option 538
SSID (DB2 subsystem identifier) parameter of EXEC
statement 287
&SSID variable 277, 547
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
stacked tape
with copy data sets 208
with INDSN 159
staging data sets
authorization 498
deleting 187, 531
description and use 89
disposition 531
maximum tasks to start during renaming process 534
performance considerations 458
preallocating 184
REDEFINE option 89, 184
rename and delete process 90, 187, 531
renaming 187, 531
STANDARD option
with CLUSTERRATIO option 202
with NLPCTFREE option 188
with RULES option 534
start, values for POSITION 232
(start:end)
used in predicate 225
used with CONTINUEIF 179
used with POSITION for field specification 232
statistics
command options 201
DASD MANAGER PLUS tables 201
DB2 catalog 203
DB2 real-time 116
SQLAPPLY restriction 87
what UPDATEDB2STATS updates 204
status of objects 39, 63, 113
STEP name variable 277, 547
STEPLIB DD statement 291
&STEPNAME variable 277, 547
STOGROUP-defined data sets, redefining 182
stop pending (STOPP) status 539
STOP@CMT option 538
STOPDELAY option 539
STOPP (stop pending) status 539
STOPRETRY option 458, 539
StopX37 product 59
storage above the bar 59
storage classes, SMS 283, 549
storage, virtual 59, 484
STORCLAS option 283, 549
striped data sets 123
structure, table, when using FORMAT BMCUNLOAD 106
SUBBYTE field 259
substitution characters 154, 166, 300
subsystem ID
parameter of EXEC statement 287
variable 277, 547
summary of changes 21
SUP option 540
support, customer 3
Index
835
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
SYSIBM.SYSSEQUENCESDEP, SELECT authority on 57
SYSIBM.SYSTABLES table 204
SYSIBM.SYSTABLESPACE table 204
SYSIBM.SYSTABSTATS table 204
SYSIBM.TABLESPACESTATS real-time statistics table 118
SYSIDCIN data sets
default ddname, overriding 185, 526
description 50
specifying and using 308
SYSIN data sets
description 50
specifying DD statements 302
SYSMAP data set 44
SYSPRINT data sets
changing message levels 290
description 51
specifying DD statements 303
SYSREC data sets
allocating 303
allocating dynamically 159
batch pipe data 109
calculating number 304, 472
concatenating 485
considerations 303, 479
controlling buffer usage 465
default ddname, overriding 160, 527
description 50
INDSN option 159
multiple
enabling multitasking 479
performance considerations 485
specifying 304
specifying prefix 160
overriding default ddname 160, 527
pipe data 109
restrictions 303
specifying DD statements 303
specifying format 149
system dump
excluding abend codes 524
generating 534
system setup 54
system sort routine DD statements 310
SYSUT1 data sets
allocating 305, 735
allocating dynamically 72, 265, 542
allocation guide 740
calculating size 735
controlling buffer usage 466
default ddname, overriding 162, 540
deleting 185, 522
description 50
estimating size 189
multiple 307, 481
overriding default ddname 162, 540
performance considerations 466, 481
single-phase load use 305, 735
836
T
table check constraints
CHECK pending status 519
checking 194
compared to IBM DB2 LOAD 41
discards due to 166, 167, 300
ENFORCE option 194, 524
enforcing 194, 524
example 397
how LOADPLUS handles 114
long names 115
with DEFINE NO 115
with FORMAT BMCUNLOAD 108
with identity columns 98
with SQLAPPLY 113, 194
table names
long 201
specifying 217
TABLE REPLACE option
description 218
example 444
object status 64
recovery 322
with SQLAPPLY 89
table space name variable 277, 547
table space organization, how SQLAPPLY affects 86
table space statistics 116
table space status 63
table space variable for DSN pattern 277, 547
table space versioning 106
table spaces
cardinality 189
compressed 380, 391
DEFINE NO 486
empty 86, 111, 138
LARGE
calculating SORTOUT data sets 734
calculating SORTWK data sets 741
calculating SYSUT1 data sets 736, 737
statistics for 205
multiple table 145, 517
nonpartitioned 155, 294
partitioned
Apply Plus agents 145, 517
assigning image copy data sets 210, 520
copy DD statements 294
DEFINE NO objects 486
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
table spaces, partitioned (continued)
large number of partitions 92, 110, 487, 497
loading 479
performance 479
prefix for copy data set ddnames 211
recoverability 43, 112, 320
redefining 182
segmented, using TABLE REPLACE option 218
versioned 106
table structure for FORMAT BMCUNLOAD 106
TABLE=obid option 222
table-controlled partitioning 123
tables, LOADPLUS
BMCDICT 558
BMCHIST 46, 557
BMCSYNC 46, 529, 555
BMCUTIL 46, 529, 554
determining names 559
maintenance 559
TABLESPACESTATS real-time statistics table 118
tape data sets 298
TAPEDISP installation option 539
tapes
changing work file disposition 539
dynamic allocation to 77
for copies 456
number of devices 75, 263
tasks performed by LOADPLUS 35
technical support 3
TEMPLATE control statements 123
temporary data sets
definition 80
how LOADPLUS handles 80
specifying how to handle 525
TERM parameter of EXEC statement 289
TERMINATEDBY option 152
terminating a job 320
THRESHLD option
command 274
example 402
installation 545
threshold for secondary unit or class 274, 545
time
data conversions 253
data type 244
exit routines 116, 477
formats 247
variable 277, 547
TIME data type 244
TIME option 146
&TIME variable 277, 547
&TIME4 variable 277, 547
timestamp
data conversions 253
data type 243
formats 247
U
&UID variable 277, 547
UNCATLG (with TAPEDISP) 539
Unicode
date exit routine 116, 477
example 451
option to support 153
restrictions
CONTINUEIF 179
DB2 version 123
DEFAULTIF 237, 259
FORMAT CSV 101
NULLIF predicate 237
object names 123
SQLAPPLY 85, 259
VALUE 259
WHEN predicate 223
supported translations 257
time exit routine 116, 477
Index
837
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
UNICODE option
description 153
restrictions 258
UNIQUECHECK option
description 180
examples 391
with DISCARDS 165
with ORDER 181
with SQLAPPLY 89
UNIQUEINTO option
description 216
example 354
performance considerations 469
unit names, for dynamic allocation 271, 544
UNIT option
command 271
example 402
installation 544
with SMSUNIT option 78, 269
UNITCNT option
command 272
example 402
installation 544
units, specifying number of 272, 544
UNLOAD option 151
UNLOAD PLUS
concurrency with 62
loading data from
considerations 105
CSV data 100
example 430
FORMAT BMCUNLOAD syntax 150
performance 485
UPDATE authority 58
UPDATE option 139, 391
UPDATEDB2STATS option
catalog statistics updated 204
description 203
examples 340, 380, 402
with SQLAPPLY 89
UPDATEMAXA option 199
updating statistics
DASD MANAGER PLUS tables 201
DB2 catalog 203
DB2 real-time 116
UPDMAXA option 539
USE option 268
user exits
assembler 768
C 791
COBOL II 782
data type conversion 245
DB2 116
examples 766
how LOADPLUS invokes 116
invoking MODESET for 477
838
LE C 800
LE COBOL 782
program language 264, 524
return codes 767
specifying 263, 524
variables for DSN patterns 276
with FORMAT BMCUNLOAD 107
user ID variable 277, 547
user-defined return codes
determining final 120
hierarchy 120
on discards 169, 523
on reaching discard limit 169, 523
pause on discards 158, 531
zero rows loaded 170, 541
user-defined variables 767
USERID (user identifier) parameter of EXEC statement 290
&USERID variable 277, 547
UT status 63, 65
&UTIL variable 277, 547
UTILID (utility identifier) parameter of EXEC
statement 287
UTILINIT phase, primary functions 45
utility ID variable 277, 547
utility identifier (UTILID) parameter of EXEC
statement 287
utility parameters on the EXEC statement 287
utility tables, common 553
&UTILPFX variable 277, 547
&UTILSFX variable 278, 547
UTILTERM phase 46, 324
UTPRINT data sets
description 51
specifying DD statements 310
UXSTATE option 540
V
VALIDPROCs
discards due to violations 166, 167, 300
how LOADPLUS invokes 116, 477
using 291
violations 166, 300
with DEFINE NO objects 318
with FORMAT BMCUNLOAD 107
VALPROC option 167
VALUE option 233, 238
VARCHAR
column comparisons 228
column of index, altered 140
data type 239
VARGRAPHIC data type 240
variables for DSN pattern
concatenation 279
description 276
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
variables for DSN pattern (continued)
numeric 277
setting at installation 546
user-defined 767
&VCAT variable 278, 547
VCAT-defined data sets, redefining during load
process 90, 308
VCATNAME variable 278, 547
verification during FORMAT BMCUNLOAD 107
verification records 107, 166, 300
versioning
index 106
table space 106
versioning, index 140
VIO data sets 298
virtual storage 59
virtual storage, providing the maximum 484
VOLCNT
command 272
example 402
installation 545
volumes, specifying maximum number 272, 545
VSAM data sets, redefining during the load 182
W
WARN option 525
WBUFFS option 540
WEPR (write error page range) status 65
WHEN option
description 222
example 439
how RULES option affects 760
performance considerations 474
restriction with FORMAT option 225, 226
with DISCARDS option 167
with hexadecimal constant 224, 439
work files
See also individual work file types (for example,
SORTOUT data sets)
allocating 291
allocating dynamically 69, 262
See also dynamic allocation of data sets
calculating sizes 731
checks for validity 79
deleting 78, 185, 522
description of 50
discard (SYSDISC) 300
disposition (DISP parameter)
restart considerations 288, 316
temporary data sets 80
with DELETEFILES 185
with DELFILES 522
dynamic allocation 69, 262
See also dynamic allocation of data sets
error (SYSERR) 301
X
XBLKS installation option 478, 541
Z
z/OS Unicode Conversion Services 257
zero rows loaded, designating return code 170, 541
ZEROROWRC option 541
ZONED option 241
Index
839
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
840
Notes
*60269*
*96206*
*96206*
*96206*
*96206*