Reorganization of modeled databases proceeds in much the same manner as a DASDL update. The following WFL job performs the reorganization for the LIVEDB and TESTDB databases by increasing the length of Z in data set Q from 12 to 20 characters:
?BEGIN JOB REORGANIZE/BOTHDBS; % % REORGANIZE LIVEDB % COMPILE LIVEDB WITH DASDL; COMPILER DATA UPDATE; OPTIONS (AUDIT); D DATA SET (K NUMBER(6)) AREAS = 100; S SET OF D KEY K; Q DATA SET (Z ALPHA(20)) PACK = TESTPACK; AUDIT TRAIL (KIND = TAPE, DUPLICATED ON TAPE); ?%----- END LIVEDB DASDL ----- RUN SYSTEM/BUILDREORG; FILE DASDL (TITLE = DESCRIPTION/LIVEDB); DATA CARD $ NOZIP UPDATE; ?%----- END BUILDREORG INPUT ----- COMPILE REORGANIZATION/LIVEDB WITH DMALGOL LIBRARY; COMPILER FILE CARD (KIND = DISK, TITLE = DATABASE/REORGSYMBOLIC); COMPILER FILE DASDL (TITLE = DESCRIPTION/REORGANIZATION/LIVEDB); RUN REORGANIZATION/LIVEDB; % REORGANIZE TESTDB COMPILE TESTDB WITH DASDL; COMPILER DATA MODEL LIVEDB; UPDATE; OPTIONS (AUDIT); CONTROL FILE (PACK = TESTPACK); D DATA SET (K NUMBER(6)) PACK = TESTPACK; S SET OF D KEY K PACK = TESTPACK; Q DATA SET (Z ALPHA(20)) PACK = TESTPACK; ?%----- END TESTDB DASDL ----- RUN SYSTEM/BUILDREORG; FILE DASDL (TITLE = DESCRIPTION/TESTDB); DATA CARD $ NOZIP UPDATE; ?%-----END BUILDREORG INPUT ----- COMPILE REORGANIZATION/TESTDB WITH DMALGOL LIBRARY; COMPILER FILE CARD (KIND = DISK, TITLE = DATABASE/REORGSYMBOLIC); COMPILER FILE DASDL (TITLE = DESCRIPTION/REORGANIZATION/TESTDB); RUN REORGANIZATION/TESTDB; ?END JOB.
Figure 15–2 illustrates the reorganization process performed by the previous WFL job.
The reorganization information from the n+2 description file of the LIVEDB database was copied in the n+2 description file of the TESTDB database by the DASDL compiler during the modeling operation. When a MODEL option is present, the DASDL compiler generates a syntax error for any Reorganization cards found in the DASDL source.