DSNTEJ1
THIS JCL PERFORMS THE PHASE 1 SETUP FOR THE SAMPLE APPLICATIONS ON A LOCAL Db2 SYSTEM (A SYSTEM WHICH WILL CONTAIN THE ACTUAL SAMPLE TABLES).
//********************************************************************* 00010000
//* NAME = DSNTEJ1 00011000
//* 00012000
//* DESCRIPTIVE NAME = DB2 SAMPLE APPLICATION 00013000
//* PHASE 1 (LOCAL SITE ONLY) 00014000
//* 00015000
//* Licensed Materials - Property of IBM 00016000
//* 5650-DB2 00017000
//* (C) COPYRIGHT 1982, 2016 IBM Corp. All Rights Reserved. 00018000
//* 00019000
//* STATUS = Version 12 00020000
//* 00021000
//* FUNCTION = THIS JCL PERFORMS THE PHASE 1 SETUP FOR THE SAMPLE 00022000
//* APPLICATIONS ON A LOCAL DB2 SYSTEM (A SYSTEM WHICH 00023000
//* WILL CONTAIN THE ACTUAL SAMPLE TABLES). 00024000
//* 00025000
//* NOTICE = 00026000
//* THIS SAMPLE JOB USES DB2 UTILITIES. SOME UTILITY FUNCTIONS ARE 00027000
//* ELEMENTS OF SEPARATELY ORDERABLE PRODUCTS. SUCCESSFUL USE OF 00028000
//* A PARTICULAR SAMPLE JOB MAY BE DEPENDENT UPON THE OPTIONAL 00029000
//* PRODUCT BEING LICENSED AND INSTALLED IN YOUR ENVIRONMENT. 00030000
//* 00031000
//* CHANGE ACTIVITY = 00032000
//* 10/20/2012 Create ALIASes instead of SYNONYMs N0102 / 163503 00033000
//* 11/07/2012 ADD SET CURRENT SQLID DN1651_INST1 / DN1651 00034000
//* 05/17/2013 FIX COPYRIGHT STATEMENT. 49779_077_724 00035000
//* 10/29/2013 Create EMP as PBR not index partitioned PM98424 00036000
//* 02/24/2014 Increase length of the LRSN column in PI10794 00037000
//* MAP_TBL from CHAR(06) to CHAR(10) 00038000
//* 02/15/2016 Long data set names PI42601 00039000
//* 10/27/2016 Update MAP_TBL definition for DB2 12 PI66261 00039100
//* 08/21/2018 Tolerate creation of deprecated TSs s81673 / t81374 00039200
//* 00040000
//********************************************************************* 00041000
//* 00042000
//JOBLIB DD DSN=DSN!!0.SDSNLOAD,DISP=SHR 00043000
//* 00044000
//********************************************************************* 00045000
//* ASMCL PROC - ASSEMBLE AND LINKEDIT AN ASM PROGRAM 00046000
//* 00047000
//ASMCL PROC WSPC=500,MEM=TEMPNAME 00048000
//* 00049000
//* ASSEMBLE 00050000
//* 00051000
//ASM EXEC PGM=ASMA90,PARM='OBJECT,NODECK' 00052000
//SYSIN DD DISP=SHR, 00053000
// DSN=DSN!!0.SDSNSAMP(&MEM) 00054000
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR 00055000
// DD DSN=DSN!!0.SDSNMACS,DISP=SHR 00056000
// DD DSN=DSN!!0.SDSNSAMP,DISP=SHR 00057000
//SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS), 00058000
// UNIT=SYSDA,SPACE=(800,(&WSPC,&WSPC)), 00059000
// DCB=(BLKSIZE=800) 00060000
//SYSPRINT DD SYSOUT=* 00061000
//SYSUDUMP DD SYSOUT=* 00062000
//SYSUT1 DD UNIT=SYSDA,SPACE=(800,(&WSPC,&WSPC),,,ROUND) 00063000
//SYSUT2 DD UNIT=SYSDA,SPACE=(800,(&WSPC,&WSPC),,,ROUND) 00064000
//SYSUT3 DD UNIT=SYSDA,SPACE=(800,(&WSPC,&WSPC),,,ROUND) 00065000
//* 00066000
//* LINKEDIT IF THE ASSEMBLER 00067000
//* RETURN CODE IS 4 OR LESS 00068000
//* 00069000
//LKED EXEC PGM=IEWL,PARM='LIST,XREF,NCAL,RENT,AMODE=31,RMODE=ANY', 00070000
// COND=(4,LT,ASM) 00071000
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) 00072000
//SYSLMOD DD DISP=SHR, 00073000
// DSN=DSN!!0.SDSNEXIT(&MEM) 00074000
//SYSPRINT DD SYSOUT=* 00075000
//SYSUDUMP DD SYSOUT=* 00076000
//SYSUT1 DD UNIT=SYSDA,SPACE=(1024,(50,50)) 00077000
//* 00078000
//ASMCL PEND 00079000
//********************************************************************* 00080000
//* 00081000
//* STEP 1: CREATE SAMPLE STORAGE GROUPS, TABLESPACES 00082000
//* 00083000
//PH01S01 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 00084000
//SYSTSPRT DD SYSOUT=* 00085000
//SYSTSIN DD * 00086000
DSN SYSTEM(DSN) 00087000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 00088000
LIB('DSN!!0.RUNLIB.LOAD') 00089000
//SYSPRINT DD SYSOUT=* 00090000
//SYSUDUMP DD SYSOUT=* 00091000
//SYSIN DD * 00092000
SET CURRENT SQLID = 'SYSADM'; 00093000
SET CURRENT APPLICATION COMPATIBILITY = 'V11R1'; 00093101
00094000
CREATE STOGROUP DSN8G!!0 00095000
VOLUMES (DSNV01) 00096000
VCAT DSNC!!0; 00097000
00098000
CREATE DATABASE DSN8D!!A 00099000
STOGROUP DSN8G!!0 00100000
BUFFERPOOL BP0 00101000
CCSID EBCDIC; 00102000
00103000
CREATE DATABASE DSN8D!!P 00104000
STOGROUP DSN8G!!0 00105000
BUFFERPOOL BP0 00106000
CCSID EBCDIC; 00107000
00108000
CREATE DATABASE DSN8D!!X 00109000
STOGROUP DSN8G!!0 00110000
BUFFERPOOL BP0 00111000
CCSID EBCDIC; 00112000
00113000
CREATE TABLESPACE DSN8S!!D 00114000
IN DSN8D!!A 00115000
USING STOGROUP DSN8G!!0 00116000
ERASE NO 00117000
LOCKSIZE PAGE LOCKMAX SYSTEM 00118000
BUFFERPOOL BP0 00119000
CLOSE NO 00120000
CCSID EBCDIC; 00121000
00122000
COMMIT ; 00123000
00124000
CREATE TABLESPACE DSN8S!!E 00125000
IN DSN8D!!A 00126000
USING STOGROUP DSN8G!!0 00127000
ERASE NO 00128000
NUMPARTS 4 00129000
(PART 1 USING STOGROUP DSN8G!!0 00130000
,PART 3 USING STOGROUP DSN8G!!0 00131000
) 00132000
SEGSIZE 0 00133000
LOCKSIZE PAGE LOCKMAX SYSTEM 00134000
BUFFERPOOL BP0 00135000
CLOSE NO 00136000
COMPRESS YES 00137000
CCSID EBCDIC; 00138000
00139000
COMMIT ; 00140000
00141000
CREATE TABLESPACE DSN8S!!C 00142000
IN DSN8D!!P 00143000
USING STOGROUP DSN8G!!0 00144000
SEGSIZE 4 00145000
LOCKSIZE TABLE 00146000
BUFFERPOOL BP0 00147000
CLOSE NO 00148000
CCSID EBCDIC; 00149000
00150000
COMMIT ; 00151000
00152000
CREATE TABLESPACE DSN8S!!Q 00153000
IN DSN8D!!P 00154000
USING STOGROUP DSN8G!!0 00155000
SEGSIZE 4 00156000
LOCKSIZE PAGE 00157000
BUFFERPOOL BP0 00158000
CLOSE NO 00159000
CCSID EBCDIC; 00160000
00161000
COMMIT ; 00162000
00163000
CREATE TABLESPACE DSN8S!!R 00164000
IN DSN8D!!A 00165000
USING STOGROUP DSN8G!!0 00166000
ERASE NO 00167000
LOCKSIZE PAGE LOCKMAX SYSTEM 00168000
BUFFERPOOL BP0 00169000
CLOSE NO 00170000
CCSID EBCDIC; 00171000
00172000
CREATE TABLESPACE DSN8S!!P 00173000
IN DSN8D!!A 00174000
USING STOGROUP DSN8G!!0 00175000
SEGSIZE 4 00176000
LOCKSIZE ROW 00177000
BUFFERPOOL BP0 00178000
CLOSE NO 00179000
CCSID EBCDIC; 00180000
00181000
COMMIT ; 00182000
00183000
CREATE TABLESPACE DSN8S!!S 00184000
IN DSN8D!!A 00185000
USING STOGROUP DSN8G!!0 00186000
ERASE NO 00187000
LOCKSIZE PAGE LOCKMAX SYSTEM 00188000
BUFFERPOOL BP0 00189000
CLOSE NO 00190000
CCSID EBCDIC; 00191000
00192000
CREATE TABLESPACE DSN8S!!X 00193000
IN DSN8D!!X 00194000
USING STOGROUP DSN8G!!0 00195000
ERASE NO 00196000
LOCKSIZE PAGE LOCKMAX SYSTEM 00197000
BUFFERPOOL BP0 00198000
CLOSE NO 00199000
CCSID EBCDIC; 00200000
00201000
COMMIT; 00202000
00203000
//* 00204000
//* STEP 2: CREATE SAMPLE TABLES, VIEWS 00205000
//* 00206000
//PH01S02 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 00207000
//SYSTSPRT DD SYSOUT=* 00208000
//SYSTSIN DD * 00209000
DSN SYSTEM(DSN) 00210000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 00211000
LIB('DSN!!0.RUNLIB.LOAD') 00212000
//SYSPRINT DD SYSOUT=* 00213000
//SYSUDUMP DD SYSOUT=* 00214000
//SYSIN DD * 00215000
SET CURRENT SQLID = 'SYSADM'; 00216000
SET CURRENT APPLICATION COMPATIBILITY = 'V11R1'; 00216100
00217000
CREATE TABLE DSN8!!0.DEPT 00218000
(DEPTNO CHAR(3) NOT NULL, 00219000
DEPTNAME VARCHAR(36) NOT NULL, 00220000
MGRNO CHAR(6) , 00221000
ADMRDEPT CHAR(3) NOT NULL, 00222000
LOCATION CHAR(16) , 00223000
PRIMARY KEY(DEPTNO)) 00224000
IN DSN8D!!A.DSN8S!!D 00225000
CCSID EBCDIC; 00226000
00227000
CREATE UNIQUE INDEX DSN8!!0.XDEPT1 00228000
ON DSN8!!0.DEPT 00229000
(DEPTNO ASC) 00230000
USING STOGROUP DSN8G!!0 00231000
ERASE NO 00232000
BUFFERPOOL BP0 00233000
CLOSE NO; 00234000
00235000
CREATE INDEX DSN8!!0.XDEPT2 00236000
ON DSN8!!0.DEPT 00237000
(MGRNO ASC) 00238000
USING STOGROUP DSN8G!!0 00239000
ERASE NO 00240000
BUFFERPOOL BP0 00241000
CLOSE NO; 00242000
00243000
CREATE INDEX DSN8!!0.XDEPT3 00244000
ON DSN8!!0.DEPT 00245000
(ADMRDEPT ASC) 00246000
USING STOGROUP DSN8G!!0 00247000
ERASE NO 00248000
BUFFERPOOL BP0 00249000
CLOSE NO; 00250000
00251000
CREATE VIEW DSN8!!0.VDEPT 00252000
AS SELECT ALL DEPTNO , 00253000
DEPTNAME, 00254000
MGRNO , 00255000
ADMRDEPT 00256000
FROM DSN8!!0.DEPT; 00257000
00258000
CREATE VIEW DSN8!!0.VHDEPT 00259000
AS SELECT ALL DEPTNO , 00260000
DEPTNAME, 00261000
MGRNO , 00262000
ADMRDEPT, 00263000
LOCATION 00264000
FROM DSN8!!0.DEPT; 00265000
00266000
COMMIT ; 00267000
00268000
CREATE TABLE DSN8!!0.EMP 00269000
(EMPNO CHAR(6) NOT NULL, 00270000
FIRSTNME VARCHAR(12) NOT NULL, 00271000
MIDINIT CHAR(1) NOT NULL, 00272000
LASTNAME VARCHAR(15) NOT NULL, 00273000
WORKDEPT CHAR(3) , 00274000
PHONENO CHAR(4) CONSTRAINT NUMBER CHECK 00275000
(PHONENO >= '0000' AND PHONENO <= '9999'), 00276000
HIREDATE DATE , 00277000
JOB CHAR(8) , 00278000
EDLEVEL SMALLINT , 00279000
SEX CHAR(1) , 00280000
BIRTHDATE DATE , 00281000
SALARY DECIMAL(9, 2) , 00282000
BONUS DECIMAL(9, 2) , 00283000
COMM DECIMAL(9, 2) , 00284000
PRIMARY KEY(EMPNO), 00285000
FOREIGN KEY RED (WORKDEPT) REFERENCES DSN8!!0.DEPT 00286000
ON DELETE SET NULL) 00287000
PARTITION BY RANGE (EMPNO) 00288000
(PARTITION 1 ENDING AT('099999'), 00289000
PARTITION 2 ENDING AT('199999'), 00290000
PARTITION 3 ENDING AT('299999'), 00291000
PARTITION 4 ENDING AT('999999')) 00292000
EDITPROC DSN8EAE1 00293000
IN DSN8D!!A.DSN8S!!E 00294000
CCSID EBCDIC; 00295000
00296000
CREATE UNIQUE INDEX DSN8!!0.XEMP1 00297000
ON DSN8!!0.EMP 00298000
(EMPNO ASC) 00299000
USING STOGROUP DSN8G!!0 00300000
ERASE NO 00301000
BUFFERPOOL BP0 00302000
CLOSE NO; 00303000
00304000
CREATE INDEX DSN8!!0.XEMP2 00305000
ON DSN8!!0.EMP 00306000
(WORKDEPT ASC) 00307000
USING STOGROUP DSN8G!!0 00308000
ERASE NO 00309000
BUFFERPOOL BP0 00310000
CLOSE NO; 00311000
00312000
CREATE VIEW DSN8!!0.VEMP 00313000
AS SELECT ALL EMPNO , 00314000
FIRSTNME, 00315000
MIDINIT , 00316000
LASTNAME, 00317000
WORKDEPT 00318000
FROM DSN8!!0.EMP; 00319000
00320000
COMMIT ; 00321000
00322000
CREATE TABLE DSN8!!0.PROJ 00323000
(PROJNO CHAR(6) PRIMARY KEY NOT NULL, 00324000
PROJNAME VARCHAR(24) NOT NULL WITH DEFAULT 00325000
'PROJECT NAME UNDEFINED', 00326000
DEPTNO CHAR(3) NOT NULL REFERENCES 00327000
DSN8!!0.DEPT ON DELETE RESTRICT, 00328000
RESPEMP CHAR(6) NOT NULL REFERENCES 00329000
DSN8!!0.EMP ON DELETE RESTRICT, 00330000
PRSTAFF DECIMAL(5, 2) , 00331000
PRSTDATE DATE , 00332000
PRENDATE DATE , 00333000
MAJPROJ CHAR(6)) 00334000
IN DSN8D!!A.DSN8S!!P 00335000
CCSID EBCDIC; 00336000
00337000
ALTER TABLESPACE DSN8D!!A.DSN8S!!P CLOSE NO; 00338000
00339000
ALTER TABLESPACE DSN8D!!A.DSN8S!!E 00340000
PART 3 COMPRESS NO; 00341000
00342000
CREATE UNIQUE INDEX DSN8!!0.XPROJ1 00343000
ON DSN8!!0.PROJ 00344000
(PROJNO ASC) 00345000
USING STOGROUP DSN8G!!0 00346000
ERASE NO 00347000
BUFFERPOOL BP0 00348000
CLOSE NO; 00349000
00350000
CREATE INDEX DSN8!!0.XPROJ2 00351000
ON DSN8!!0.PROJ 00352000
(RESPEMP ASC) 00353000
USING STOGROUP DSN8G!!0 00354000
ERASE NO 00355000
BUFFERPOOL BP0 00356000
CLOSE NO; 00357000
00358000
CREATE VIEW DSN8!!0.VPROJ 00359000
AS SELECT ALL 00360000
PROJNO, PROJNAME, DEPTNO, RESPEMP, PRSTAFF, 00361000
PRSTDATE, PRENDATE, MAJPROJ 00362000
FROM DSN8!!0.PROJ ; 00363000
00364000
COMMIT ; 00365000
00366000
CREATE TABLE DSN8!!0.ACT 00367000
(ACTNO SMALLINT NOT NULL, 00368000
ACTKWD CHAR(6) NOT NULL, 00369000
ACTDESC VARCHAR(20) NOT NULL, 00370000
PRIMARY KEY(ACTNO)) 00371000
IN DSN8D!!A.DSN8S!!P 00372000
CCSID EBCDIC; 00373000
00374000
ALTER TABLESPACE DSN8D!!A.DSN8S!!P CLOSE NO; 00375000
00376000
CREATE UNIQUE INDEX DSN8!!0.XACT1 00377000
ON DSN8!!0.ACT 00378000
(ACTNO ASC) 00379000
USING STOGROUP DSN8G!!0 00380000
ERASE NO 00381000
BUFFERPOOL BP0 00382000
CLOSE NO; 00383000
00384000
CREATE UNIQUE INDEX DSN8!!0.XACT2 00385000
ON DSN8!!0.ACT 00386000
(ACTKWD ASC) 00387000
USING STOGROUP DSN8G!!0 00388000
ERASE NO 00389000
BUFFERPOOL BP0 00390000
CLOSE NO; 00391000
00392000
CREATE VIEW DSN8!!0.VACT 00393000
AS SELECT ALL ACTNO , 00394000
ACTKWD , 00395000
ACTDESC 00396000
FROM DSN8!!0.ACT ; 00397000
00398000
COMMIT ; 00399000
00400000
CREATE TABLE DSN8!!0.PROJACT 00401000
(PROJNO CHAR(6) NOT NULL, 00402000
ACTNO SMALLINT NOT NULL, 00403000
ACSTAFF DECIMAL(5, 2) , 00404000
ACSTDATE DATE NOT NULL, 00405000
ACENDATE DATE , 00406000
PRIMARY KEY(PROJNO,ACTNO,ACSTDATE), 00407000
FOREIGN KEY RPAP (PROJNO) REFERENCES DSN8!!0.PROJ 00408000
ON DELETE RESTRICT, 00409000
FOREIGN KEY RPAA (ACTNO) REFERENCES DSN8!!0.ACT 00410000
ON DELETE RESTRICT) 00411000
IN DSN8D!!A.DSN8S!!P 00412000
CCSID EBCDIC; 00413000
00414000
ALTER TABLESPACE DSN8D!!A.DSN8S!!P CLOSE NO; 00415000
00416000
CREATE UNIQUE INDEX DSN8!!0.XPROJAC1 00417000
ON DSN8!!0.PROJACT 00418000
(PROJNO ASC, 00419000
ACTNO ASC, 00420000
ACSTDATE ASC) 00421000
USING STOGROUP DSN8G!!0 00422000
ERASE NO 00423000
BUFFERPOOL BP0 00424000
CLOSE NO; 00425000
00426000
CREATE VIEW DSN8!!0.VPROJACT 00427000
AS SELECT ALL 00428000
PROJNO,ACTNO, ACSTAFF, ACSTDATE, ACENDATE 00429000
FROM DSN8!!0.PROJACT ; 00430000
00431000
COMMIT ; 00432000
00433000
CREATE TABLE DSN8!!0.EMPPROJACT 00434000
(EMPNO CHAR(6) NOT NULL, 00435000
PROJNO CHAR(6) NOT NULL, 00436000
ACTNO SMALLINT NOT NULL, 00437000
EMPTIME DECIMAL(5, 2) , 00438000
EMSTDATE DATE , 00439000
EMENDATE DATE , 00440000
FOREIGN KEY REPAPA (PROJNO, ACTNO, EMSTDATE) 00441000
REFERENCES DSN8!!0.PROJACT 00442000
ON DELETE RESTRICT, 00443000
FOREIGN KEY REPAE (EMPNO) REFERENCES DSN8!!0.EMP 00444000
ON DELETE RESTRICT) 00445000
IN DSN8D!!A.DSN8S!!P 00446000
CCSID EBCDIC; 00447000
00448000
ALTER TABLESPACE DSN8D!!A.DSN8S!!P CLOSE NO; 00449000
00450000
CREATE UNIQUE INDEX DSN8!!0.XEMPPROJACT1 00451000
ON DSN8!!0.EMPPROJACT 00452000
(PROJNO ASC, 00453000
ACTNO ASC, 00454000
EMSTDATE ASC, 00455000
EMPNO ASC) 00456000
USING STOGROUP DSN8G!!0 00457000
ERASE NO 00458000
BUFFERPOOL BP0 00459000
CLOSE NO; 00460000
00461000
CREATE INDEX DSN8!!0.XEMPPROJACT2 00462000
ON DSN8!!0.EMPPROJACT 00463000
(EMPNO ASC) 00464000
USING STOGROUP DSN8G!!0 00465000
ERASE NO 00466000
BUFFERPOOL BP0 00467000
CLOSE NO; 00468000
00469000
CREATE VIEW DSN8!!0.VEMPPROJACT 00470000
AS SELECT ALL 00471000
EMPNO, PROJNO, ACTNO, EMPTIME, EMSTDATE, EMENDATE 00472000
FROM DSN8!!0.EMPPROJACT ; 00473000
00474000
COMMIT ; 00475000
00476000
CREATE TABLE DSN8!!0.PARTS 00477000
(ITEMNUM CHAR(6) NOT NULL, 00478000
DESCRIPT VARCHAR(30) NOT NULL, 00479000
COLOR VARCHAR(8) , 00480000
SUPPLIER VARCHAR(15) NOT NULL) 00481000
IN DSN8D!!A.DSN8S!!S 00482000
CCSID EBCDIC; 00483000
00484000
CREATE INDEX DSN8!!0.XPARTS 00485000
ON DSN8!!0.PARTS 00486000
(ITEMNUM ASC) 00487000
USING STOGROUP DSN8G!!0 00488000
ERASE NO 00489000
BUFFERPOOL BP0 00490000
CLOSE NO; 00491000
00492000
COMMIT ; 00493000
00494000
CREATE TABLE DSN8!!0.TCONA 00495000
(CONVID CHAR(16) NOT NULL, 00496000
LASTSCR CHAR(8) NOT NULL, 00497000
LASTPOS CHAR(254) NOT NULL, 00498000
LASTPOSC CHAR(254) NOT NULL, 00499000
LASTMSG VARCHAR(1609) NOT NULL) 00500000
IN DSN8D!!P.DSN8S!!C 00501000
CCSID EBCDIC; 00502000
00503000
CREATE UNIQUE INDEX DSN8!!0.XCONA1 00504000
ON DSN8!!0.TCONA 00505000
(CONVID ASC) 00506000
USING STOGROUP DSN8G!!0 00507000
ERASE NO 00508000
BUFFERPOOL BP0 00509000
CLOSE NO; 00510000
00511000
CREATE VIEW DSN8!!0.VCONA 00512000
AS SELECT ALL 00513000
CONVID, LASTSCR, LASTPOS, LASTPOSC, LASTMSG 00514000
FROM DSN8!!0.TCONA ; 00515000
00516000
COMMIT ; 00517000
00518000
CREATE TABLE DSN8!!0.TOPTVAL 00519000
(MAJSYS CHAR(1) NOT NULL, 00520000
ACTION CHAR(1) NOT NULL, 00521000
OBJFLD CHAR(2) NOT NULL, 00522000
SRCHCRIT CHAR(2) NOT NULL, 00523000
SCRTYPE CHAR(1) NOT NULL, 00524000
HEADTXT CHAR(50) NOT NULL, 00525000
SELTXT CHAR(50) NOT NULL, 00526000
INFOTXT CHAR(79) NOT NULL, 00527000
HELPTXT CHAR(79) NOT NULL, 00528000
PFKTXT CHAR(79) NOT NULL, 00529000
DSPINDEX CHAR(2) NOT NULL) 00530000
IN DSN8D!!P.DSN8S!!C 00531000
CCSID EBCDIC; 00532000
00533000
CREATE UNIQUE INDEX DSN8!!0.XOPTVAL1 00534000
ON DSN8!!0.TOPTVAL 00535000
(MAJSYS ASC, 00536000
ACTION ASC, 00537000
OBJFLD ASC, 00538000
SRCHCRIT ASC, 00539000
SCRTYPE ASC) 00540000
USING STOGROUP DSN8G!!0 00541000
ERASE NO 00542000
BUFFERPOOL BP0 00543000
CLOSE NO; 00544000
00545000
CREATE VIEW DSN8!!0.VOPTVAL 00546000
AS SELECT ALL 00547000
MAJSYS, ACTION, OBJFLD, SRCHCRIT, SCRTYPE, HEADTXT, 00548000
SELTXT, INFOTXT, HELPTXT, PFKTXT, DSPINDEX 00549000
FROM DSN8!!0.TOPTVAL ; 00550000
00551000
COMMIT ; 00552000
00553000
CREATE TABLE DSN8!!0.TDSPTXT 00554000
(DSPINDEX CHAR(2) NOT NULL, 00555000
LINENO CHAR(2) NOT NULL, 00556000
DSPLINE CHAR(79) NOT NULL) 00557000
IN DSN8D!!P.DSN8S!!C 00558000
CCSID EBCDIC; 00559000
00560000
CREATE UNIQUE INDEX DSN8!!0.XDSPTXT1 00561000
ON DSN8!!0.TDSPTXT 00562000
(DSPINDEX ASC, 00563000
LINENO ASC) 00564000
USING STOGROUP DSN8G!!0 00565000
ERASE NO 00566000
BUFFERPOOL BP0 00567000
CLOSE NO; 00568000
00569000
CREATE VIEW DSN8!!0.VDSPTXT 00570000
AS SELECT ALL 00571000
DSPINDEX, LINENO, DSPLINE 00572000
FROM DSN8!!0.TDSPTXT ; 00573000
00574000
COMMIT; 00575000
00576000
ALTER TABLE DSN8!!0.DEPT 00577000
FOREIGN KEY RDD (ADMRDEPT) REFERENCES DSN8!!0.DEPT 00578000
ON DELETE CASCADE; 00579000
ALTER TABLE DSN8!!0.DEPT 00580000
FOREIGN KEY RDE (MGRNO) REFERENCES DSN8!!0.EMP 00581000
ON DELETE SET NULL; 00582000
ALTER TABLE DSN8!!0.PROJ 00583000
FOREIGN KEY RPP (MAJPROJ) REFERENCES DSN8!!0.PROJ 00584000
ON DELETE CASCADE; 00585000
00586000
COMMIT; 00587000
00588000
CREATE TABLE DSN8!!0.EDEPT LIKE DSN8!!0.DEPT 00589000
IN DSN8D!!A.DSN8S!!R ; 00590000
CREATE TABLE DSN8!!0.EEMP LIKE DSN8!!0.EMP 00591000
IN DSN8D!!A.DSN8S!!R ; 00592000
CREATE TABLE DSN8!!0.EPROJ LIKE DSN8!!0.PROJ 00593000
IN DSN8D!!A.DSN8S!!R ; 00594000
CREATE TABLE DSN8!!0.EACT LIKE DSN8!!0.ACT 00595000
IN DSN8D!!A.DSN8S!!R ; 00596000
CREATE TABLE DSN8!!0.EPROJACT LIKE DSN8!!0.PROJACT 00597000
IN DSN8D!!A.DSN8S!!R ; 00598000
CREATE TABLE DSN8!!0.EEPA LIKE DSN8!!0.EMPPROJACT 00599000
IN DSN8D!!A.DSN8S!!R ; 00600000
00601000
COMMIT; 00602000
00603000
ALTER TABLE DSN8!!0.EDEPT 00604000
ADD RID CHAR(4); 00605000
ALTER TABLE DSN8!!0.EDEPT 00606000
ADD TSTAMP TIMESTAMP; 00607000
ALTER TABLE DSN8!!0.EEMP 00608000
ADD RID CHAR(4); 00609000
ALTER TABLE DSN8!!0.EEMP 00610000
ADD TSTAMP TIMESTAMP; 00611000
ALTER TABLE DSN8!!0.EPROJ 00612000
ADD RID CHAR(4); 00613000
ALTER TABLE DSN8!!0.EPROJ 00614000
ADD TSTAMP TIMESTAMP; 00615000
ALTER TABLE DSN8!!0.EACT 00616000
ADD RID CHAR(4); 00617000
ALTER TABLE DSN8!!0.EACT 00618000
ADD TSTAMP TIMESTAMP; 00619000
ALTER TABLE DSN8!!0.EPROJACT 00620000
ADD RID CHAR(4); 00621000
ALTER TABLE DSN8!!0.EPROJACT 00622000
ADD TSTAMP TIMESTAMP; 00623000
ALTER TABLE DSN8!!0.EEPA 00624000
ADD RID CHAR(4); 00625000
ALTER TABLE DSN8!!0.EEPA 00626000
ADD TSTAMP TIMESTAMP; 00627000
00628000
COMMIT; 00629000
00630000
CREATE SEQUENCE DSN8!!0.POID 00631000
AS BIGINT 00632000
START WITH 1000 00633000
INCREMENT BY 1; 00634000
00635000
CREATE SEQUENCE DSN8!!0.CID 00636000
AS BIGINT 00637000
START WITH 1000 00638000
INCREMENT BY 1; 00639000
00640000
CREATE TABLE DSN8!!0.PRODUCT 00641000
( PID VARCHAR(10) NOT NULL PRIMARY KEY 00642000
,NAME VARCHAR(128) 00643000
,PRICE DECIMAL(30, 2) 00644000
,PROMOPRICE DECIMAL(30, 2) 00645000
,PROMOSTART DATE 00646000
,PROMOEND DATE 00647000
,DESCRIPTION XML ) 00648000
IN DSN8D!!X.DSN8S!!X 00649000
CCSID EBCDIC; 00650000
00651000
CREATE UNIQUE INDEX DSN8!!0.PROD_NAME_PIDX 00652000
ON DSN8!!0.PRODUCT(PID) 00653000
USING STOGROUP DSN8G!!0; 00654000
00655000
CREATE INDEX DSN8!!0.PROD_NAME_XMLIDX 00656000
ON DSN8!!0.PRODUCT(DESCRIPTION) 00657000
GENERATE KEY USING XMLPATTERN '/product/description/name' 00658000
AS SQL VARCHAR(128) 00659000
USING STOGROUP DSN8G!!0; 00660000
00661000
CREATE INDEX DSN8!!0.PROD_DETAIL_XMLIDX 00662000
ON DSN8!!0.PRODUCT(DESCRIPTION) 00663000
GENERATE KEY USING XMLPATTERN '/product/description/detail' 00664000
AS SQL VARCHAR(128) 00665000
USING STOGROUP DSN8G!!0; 00666000
00667000
CREATE TABLE DSN8!!0.INVENTORY 00668000
( PID VARCHAR(10) NOT NULL PRIMARY KEY, 00669000
QUANTITY INTEGER, 00670000
LOCATION VARCHAR(128) ) 00671000
IN DSN8D!!X.DSN8S!!X 00672000
CCSID EBCDIC; 00673000
00674000
CREATE UNIQUE INDEX DSN8!!0.INVENTORY_PIDX 00675000
ON DSN8!!0.INVENTORY(PID) 00676000
USING STOGROUP DSN8G!!0; 00677000
00678000
CREATE TABLE DSN8!!0.CUSTOMER 00679000
( CID BIGINT NOT NULL PRIMARY KEY, 00680000
INFO XML, 00681000
HISTORY XML ) 00682000
IN DSN8D!!X.DSN8S!!X 00683000
CCSID EBCDIC; 00684000
00685000
CREATE UNIQUE INDEX DSN8!!0.CUSTOMER_CIDX 00686000
ON DSN8!!0.CUSTOMER(CID) 00687000
USING STOGROUP DSN8G!!0; 00688000
00689000
CREATE TABLE DSN8!!0.PURCHASEORDER 00690000
( POID BIGINT NOT NULL PRIMARY KEY, 00691000
STATUS VARCHAR(10) NOT NULL WITH DEFAULT 'New', 00692000
PORDER XML ) 00693000
IN DSN8D!!X.DSN8S!!X 00694000
CCSID EBCDIC; 00695000
00696000
CREATE UNIQUE INDEX DSN8!!0.PURCHASEORDER_POIDX 00697000
ON DSN8!!0.PURCHASEORDER(POID) 00698000
USING STOGROUP DSN8G!!0; 00699000
00700000
CREATE TABLE DSN8!!0.CATALOG 00701000
( NAME VARCHAR(128) NOT NULL PRIMARY KEY, 00702000
CATLOG XML ) 00703000
IN DSN8D!!X.DSN8S!!X 00704000
CCSID EBCDIC; 00705000
00706000
CREATE UNIQUE INDEX DSN8!!0.CATALOG_NAMEX 00707000
ON DSN8!!0.CATALOG(NAME) 00708000
USING STOGROUP DSN8G!!0; 00709000
00710000
CREATE TABLE DSN8!!0.SUPPLIERS 00711000
( SID VARCHAR(10) NOT NULL PRIMARY KEY, 00712000
ADDR XML ) 00713000
IN DSN8D!!X.DSN8S!!X 00714000
CCSID EBCDIC; 00715000
00716000
CREATE UNIQUE INDEX DSN8!!0.SUPPLIERS_SIDX 00717000
ON DSN8!!0.SUPPLIERS(SID) 00718000
USING STOGROUP DSN8G!!0; 00719000
00720000
CREATE TABLE DSN8!!0.PRODUCTSUPPLIER 00721000
( PID VARCHAR(10) NOT NULL, 00722000
SID VARCHAR(10) NOT NULL, 00723000
PRIMARY KEY(PID,SID) ) 00724000
IN DSN8D!!X.DSN8S!!X 00725000
CCSID EBCDIC; 00726000
00727000
CREATE UNIQUE INDEX DSN8!!0.PRODUCTSUPPLIER_PID_SIDX 00728000
ON DSN8!!0.PRODUCTSUPPLIER(PID,SID) 00729000
USING STOGROUP DSN8G!!0; 00730000
00731000
//* 00732000
//* STEP 3: CREATE SAMPLE MAPPING TABLE FOR ONLINE REORG 00733000
//* 00734000
//********************************************************************* 00735000
//* THE FOLLOWING IS AN EXAMPLE DEFINITION OF THE MAPPING TABLE * 00736000
//* THAT IS REQUIRED TO RUN AN ONLINE REORGANIZATION WITH SHRLEVEL * 00737000
//* CHANGE. * 00738000
//* * 00739000
//* A MAPPING TABLE MUST BE CREATED IN A SEGMENTED TABLE SPACE. * 00740000
//* THAT TABLESPACE SHOULD CONTAIN ONLY MAPPING TABLES. IT MUST * 00741000
//* NOT BE THE TABLE SPACE THAT IS TO BE REORGANIZED. * 00742000
//* * 00743000
//* IF YOU WANT CONCURRENT EXECUTIONS OF REORG (ON SEVERAL TABLE * 00744000
//* SPACES AND/OR ON SEVERAL PARTITIONS OF A TABLE SPACE) THE * 00745000
//* EXECUTIONS SHOULD USE DIFFERENT MAPPING TABLES. * 00746000
//********************************************************************* 00747000
//PH01S03 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 00748000
//SYSTSPRT DD SYSOUT=* 00749000
//SYSTSIN DD * 00750000
DSN SYSTEM(DSN) 00751000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 00752000
LIB('DSN!!0.RUNLIB.LOAD') 00753000
//SYSPRINT DD SYSOUT=* 00754000
//SYSUDUMP DD SYSOUT=* 00755000
//SYSIN DD * 00756000
SET CURRENT SQLID = 'SYSADM'; 00757000
SET CURRENT APPLICATION COMPATIBILITY = 'V11R1'; 00757100
00758000
CREATE TABLE DSN8!!0.MAP_TBL 00759000
(TYPE CHAR( 01 ) NOT NULL, 00760000
SOURCE_RID CHAR( 07 ) NOT NULL, 00761000
TARGET_XRID CHAR( 11 ) NOT NULL, 00762000
LRSN CHAR( 10 ) NOT NULL) 00763000
IN DSN8D!!P.DSN8S!!Q 00764000
CCSID EBCDIC; 00765000
00766000
CREATE UNIQUE INDEX DSN8!!0.XMAP_TBL 00767000
ON DSN8!!0.MAP_TBL 00768000
(SOURCE_RID ASC, 00769000
TYPE, 00770000
TARGET_XRID, 00771000
LRSN) 00772000
USING STOGROUP DSN8G!!0 00773000
ERASE NO 00774000
BUFFERPOOL BP0 00775000
CLOSE NO; 00776000
//* 00777000
//* STEP 4: CREATE SAMPLE VIEWS 00778000
//* 00779000
//PH01S04 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 00780000
//SYSTSPRT DD SYSOUT=* 00781000
//SYSTSIN DD * 00782000
DSN SYSTEM(DSN) 00783000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 00784000
LIB('DSN!!0.RUNLIB.LOAD') 00785000
//SYSPRINT DD SYSOUT=* 00786000
//SYSUDUMP DD SYSOUT=* 00787000
//SYSIN DD * 00788000
SET CURRENT SQLID = 'SYSADM'; 00789000
00790000
CREATE VIEW DSN8!!0.VDEPMG1 00791000
(DEPTNO, DEPTNAME, MGRNO, FIRSTNME, MIDINIT, LASTNAME, ADMRDEPT)00792000
AS SELECT ALL 00793000
DEPTNO, DEPTNAME, EMPNO, FIRSTNME, MIDINIT, LASTNAME, ADMRDEPT 00794000
FROM DSN8!!0.DEPT LEFT OUTER JOIN DSN8!!0.EMP 00795000
ON MGRNO = EMPNO ; 00796000
00797000
CREATE VIEW DSN8!!0.VEMPDPT1 00798000
(DEPTNO, DEPTNAME, EMPNO, FRSTINIT, MIDINIT, 00799000
LASTNAME, WORKDEPT) 00800000
AS SELECT ALL 00801000
DEPTNO, DEPTNAME, EMPNO, SUBSTR(FIRSTNME, 1, 1), MIDINIT, 00802000
LASTNAME, WORKDEPT 00803000
FROM DSN8!!0.DEPT RIGHT OUTER JOIN DSN8!!0.EMP 00804000
ON WORKDEPT = DEPTNO ; 00805000
00806000
CREATE VIEW DSN8!!0.VASTRDE1 00807000
(DEPT1NO,DEPT1NAM,EMP1NO,EMP1FN,EMP1MI,EMP1LN,TYPE2, 00808000
DEPT2NO,DEPT2NAM,EMP2NO,EMP2FN,EMP2MI,EMP2LN) 00809000
AS SELECT ALL 00810000
D1.DEPTNO,D1.DEPTNAME,D1.MGRNO,D1.FIRSTNME,D1.MIDINIT, 00811000
D1.LASTNAME, '1', 00812000
D2.DEPTNO,D2.DEPTNAME,D2.MGRNO,D2.FIRSTNME,D2.MIDINIT, 00813000
D2.LASTNAME 00814000
FROM DSN8!!0.VDEPMG1 D1, DSN8!!0.VDEPMG1 D2 00815000
WHERE D1.DEPTNO = D2.ADMRDEPT ; 00816000
00817000
CREATE VIEW DSN8!!0.VASTRDE2 00818000
(DEPT1NO,DEPT1NAM,EMP1NO,EMP1FN,EMP1MI,EMP1LN,TYPE2, 00819000
DEPT2NO,DEPT2NAM,EMP2NO,EMP2FN,EMP2MI,EMP2LN) 00820000
AS SELECT ALL 00821000
D1.DEPTNO,D1.DEPTNAME,D1.MGRNO,D1.FIRSTNME,D1.MIDINIT, 00822000
D1.LASTNAME,'2', 00823000
D1.DEPTNO,D1.DEPTNAME,E2.EMPNO,E2.FIRSTNME,E2.MIDINIT, 00824000
E2.LASTNAME 00825000
FROM DSN8!!0.VDEPMG1 D1, DSN8!!0.EMP E2 00826000
WHERE D1.DEPTNO = E2.WORKDEPT; 00827000
00828000
CREATE VIEW DSN8!!0.VPROJRE1 00829000
(PROJNO,PROJNAME,PROJDEP,RESPEMP,FIRSTNME,MIDINIT,LASTNAME,MAJPROJ) 00830000
AS SELECT ALL 00831000
PROJNO,PROJNAME,DEPTNO,EMPNO,FIRSTNME,MIDINIT,LASTNAME,MAJPROJ 00832000
FROM DSN8!!0.PROJ, DSN8!!0.EMP 00833000
WHERE RESPEMP = EMPNO ; 00834000
00835000
CREATE VIEW DSN8!!0.VPSTRDE1 00836000
(PROJ1NO,PROJ1NAME,RESP1NO,RESP1FN,RESP1MI,RESP1LN, 00837000
PROJ2NO,PROJ2NAME,RESP2NO,RESP2FN,RESP2MI,RESP2LN) 00838000
AS SELECT ALL 00839000
P1.PROJNO,P1.PROJNAME,P1.RESPEMP,P1.FIRSTNME,P1.MIDINIT, 00840000
P1.LASTNAME, 00841000
P2.PROJNO,P2.PROJNAME,P2.RESPEMP,P2.FIRSTNME,P2.MIDINIT, 00842000
P2.LASTNAME 00843000
FROM DSN8!!0.VPROJRE1 P1, 00844000
DSN8!!0.VPROJRE1 P2 00845000
WHERE P1.PROJNO = P2.MAJPROJ ; 00846000
00847000
CREATE VIEW DSN8!!0.VPSTRDE2 00848000
(PROJ1NO,PROJ1NAME,RESP1NO,RESP1FN,RESP1MI,RESP1LN, 00849000
PROJ2NO,PROJ2NAME,RESP2NO,RESP2FN,RESP2MI,RESP2LN) 00850000
AS SELECT ALL 00851000
P1.PROJNO,P1.PROJNAME,P1.RESPEMP,P1.FIRSTNME,P1.MIDINIT, 00852000
P1.LASTNAME, 00853000
P1.PROJNO,P1.PROJNAME,P1.RESPEMP,P1.FIRSTNME,P1.MIDINIT, 00854000
P1.LASTNAME 00855000
FROM DSN8!!0.VPROJRE1 P1 00856000
WHERE NOT EXISTS 00857000
(SELECT * FROM DSN8!!0.VPROJRE1 P2 00858000
WHERE P1.PROJNO = P2.MAJPROJ) ; 00859000
00860000
CREATE VIEW DSN8!!0.VFORPLA 00861000
(PROJNO,PROJNAME,RESPEMP,PROJDEP,FRSTINIT,MIDINIT,LASTNAME) 00862000
AS SELECT ALL 00863000
F1.PROJNO,PROJNAME,RESPEMP,PROJDEP, SUBSTR(FIRSTNME, 1, 1), 00864000
MIDINIT, LASTNAME 00865000
FROM DSN8!!0.VPROJRE1 F1 LEFT OUTER JOIN DSN8!!0.EMPPROJACT F2 00866000
ON F1.PROJNO = F2.PROJNO; 00867000
00868000
CREATE VIEW DSN8!!0.VSTAFAC1 00869000
(PROJNO, ACTNO, ACTDESC, EMPNO, FIRSTNME, MIDINIT, LASTNAME, 00870000
EMPTIME,STDATE,ENDATE, TYPE) 00871000
AS SELECT ALL 00872000
PA.PROJNO, PA.ACTNO, AC.ACTDESC,' ', ' ', ' ', ' ', 00873000
PA.ACSTAFF, PA.ACSTDATE, 00874000
PA.ACENDATE,'1' 00875000
FROM DSN8!!0.PROJACT PA, DSN8!!0.ACT AC 00876000
WHERE PA.ACTNO = AC.ACTNO ; 00877000
00878000
CREATE VIEW DSN8!!0.VSTAFAC2 00879000
(PROJNO, ACTNO, ACTDESC, EMPNO, FIRSTNME, MIDINIT, LASTNAME, 00880000
EMPTIME,STDATE, ENDATE, TYPE) 00881000
AS SELECT ALL 00882000
EP.PROJNO, EP.ACTNO, AC.ACTDESC, EP.EMPNO,EM.FIRSTNME, 00883000
EM.MIDINIT, EM.LASTNAME, EP.EMPTIME, EP.EMSTDATE, 00884000
EP.EMENDATE,'2' 00885000
FROM DSN8!!0.EMPPROJACT EP, DSN8!!0.ACT AC, DSN8!!0.EMP EM 00886000
WHERE EP.ACTNO = AC.ACTNO AND EP.EMPNO = EM.EMPNO ; 00887000
00888000
CREATE VIEW DSN8!!0.VPHONE 00889000
(LASTNAME, 00890000
FIRSTNAME, 00891000
MIDDLEINITIAL, 00892000
PHONENUMBER, 00893000
EMPLOYEENUMBER, 00894000
DEPTNUMBER, 00895000
DEPTNAME) 00896000
AS SELECT ALL LASTNAME, 00897000
FIRSTNME, 00898000
MIDINIT , 00899000
VALUE(PHONENO,' '), 00900000
EMPNO, 00901000
DEPTNO, 00902000
DEPTNAME 00903000
FROM DSN8!!0.EMP, DSN8!!0.DEPT 00904000
WHERE WORKDEPT = DEPTNO; 00905000
00906000
CREATE VIEW DSN8!!0.VEMPLP 00907000
(EMPLOYEENUMBER, 00908000
PHONENUMBER) 00909000
AS SELECT ALL EMPNO , 00910000
PHONENO 00911000
FROM DSN8!!0.EMP ; 00912000
//* 00913000
//* STEP 5: DROP ALIASES 00914000
//* 00915000
//PH01S05 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 00916000
//SYSTSPRT DD SYSOUT=* 00917000
//SYSTSIN DD * 00918000
DSN SYSTEM(DSN) 00919000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) PARM('RC0') - 00920000
LIB('DSN!!0.RUNLIB.LOAD') 00921000
//SYSPRINT DD SYSOUT=* 00922000
//SYSUDUMP DD SYSOUT=* 00923000
//SYSIN DD * 00924000
SET CURRENT SQLID = 'SYSADM'; 00925000
DROP ALIAS ACT ; 00926000
DROP ALIAS TCONA ; 00927000
DROP ALIAS DEPT ; 00928000
DROP ALIAS TDSPTXT ; 00929000
DROP ALIAS EMP ; 00930000
DROP ALIAS EMPPROJACT ; 00931000
DROP ALIAS TOPTVAL ; 00932000
DROP ALIAS PROJACT ; 00933000
DROP ALIAS PROJ ; 00934000
DROP ALIAS VPHONE ; 00935000
DROP ALIAS VACT ; 00936000
DROP ALIAS VCONA ; 00937000
DROP ALIAS VDEPT ; 00938000
DROP ALIAS VHDEPT ; 00939000
DROP ALIAS VDSPTXT ; 00940000
DROP ALIAS VEMP ; 00941000
DROP ALIAS VEMPPROJACT ; 00942000
DROP ALIAS VOPTVAL ; 00943000
DROP ALIAS VPROJACT ; 00944000
DROP ALIAS VPROJ ; 00945000
DROP ALIAS VEMPLP ; 00946000
DROP ALIAS VDEPMG1 ; 00947000
DROP ALIAS VEMPDPT1 ; 00948000
DROP ALIAS VASTRDE1 ; 00949000
DROP ALIAS VASTRDE2 ; 00950000
DROP ALIAS VPROJRE1 ; 00951000
DROP ALIAS VPSTRDE1 ; 00952000
DROP ALIAS VPSTRDE2 ; 00953000
DROP ALIAS VFORPLA ; 00954000
DROP ALIAS VSTAFAC1 ; 00955000
DROP ALIAS VSTAFAC2 ; 00956000
DROP ALIAS PRODUCT ; 00957000
DROP ALIAS INVENTORY ; 00958000
DROP ALIAS CUSTOMER ; 00959000
DROP ALIAS PURCHASEORDER; 00960000
DROP ALIAS CATALOG ; 00961000
DROP ALIAS SUPPLIERS ; 00962000
DROP ALIAS PRODUCTSUPPLIER; 00963000
//* 00964000
//* STEP 6: GRANT AUTHORITY, CREATE ALIASES 00965000
//* 00966000
//PH01S06 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 00967000
//SYSTSPRT DD SYSOUT=* 00968000
//SYSTSIN DD * 00969000
DSN SYSTEM(DSN) 00970000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 00971000
LIB('DSN!!0.RUNLIB.LOAD') 00972000
//SYSPRINT DD SYSOUT=* 00973000
//SYSUDUMP DD SYSOUT=* 00974000
//SYSIN DD * 00975000
SET CURRENT SQLID = 'SYSADM'; 00976000
CREATE ALIAS ACT FOR DSN8!!0.ACT ; 00977000
CREATE ALIAS TCONA FOR DSN8!!0.TCONA ; 00978000
CREATE ALIAS DEPT FOR DSN8!!0.DEPT ; 00979000
CREATE ALIAS TDSPTXT FOR DSN8!!0.TDSPTXT ; 00980000
CREATE ALIAS EMP FOR DSN8!!0.EMP ; 00981000
CREATE ALIAS EMPPROJACT FOR DSN8!!0.EMPPROJACT ; 00982000
CREATE ALIAS TOPTVAL FOR DSN8!!0.TOPTVAL ; 00983000
CREATE ALIAS PROJACT FOR DSN8!!0.PROJACT ; 00984000
CREATE ALIAS PROJ FOR DSN8!!0.PROJ ; 00985000
CREATE ALIAS VPHONE FOR DSN8!!0.VPHONE ; 00986000
CREATE ALIAS VACT FOR DSN8!!0.VACT ; 00987000
CREATE ALIAS VCONA FOR DSN8!!0.VCONA ; 00988000
CREATE ALIAS VDEPT FOR DSN8!!0.VDEPT ; 00989000
CREATE ALIAS VHDEPT FOR DSN8!!0.VHDEPT ; 00990000
CREATE ALIAS VDSPTXT FOR DSN8!!0.VDSPTXT ; 00991000
CREATE ALIAS VEMP FOR DSN8!!0.VEMP ; 00992000
CREATE ALIAS VEMPPROJACT FOR DSN8!!0.VEMPPROJACT ; 00993000
CREATE ALIAS VOPTVAL FOR DSN8!!0.VOPTVAL ; 00994000
CREATE ALIAS VPROJACT FOR DSN8!!0.VPROJACT ; 00995000
CREATE ALIAS VPROJ FOR DSN8!!0.VPROJ ; 00996000
CREATE ALIAS VEMPLP FOR DSN8!!0.VEMPLP ; 00997000
CREATE ALIAS VDEPMG1 FOR DSN8!!0.VDEPMG1 ; 00998000
CREATE ALIAS VEMPDPT1 FOR DSN8!!0.VEMPDPT1 ; 00999000
CREATE ALIAS VASTRDE1 FOR DSN8!!0.VASTRDE1; 01000000
CREATE ALIAS VASTRDE2 FOR DSN8!!0.VASTRDE2; 01001000
CREATE ALIAS VPROJRE1 FOR DSN8!!0.VPROJRE1; 01002000
CREATE ALIAS VPSTRDE1 FOR DSN8!!0.VPSTRDE1; 01003000
CREATE ALIAS VPSTRDE2 FOR DSN8!!0.VPSTRDE2; 01004000
CREATE ALIAS VFORPLA FOR DSN8!!0.VFORPLA; 01005000
CREATE ALIAS VSTAFAC1 FOR DSN8!!0.VSTAFAC1; 01006000
CREATE ALIAS VSTAFAC2 FOR DSN8!!0.VSTAFAC2; 01007000
CREATE ALIAS PRODUCT FOR DSN8!!0.PRODUCT; 01008000
CREATE ALIAS INVENTORY FOR DSN8!!0.INVENTORY; 01009000
CREATE ALIAS CUSTOMER FOR DSN8!!0.CUSTOMER; 01010000
CREATE ALIAS PURCHASEORDER FOR DSN8!!0.PURCHASEORDER; 01011000
CREATE ALIAS CATALOG FOR DSN8!!0.CATALOG; 01012000
CREATE ALIAS SUPPLIERS FOR DSN8!!0.SUPPLIERS; 01013000
CREATE ALIAS PRODUCTSUPPLIER FOR DSN8!!0.PRODUCTSUPPLIER; 01014000
01015000
GRANT USE OF STOGROUP DSN8G!!0 01016000
TO PUBLIC; 01017000
GRANT DBADM ON DATABASE DSN8D!!A 01018000
TO PUBLIC; 01019000
GRANT DBADM ON DATABASE DSN8D!!P 01020000
TO PUBLIC; 01021000
GRANT USE OF TABLESPACE DSN8D!!A.DSN8S!!D 01022000
TO PUBLIC; 01023000
GRANT USE OF TABLESPACE DSN8D!!A.DSN8S!!E 01024000
TO PUBLIC; 01025000
GRANT USE OF TABLESPACE DSN8D!!A.DSN8S!!P 01026000
TO PUBLIC; 01027000
GRANT USE OF TABLESPACE DSN8D!!A.DSN8S!!S 01028000
TO PUBLIC; 01029000
GRANT USE OF TABLESPACE DSN8D!!P.DSN8S!!C 01030000
TO PUBLIC; 01031000
GRANT USE OF TABLESPACE DSN8D!!P.DSN8S!!Q 01032000
TO PUBLIC; 01033000
GRANT USE OF TABLESPACE DSN8D!!X.DSN8S!!X 01034000
TO PUBLIC; 01035000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.ACT 01036000
TO PUBLIC; 01037000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.TCONA 01038000
TO PUBLIC; 01039000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.DEPT 01040000
TO PUBLIC; 01041000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.TDSPTXT 01042000
TO PUBLIC; 01043000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.EMP 01044000
TO PUBLIC; 01045000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.EMPPROJACT 01046000
TO PUBLIC; 01047000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.TOPTVAL 01048000
TO PUBLIC; 01049000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.PARTS 01050000
TO PUBLIC; 01051000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.PROJACT 01052000
TO PUBLIC; 01053000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.PROJ 01054000
TO PUBLIC; 01055000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.MAP_TBL 01056000
TO PUBLIC; 01057000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VPHONE 01058000
TO PUBLIC; 01059000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VACT 01060000
TO PUBLIC; 01061000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VCONA 01062000
TO PUBLIC; 01063000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VDEPT 01064000
TO PUBLIC; 01065000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VHDEPT 01066000
TO PUBLIC; 01067000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VDSPTXT 01068000
TO PUBLIC; 01069000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VEMP 01070000
TO PUBLIC; 01071000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VEMPPROJACT 01072000
TO PUBLIC; 01073000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VOPTVAL 01074000
TO PUBLIC; 01075000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VPROJACT 01076000
TO PUBLIC; 01077000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VPROJ 01078000
TO PUBLIC; 01079000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VEMPLP 01080000
TO PUBLIC; 01081000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VDEPMG1 01082000
TO PUBLIC; 01083000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VEMPDPT1 01084000
TO PUBLIC; 01085000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VASTRDE1 01086000
TO PUBLIC; 01087000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VASTRDE2 01088000
TO PUBLIC; 01089000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VPROJRE1 01090000
TO PUBLIC; 01091000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VPSTRDE1 01092000
TO PUBLIC; 01093000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VPSTRDE2 01094000
TO PUBLIC; 01095000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VFORPLA 01096000
TO PUBLIC; 01097000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VSTAFAC1 01098000
TO PUBLIC; 01099000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.VSTAFAC2 01100000
TO PUBLIC; 01101000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.PRODUCT 01102000
TO PUBLIC; 01103000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.INVENTORY 01104000
TO PUBLIC; 01105000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.CUSTOMER 01106000
TO PUBLIC; 01107000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.PURCHASEORDER 01108000
TO PUBLIC; 01109000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.CATALOG 01110000
TO PUBLIC; 01111000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.SUPPLIERS 01112000
TO PUBLIC; 01113000
GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE DSN8!!0.PRODUCTSUPPLIER 01114000
TO PUBLIC; 01115000
//* 01116000
//* 01117000
//* 01118000
//* STEP 7: ASSEMBLE AND LINKEDIT EDIT EXIT 01119000
//* 01120000
//PH01S07 EXEC ASMCL,MEM=DSN8EAE1,COND=(4,LT), 01121000
// PARM.LKED='LIST,XREF,NCAL,RENT,AMODE=31,RMODE=ANY' 01122000
//* 01123000
//* STEP 8: ASSEMBLE AND LINKEDIT EDIT EXIT 01124000
//* 01125000
//PH01S08 EXEC ASMCL,MEM=DSN8HUFF,COND=(4,LT), 01126000
// PARM.LKED='LIST,XREF,NCAL,RENT,AMODE=31,RMODE=ANY' 01127000
//* 01128000
//* STEP 9: ASSEMBLE AND LINKEDIT FIELD PROCEDURE 01129000
//* 01130000
//PH01S09 EXEC ASMCL,MEM=DSN8FPRC,COND=(4,LT), 01131000
// PARM.ASM='RENT,OBJECT,NODECK,SYSPARM(FLDPROC)', 01132000
// PARM.LKED='LIST,XREF,NCAL,RENT,AMODE=31,RMODE=ANY' 01133000
//* 01134000
//* STEP 10: PRECOMPILE, ASSEMBLE AND LINKEDIT THE 01135000
//* CALL ATTACH ASSEMBLER INTERFACE 01136000
//* 01137000
//PH01S10 EXEC DSNHASM,MEM=DSN8CA, 01138000
// COND=(4,LT), 01139000
// PARM.PC='HOST(ASM),STDSQL(NO)', 01140000
// PARM.ASM='RENT,OBJECT,NODECK', 01141000
// PARM.LKED='RENT,XREF,AMODE=31,RMODE=ANY' 01142000
//PC.DBRMLIB DD DISP=SHR, 01143000
// DSN=DSN!!0.DBRMLIB.DATA(DSN8CA) 01144000
//PC.SYSLIB DD DSN=DSN!!0.SDSNSAMP, 01145000
// DISP=SHR 01146000
//PC.SYSIN DD DISP=SHR, 01147000
// DSN=DSN!!0.SDSNSAMP(DSN8CA) 01148000
//ASM.SYSLIB DD 01149000
// DD DSN=DSN!!0.SDSNSAMP, 01150000
// DISP=SHR 01151000
//LKED.SYSLMOD DD DISP=SHR, 01152000
// DSN=DSN!!0.RUNLIB.LOAD(DSN8CA) 01153000
//LKED.SYSIN DD * 01154000
INCLUDE SYSLIB(DSNALI) 01155000
//* 01156000
//* STEP 11: CREATE SAMPLE UTILITY LIST 01157000
//* 01158000
//PH01S11 EXEC PGM=IEBGENER,COND=(4,LT) 01159000
//SYSIN DD DUMMY 01160000
//SYSPRINT DD SYSOUT=* 01161000
//SYSUT1 DD * 01162000
01163000
LISTDEF DSN8LDEF 01164000
INCLUDE TABLESPACES DATABASE DSN8D!!A 01165000
EXCLUDE TABLESPACE DSN8D!!A.DSN8S!!R 01166000
EXCLUDE TABLESPACE DSN8D!!A.DSN8S!!S 01167000
01168000
//SYSUT2 DD DSN=DSN!!0.DSN8.LISTDEF, 01169000
// DISP=(,CATLG,DELETE), 01170000
// UNIT=SYSDA, 01171000
// SPACE=(TRK,1), 01172000
// DCB=(RECFM=FB,LRECL=80) 01173000
//* 01174000
//* STEP 12: LOAD DATA INTO SAMPLE PROGRAM TABLES 01175000
//* 01176000
//PH01S12 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01177000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01178000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01179000
//DSNTRACE DD SYSOUT=* 01180000
//SYSRECDT DD DISP=SHR, 01181000
// DSN=DSN!!0.SDSNSAMP(DSN8LDT) 01182000
//SYSRECOV DD DISP=SHR, 01183000
// DSN=DSN!!0.SDSNSAMP(DSN8LOV) 01184000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND) 01185000
//SYSIN DD * 01186000
01187000
LOAD DATA INDDN(SYSRECOV) CONTINUEIF(72:72)='X' 01188000
INTO TABLE DSN8!!0.TOPTVAL 01189000
(MAJSYS POSITION( 2) CHAR(1), 01190000
ACTION POSITION( 4) CHAR(1), 01191000
OBJFLD POSITION( 6) CHAR(2), 01192000
SRCHCRIT POSITION( 9) CHAR(2), 01193000
SCRTYPE POSITION( 12) CHAR(1), 01194000
HEADTXT POSITION( 80) CHAR(50), 01195000
SELTXT POSITION(159) CHAR(50), 01196000
INFOTXT POSITION(238) CHAR(71), 01197000
HELPTXT POSITION(317) CHAR(71), 01198000
PFKTXT POSITION(396) CHAR(71), 01199000
DSPINDEX POSITION(475) CHAR(2)) 01200000
SORTDEVT SYSDA SORTNUM 4 01201000
01202000
LOAD DATA INDDN(SYSRECDT) CONTINUEIF(72:72)='X' RESUME(YES) 01203000
INTO TABLE DSN8!!0.TDSPTXT 01204000
(DSPINDEX POSITION( 2) CHAR(2), 01205000
LINENO POSITION( 6) CHAR(2), 01206000
DSPLINE POSITION(80) CHAR(71)) 01207000
SORTDEVT SYSDA SORTNUM 4 01208000
01209000
//* 01210000
//* STEP 13: LOAD DATA INTO SAMPLE APPLICATION TABLES 01211000
//* 01212000
//PH01S13 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01213000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01214000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01215000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01216000
//DSNTRACE DD SYSOUT=* 01217000
//SYSRECAC DD DISP=SHR, 01218000
// DSN=DSN!!0.SDSNSAMP(DSN8LAC) 01219000
//SYSRECDP DD DISP=SHR, 01220000
// DSN=DSN!!0.SDSNSAMP(DSN8LDP) 01221000
//SYSRECEM DD DISP=SHR, 01222000
// DSN=DSN!!0.SDSNSAMP(DSN8LEM) 01223000
//SYSRECEP DD DISP=SHR, 01224000
// DSN=DSN!!0.SDSNSAMP(DSN8LEP) 01225000
//SYSRECPA DD DISP=SHR, 01226000
// DSN=DSN!!0.SDSNSAMP(DSN8LPA) 01227000
//SYSRECPJ DD DISP=SHR, 01228000
// DSN=DSN!!0.SDSNSAMP(DSN8LPJ) 01229000
//SYSRECXP DD DISP=SHR, 01230000
// DSN=DSN!!0.SDSNIVPD(DSN8LXPR) 01231000
//SYSERR DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01232000
//SYSDISC DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01233000
//SYSMAP DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01234000
//SYSIN DD * 01235000
01236000
LOAD DATA INDDN(SYSRECDP) 01237000
INTO TABLE DSN8!!0.DEPT 01238000
(DEPTNO POSITION( 1) CHAR(3), 01239000
DEPTNAME POSITION( 5) VARCHAR, 01240000
MGRNO POSITION(37) CHAR(6) NULLIF(MGRNO=' '), 01241000
ADMRDEPT POSITION(44) CHAR(3), 01242000
LOCATION POSITION(48) CHAR(16)) 01243000
ENFORCE NO 01244000
SORTDEVT SYSDA SORTNUM 4 01245000
01246000
LOAD DATA INDDN(SYSRECEM) CONTINUEIF(72:72)='X' 01247000
INTO TABLE DSN8!!0.EMP 01248000
(EMPNO POSITION( 1) CHAR(6), 01249000
FIRSTNME POSITION( 8) VARCHAR, 01250000
MIDINIT POSITION(21) CHAR(1), 01251000
LASTNAME POSITION(23) VARCHAR, 01252000
WORKDEPT POSITION(36) CHAR(3), 01253000
PHONENO POSITION(40) CHAR(4), 01254000
HIREDATE POSITION(45) DATE EXTERNAL, 01255000
JOB POSITION(56) CHAR(8), 01256000
EDLEVEL POSITION(65) INTEGER EXTERNAL(2), 01257000
SEX POSITION(68) CHAR(1), 01258000
BIRTHDATE POSITION(80) DATE EXTERNAL, 01259000
SALARY POSITION(91) INTEGER EXTERNAL(5), 01260000
BONUS POSITION(97) INTEGER EXTERNAL(5), 01261000
COMM POSITION(103) INTEGER EXTERNAL(5)) 01262000
ENFORCE CONSTRAINTS MAPDDN SYSMAP 01263000
SORTDEVT SYSDA SORTNUM 4 01264000
01265000
LOAD DATA INDDN(SYSRECPJ) RESUME YES CONTINUEIF(72:72)='X' 01266000
INTO TABLE DSN8!!0.PROJ 01267000
(PROJNO POSITION( 1) CHAR(6), 01268000
PROJNAME POSITION( 8) VARCHAR, 01269000
DEPTNO POSITION(33) CHAR(3), 01270000
RESPEMP POSITION(37) CHAR(6), 01271000
PRSTAFF POSITION(44) DECIMAL EXTERNAL(5), 01272000
PRSTDATE POSITION(50) DATE EXTERNAL, 01273000
PRENDATE POSITION(61) DATE EXTERNAL, 01274000
MAJPROJ POSITION(80) CHAR(6) NULLIF(MAJPROJ=' ')) 01275000
ENFORCE NO 01276000
SORTDEVT SYSDA SORTNUM 4 01277000
01278000
LOAD DATA INDDN(SYSRECAC) RESUME YES 01279000
INTO TABLE DSN8!!0.ACT 01280000
(ACTNO POSITION( 1) INTEGER EXTERNAL(3), 01281000
ACTKWD POSITION( 5) CHAR(6), 01282000
ACTDESC POSITION(13) VARCHAR) 01283000
ENFORCE NO 01284000
SORTDEVT SYSDA SORTNUM 4 01285000
01286000
LOAD DATA INDDN(SYSRECPA) RESUME YES 01287000
INTO TABLE DSN8!!0.PROJACT 01288000
(PROJNO POSITION( 1) CHAR(6), 01289000
ACTNO POSITION( 8) INTEGER EXTERNAL(3), 01290000
ACSTAFF POSITION(12) DECIMAL EXTERNAL(5), 01291000
ACSTDATE POSITION(18) DATE EXTERNAL, 01292000
ACENDATE POSITION(29) DATE EXTERNAL) 01293000
ENFORCE NO 01294000
SORTDEVT SYSDA SORTNUM 4 01295000
01296000
LOAD DATA INDDN(SYSRECEP) RESUME YES 01297000
INTO TABLE DSN8!!0.EMPPROJACT 01298000
(EMPNO POSITION( 1) CHAR(6), 01299000
PROJNO POSITION( 8) CHAR(6), 01300000
ACTNO POSITION(16) INTEGER EXTERNAL(3), 01301000
EMPTIME POSITION(20) DECIMAL EXTERNAL(5), 01302000
EMSTDATE POSITION(26) DATE EXTERNAL, 01303000
EMENDATE POSITION(37) DATE EXTERNAL) 01304000
ENFORCE NO 01305000
SORTDEVT SYSDA SORTNUM 4 01306000
01307000
LOAD DATA INDDN(SYSRECXP) RESUME YES 01308000
INTO TABLE DSN8!!0.PRODUCT 01309000
(PID POSITION(1) CHAR(10), 01310000
,NAME POSITION(11) VARCHAR NULLIF(140)='?' 01311000
,PRICE POSITION(141) DECIMAL NULLIF(157)='?' 01312000
,PROMOPRICE POSITION(158) DECIMAL NULLIF(174)='?' 01313000
,PROMOSTART POSITION(175) DATE EXTERNAL(10) NULLIF(185)='?' 01314000
,PROMOEND POSITION(186) DATE EXTERNAL(10) NULLIF(196)='?' 01315000
,DESCRIPTION POSITION(197) XML) 01316000
SORTDEVT SYSDA SORTNUM 4 01317000
//* 01318000
//* STEP 14: CHECK DATA FOR REFERENTIAL INTEGRITY 01319000
//* 01320000
//PH01S14 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01321000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01322000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01323000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01324000
//DSNTRACE DD SYSOUT=* 01325000
//SYSERR DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01326000
//SYSIN DD * 01327000
01328000
CHECK DATA TABLESPACE DSN8D!!A.DSN8S!!D 01329000
TABLESPACE DSN8D!!A.DSN8S!!E 01330000
TABLESPACE DSN8D!!A.DSN8S!!P 01331000
SCOPE ALL 01332000
DELETE YES 01333000
FOR EXCEPTION IN DSN8!!0.DEPT USE DSN8!!0.EDEPT 01334000
IN DSN8!!0.EMP USE DSN8!!0.EEMP 01335000
IN DSN8!!0.PROJ USE DSN8!!0.EPROJ 01336000
IN DSN8!!0.ACT USE DSN8!!0.EACT 01337000
IN DSN8!!0.PROJACT USE DSN8!!0.EPROJACT 01338000
IN DSN8!!0.EMPPROJACT USE DSN8!!0.EEPA 01339000
EXCEPTIONS 50 01340000
SORTDEVT SYSDA SORTNUM 4 01341000
01342000
//* 01343000
//* STEP 15: ESTABLISH A QUIESCE POINT 01344000
//* NOTE: CONDITION CODE 4 INDICATES AN IMAGE COPY 01345000
//* CANNOT BE TAKEN 01346000
//* 01347000
//PH01S15 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01348000
//SYSLISTD DD DISP=SHR,DSN=DSN!!0.DSN8.LISTDEF 01349000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01350000
//SYSIN DD * 01351000
01352000
QUIESCE LIST DSN8LDEF 01353000
01354000
//* 01355000
//* STEP 16: TAKE IMAGE COPY OF SAMPLE TABLES 01356000
//* 01357000
//PH01S16 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01358000
//SYSLISTD DD DISP=SHR,DSN=DSN!!0.DSN8.LISTDEF 01359000
// DD * 01360000
INCLUDE TABLESPACE DSN8D!!P.DSN8S!!C 01361000
//DSNTRACE DD SYSOUT=* 01362000
//SYSIN DD * 01363000
01364000
TEMPLATE DSN8TPLT 01365000
DSN(DSN!!0.SYSCOPY.&DB..&TS.) 01366000
DISP (NEW,CATLG,DELETE) 01367000
UNIT SYSDA 01368000
PCTPRIME 100 MAXPRIME 5 NBRSECND 10 01369000
COPY LIST DSN8LDEF 01370000
COPYDDN(DSN8TPLT) 01371000
01372000
//* 01373000
//* STEP 17: ESTABLISH A QUIESCE POINT USING ONLY IMAGE COPIES 01374000
//* 01375000
//PH01S17 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01376000
//SYSLISTD DD DISP=SHR,DSN=DSN!!0.DSN8.LISTDEF 01377000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01378000
//SYSIN DD * 01379000
01380000
QUIESCE LIST DSN8LDEF 01381000
01382000
//* 01383000
//* STEP 18: REORGANIZE TABLESPACES, PRODUCE STATISTICS 01384000
//* 01385000
//PH01S18 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01386000
//SYSLISTD DD DISP=SHR,DSN=DSN!!0.DSN8.LISTDEF 01387000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01388000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01389000
//DSNTRACE DD SYSOUT=* 01390000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND) 01391000
//SYSREC DD UNIT=SYSDA,SPACE=(4000,(200,200),,,ROUND) 01392000
//SYSIN DD * 01393000
01394000
REORG TABLESPACE DSN8D!!A.DSN8S!!D 01395000
SORTDEVT SYSDA SORTNUM 4 01396000
01397000
RUNSTATS TABLESPACE LIST DSN8LDEF 01398000
INDEX(ALL) 01399000
01400000
//* 01401000
//* STEP 19: RUN ONLINE REORG OF TBLSPACE USING SHRLEVEL CHANGE 01402000
//* 01403000
//PH01S19 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01404000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01405000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01406000
//DSNTRACE DD SYSOUT=* 01407000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND) 01408000
//SYSREC DD UNIT=SYSDA,SPACE=(4000,(200,200),,,ROUND) 01409000
//COPYDDN DD DSN=DSN!!0.COPYDDN.DSN8D!!P.DSN8S!!C, 01410000
// DISP=(NEW,CATLG), 01411000
// UNIT=SYSDA, 01412000
// SPACE=(TRK,(10,1),RLSE), 01413000
// DCB=BLKSIZE=8000 01414000
//SYSIN DD * 01415000
01416000
REORG TABLESPACE DSN8D!!P.DSN8S!!C 01417000
COPYDDN(COPYDDN) 01418000
SHRLEVEL CHANGE 01419000
DEADLINE NONE 01420000
MAPPINGTABLE DSN8!!0.MAP_TBL 01421000
MAXRO 240 LONGLOG DRAIN DELAY 900 01422000
SORTDEVT SYSDA SORTNUM 4 01423000
01424000
RUNSTATS TABLESPACE DSN8D!!P.DSN8S!!C 01425000
INDEX(ALL) 01426000
01427000
//* 01428000
//* STEP 20: LOAD DATA INTO PART 3 OF DSN8D!!A.DSN8S!!E 01429000
//* 01430000
//PH01S20 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01431000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01432000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01433000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01434000
//DSNTRACE DD SYSOUT=* 01435000
//SYSRECE3 DD DISP=SHR, 01436000
// DSN=DSN!!0.SDSNSAMP(DSN8LE3) 01437000
//SYSERR DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01438000
//SYSDISC DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01439000
//SYSMAP DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01440000
//SYSIN DD * 01441000
01442000
LOAD DATA INDDN(SYSRECE3) CONTINUEIF(72:72)='X' 01443000
RESUME YES 01444000
INTO TABLE DSN8!!0.EMP 01445000
PART 3 01446000
REPLACE 01447000
(EMPNO POSITION( 1) CHAR(6), 01448000
FIRSTNME POSITION( 8) VARCHAR, 01449000
MIDINIT POSITION(21) CHAR(1), 01450000
LASTNAME POSITION(23) VARCHAR, 01451000
WORKDEPT POSITION(36) CHAR(3), 01452000
PHONENO POSITION(40) CHAR(4), 01453000
HIREDATE POSITION(45) DATE EXTERNAL, 01454000
JOB POSITION(56) CHAR(8), 01455000
EDLEVEL POSITION(65) INTEGER EXTERNAL(2), 01456000
SEX POSITION(68) CHAR(1), 01457000
BIRTHDATE POSITION(80) DATE EXTERNAL, 01458000
SALARY POSITION(91) INTEGER EXTERNAL(5), 01459000
BONUS POSITION(97) INTEGER EXTERNAL(5), 01460000
COMM POSITION(103) INTEGER EXTERNAL(5)) 01461000
ENFORCE CONSTRAINTS MAPDDN SYSMAP 01462000
SORTDEVT SYSDA SORTNUM 4 01463000
01464000
//* 01465000
//* STEP 21: SET CURRENT RULES THEN ALTER TABLE 01466000
//* 01467000
//PH01S21 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 01468000
//SYSTSPRT DD SYSOUT=* 01469000
//SYSTSIN DD * 01470000
DSN SYSTEM(DSN) 01471000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 01472000
LIB('DSN!!0.RUNLIB.LOAD') 01473000
//SYSPRINT DD SYSOUT=* 01474000
//SYSUDUMP DD SYSOUT=* 01475000
//SYSIN DD * 01476000
SET CURRENT SQLID = 'SYSADM'; 01477000
SET CURRENT RULES = 'DB2'; 01478000
COMMIT; 01479000
ALTER TABLE EMP ADD CONSTRAINT PERSON 01480000
CHECK (SEX = 'M' OR SEX = 'F'); 01481000
COMMIT; 01482000
01483000
//* 01484000
//* STEP 22: CHECK DATA IN PART 3 OF DSN8D!!A.DSN8S!!E 01485000
//* FOR REFERENTIAL INTEGRITY 01486000
//* 01487000
//PH01S22 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01488000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01489000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01490000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01491000
//DSNTRACE DD SYSOUT=* 01492000
//SYSERR DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01493000
//SYSDISC DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01494000
//SYSIN DD * 01495000
01496000
CHECK DATA TABLESPACE DSN8D!!A.DSN8S!!D 01497000
TABLESPACE DSN8D!!A.DSN8S!!E 01498000
TABLESPACE DSN8D!!A.DSN8S!!P 01499000
SCOPE ALL 01500000
DELETE YES 01501000
FOR EXCEPTION IN DSN8!!0.DEPT USE DSN8!!0.EDEPT 01502000
IN DSN8!!0.EMP USE DSN8!!0.EEMP 01503000
IN DSN8!!0.PROJ USE DSN8!!0.EPROJ 01504000
IN DSN8!!0.ACT USE DSN8!!0.EACT 01505000
IN DSN8!!0.PROJACT USE DSN8!!0.EPROJACT 01506000
IN DSN8!!0.EMPPROJACT USE DSN8!!0.EEPA 01507000
EXCEPTIONS 50 01508000
SORTDEVT SYSDA SORTNUM 4 01509000
01510000
//* 01511000
//* STEP 23: ATTEMPT INSERT INTO THE EMP TABLE 01512000
//* 01513000
//PH01S23 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 01514000
//SYSTSPRT DD SYSOUT=* 01515000
//SYSTSIN DD * 01516000
DSN SYSTEM(DSN) 01517000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) PARM('RC0') - 01518000
LIB('DSN!!0.RUNLIB.LOAD') 01519000
//SYSPRINT DD SYSOUT=* 01520000
//SYSUDUMP DD SYSOUT=* 01521000
//SYSIN DD * 01522000
SET CURRENT SQLID = 'SYSADM'; 01523000
01524000
INSERT INTO EMP 01525000
VALUES ('000011', 'CHRISTINE', 'I', 'HAAS', 'A00', 'A1A1', 01526000
'1965-01-01', 'PRES', 18, 'F', '1933-08-14', 01527000
52750, 1000, 4220); 01528000
COMMIT; 01529000
01530000
INSERT INTO EMP 01531000
VALUES ('200011', 'DIANE', 'J', 'HEMMINGER', 'A00', '3978', 01532000
'1965-01-01', 'SALESREP', 18, 'U', '1933-08-14', 01533000
46500, 1000, 4220); 01534000
COMMIT; 01535000
01536000
//* 01537000
//* STEP 24: ESTABLISH A QUIESCE POINT FOR PART 3 01538000
//* OF DSN8D!!A.DSN8S!!E 01539000
//* NOTE: CONDITION CODE 4 INDICATES AN IMAGE COPY 01540000
//* CANNOT BE TAKEN 01541000
//* 01542000
//PH01S24 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01543000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01544000
//SYSIN DD * 01545000
01546000
QUIESCE TABLESPACE DSN8D!!A.DSN8S!!E 01547000
PART 3 01548000
01549000
//* 01550000
//* STEP 25: TAKE IMAGE COPY OF PART 3 OF DSN8D!!A.DSN8S!!E 01551000
//* 01552000
//PH01S25 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01553000
//DSNTRACE DD SYSOUT=* 01554000
//SYSCOPY DD DSN=DSN!!0.DSN8D!!A.DSN8S!!E.PART3, 01555000
// DISP=(NEW,CATLG), 01556000
// UNIT=SYSDA, 01557000
// SPACE=(4000,(20,20)) 01558000
//SYSIN DD * 01559000
01560000
COPY TABLESPACE DSN8D!!A.DSN8S!!E 01561000
DSNUM 3 COPYDDN SYSCOPY 01562000
01563000
//* 01564000
//* STEP 26: ESTABLISH A QUIESCE POINT FOR PART 3 01565000
//* OF DSN8D!!A.DSN8S!!E USING ONLY IMAGE COPY 01566000
//* NOTE: CONDITION CODE 4 INDICATES AN IMAGE COPY 01567000
//* CANNOT BE TAKEN 01568000
//* 01569000
//PH01S26 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01570000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01571000
//SYSIN DD * 01572000
01573000
QUIESCE TABLESPACE DSN8D!!A.DSN8S!!E 01574000
PART 3 01575000
01576000
//* 01577000
//* STEP 27: PRODUCE STATISTICS FOR PART 3 OF 01578000
//* OF DSN8D!!A.DSN8S!!E 01579000
//* 01580000
//PH01S27 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01581000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01582000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01583000
//DSNTRACE DD SYSOUT=* 01584000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND) 01585000
//SYSREC DD UNIT=SYSDA,SPACE=(4000,(200,200),,,ROUND) 01586000
//SYSIN DD * 01587000
01588000
RUNSTATS TABLESPACE DSN8D!!A.DSN8S!!E 01589000
PART 3 01590000
INDEX(ALL) 01591000
01592000
//* 01593000
//* STEP 28: UNLOAD PARTITIONS 1,3, AND 4 01594000
//* OF DSN8D!!A.DSN8S!!E 01595000
//* 01596000
//PH01S28 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01597000
//SYSPRINT DD SYSOUT=* 01598000
//SYSIN DD * 01599000
01600000
LISTDEF DSN8LDUL 01601000
INCLUDE TABLESPACE DSN8D!!A.DSN8S!!E PARTLEVEL 01602000
EXCLUDE TABLESPACE DSN8D!!A.DSN8S!!E PARTLEVEL(2) 01603000
TEMPLATE DSN8TPPU 01604000
DSN(DSN!!0.&DB..&TS..SYSPUNCH) 01605000
DISP(NEW,CATLG,DELETE) 01606000
UNIT SYSDA 01607000
PCTPRIME 100 MAXPRIME 1 NBRSECND 1 01608000
TEMPLATE DSN8TPSY 01609000
DSN(DSN!!0.&DB..&TS..P&PART.) 01610000
DISP(NEW,CATLG,DELETE) 01611000
UNIT SYSDA 01612000
PCTPRIME 100 MAXPRIME 5 NBRSECND 10 01613000
UNLOAD LIST DSN8LDUL 01614000
PUNCHDDN(DSN8TPPU) 01615000
UNLDDN(DSN8TPSY) 01616000
EBCDIC 01617000
NOPAD 01618000
01619000
//* 01620000
//* STEP 29: REDUCE THE PARTITIONING KEY ON PARTITION 4 OF 01621000
//* TABLESPACE DSN8S!!E 01622000
//* 01623000
//PH01S29 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 01624000
//SYSTSPRT DD SYSOUT=* 01625000
//SYSTSIN DD * 01626000
DSN SYSTEM(DSN) 01627000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 01628000
LIB('DSN!!0.RUNLIB.LOAD') 01629000
//SYSPRINT DD SYSOUT=* 01630000
//SYSUDUMP DD SYSOUT=* 01631000
//SYSIN DD * 01632000
SET CURRENT SQLID = 'SYSADM'; 01633000
01634000
ALTER TABLE DSN8!!0.EMP ALTER PART 4 VALUES('499999'); 01635000
01636000
//* 01637000
//* STEP 30: REORGANIZE TABLESPACE DSN8D!!A.DSN8S!!E 01638000
//* 01639000
//PH01S30 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01640000
//SYSLISTD DD DISP=SHR,DSN=DSN!!0.DSN8.LISTDEF 01641000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01642000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01643000
//DSNTRACE DD SYSOUT=* 01644000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND) 01645000
//SYSREC DD UNIT=SYSDA,SPACE=(4000,(200,200),,,ROUND) 01646000
//SYSIN DD * 01647000
01648000
TEMPLATE DSN8TPPU 01649000
DSN(DSN!!0.&DB..&TS..REORGPUN) 01650000
DISP(NEW,CATLG,DELETE) 01651000
UNIT SYSDA 01652000
PCTPRIME 100 MAXPRIME 1 NBRSECND 1 01653000
TEMPLATE DSN8TPCY 01654000
DSN(DSN!!0.&DB..&TS..REORGCPY) 01655000
DISP(NEW,CATLG,DELETE) 01656000
UNIT SYSDA 01657000
PCTPRIME 100 MAXPRIME 1 NBRSECND 1 01658000
TEMPLATE DSN8TPDS 01659000
DSN(DSN!!0.&DB..&TS..REORGDSC) 01660000
DISP(NEW,CATLG,DELETE) 01661000
UNIT SYSDA 01662000
PCTPRIME 100 MAXPRIME 1 NBRSECND 1 01663000
REORG TABLESPACE DSN8D!!A.DSN8S!!E 01664000
SHRLEVEL REFERENCE 01665000
PART 1:4 01666000
PUNCHDDN(DSN8TPPU) 01667000
COPYDDN(DSN8TPCY) 01668000
DISCARDDN(DSN8TPDS) 01669000
SORTDEVT SYSDA SORTNUM 4 01670000
01671000
//* 01672000
//* STEP 31: ADD A FIFTH PARTITION TO 01673000
//* TABLESPACE DSN8S!!E 01674000
//* 01675000
//PH01S31 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 01676000
//SYSTSPRT DD SYSOUT=* 01677000
//SYSTSIN DD * 01678000
DSN SYSTEM(DSN) 01679000
-STOP DB(DSN8D!!A) SPACENAM(*) 01680000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 01681000
LIB('DSN!!0.RUNLIB.LOAD') 01682000
-START DB(DSN8D!!A) SPACENAM(*) 01683000
//SYSPRINT DD SYSOUT=* 01684000
//SYSUDUMP DD SYSOUT=* 01685000
//SYSIN DD * 01686000
SET CURRENT SQLID = 'SYSADM'; 01687000
01688000
ALTER TABLE DSN8!!0.EMP ADD PARTITION ENDING AT('999999'); 01689000
01690000
//* 01691000
//* STEP 32: EXTEND THE LENGTH OF A FIXED CHAR 01692000
//* COLUMN IN THE PARTS TABLE. ALSO 01693000
//* CONVERT A SMALL INTEGER FIELD TO 01694000
//* A DECIMAL TYPE FIELD OF EEMP TABLE. 01695000
//* 01696000
//PH01S32 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) 01697000
//SYSTSPRT DD SYSOUT=* 01698000
//SYSTSIN DD * 01699000
DSN SYSTEM(DSN) 01700000
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) - 01701000
LIB('DSN!!0.RUNLIB.LOAD') 01702000
//SYSPRINT DD SYSOUT=* 01703000
//SYSUDUMP DD SYSOUT=* 01704000
//SYSIN DD * 01705000
SET CURRENT SQLID = 'SYSADM'; 01706000
01707000
ALTER TABLE DSN8!!0.PARTS ALTER COLUMN ITEMNUM 01708000
SET DATA TYPE VARCHAR(10); 01709000
01710000
ALTER TABLE DSN8!!0.EEMP ALTER COLUMN EDLEVEL 01711000
SET DATA TYPE DECIMAL(5, 0); 01712000
01713000
//* 01714000
//* STEP 33: REORGANIZE TABLESPACE DSN8D!!A.DSN8S!!R AND 01715000
//* DSN8D!!A.DSN8S!!S TO RESET REORG-PENDING STATUS 01716000
//* 01717000
//PH01S33 EXEC DSNUPROC,PARM='DSN,DSNTEX',COND=(4,LT) 01718000
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR 01719000
//SORTOUT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) 01720000
//DSNTRACE DD SYSOUT=* 01721000
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND) 01722000
//SYSREC DD UNIT=SYSDA,SPACE=(4000,(200,200),,,ROUND) 01723000
//SYSIN DD * 01724000
01725000
REORG TABLESPACE DSN8D!!A.DSN8S!!R 01726000
SORTDEVT SYSDA SORTNUM 4 01727000
01728000
REORG TABLESPACE DSN8D!!A.DSN8S!!S 01729000
SORTDEVT SYSDA SORTNUM 4 01730000
01731000
//* 01732000