Control Center Operations Guide for VSE


Appendix A. Reorganization Job Streams

Figure 55. DBSPACE Reorg Option 2 (Unload DBSPACE) - Sample Jobstream

* $$ JOB JNM=DBUNLOAD,CLASS=0,DISP=D                                   
* $$ LST PRI=3                                                         
// JOB DBUNLOAD MUM UNLOAD DBSPACE TO DISK                             
// OPTION LOG                                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0001 RECORD TIME BEFORE DDL GENERATION                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                 
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                  
// ASSGN SYS005,SYSRDR                                                 
// ASSGN SYS011,SYSLST                                                 
// EXEC SQB02,SIZE=AUTO                                                
%%SQLDS710          PUBLIC  SQMHELP           2NN1                     
/*                                                                     
// IF $RC > 0000 THEN                                                  
// GOTO $EOJ                                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0002 UNLOAD DDL                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT        
// DLBL SQMDDL,'L.SQLDS710.PUBLIC.SQMHELP',0,VSAM,                     X  
               RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT       
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// EXEC SQB01,SIZE=AUTO                                                   
%%SQLDS710          PUBLIC  SQMHELP           2 N                         
/*                                                                        
// IF $RC > 0000 THEN                                                     
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0003 UNLOAD DBSPACE                                                 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                            
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'                          
READ MEMBER SQMCONN.C NOCONT                                              
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SQMHELP" *****'                   
SET UPDATE STATISTICS OFF;                                                
UNLOAD DBSPACE ("PUBLIC"."SQMHELP")                                       
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))                                  
/*                                                                     
// IF $RC > 0000 THEN                                                  
// GOTO $EOJ                                                                  
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0004 RECORD TIME AFTER UNLOAD                                    
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                 
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                  
// ASSGN SYS005,SYSRDR                                                 
// ASSGN SYS011,SYSLST                                                 
// EXEC SQB02,SIZE=AUTO                                                
%%SQLDS710          PUBLIC  SQMHELP           2NN2                     
/*                                                                     
// IF $RC > 0000 THEN                                                  
// GOTO $EOJ                                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0005 REPRO SAM DATA TO VSAM                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                              
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                         
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                  
 // DLBL SQMDAT,'D.SQLDS710.PUBLIC.SQMHELP',0,VSAM,                     X 
                RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT    
 // EXEC IDCAMS,SIZE=AUTO                                                 
    REPRO INFILE(SQMDAT1  -                                               
                 ENV(RECFM(SB) -                                          
                     BLKSZ(2048) -                                        
                     RECSZ(8240))) -                                      
         OUTFILE(SQMDAT  -                                                
                 ENV(RECFM(VB) -                                          
                     BLKSZ(8248) -                                        
                     RECSZ(8240)))                                        
 /*                                                                       
 /&                                                                  

Figure 56. DBSPACE Reorg Option 3 (Reorganize DBSPACE) - Sample Jobstream

* $$ JOB JNM=DBREORG,CLASS=0,DISP=D                                    
* $$ LST PRI=3                                                         
// JOB DBREORG MUM REORG DBSPACE - DISK                                
// OPTION LOG                                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0001 RECORD TIME BEFORE DDL GENERATION                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                 
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                  
// ASSGN SYS005,SYSRDR                                                 
// ASSGN SYS011,SYSLST                                                 
// EXEC SQB02,SIZE=AUTO                                                
%%SQLDS710          PUBLIC  SQMHELP           3NN1                     
/*                                                                     
// IF $RC > 0000 THEN                                                  
// GOTO $EOJ                                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0002 UNLOAD DDL                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMDDL,'L.SQLDS710.PUBLIC.SQMHELP',0,VSAM,                     X  
               RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT       
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// EXEC SQB01,SIZE=AUTO                                                   
%%SQLDS710          PUBLIC  SQMHELP           3NN                         
/*                                                                        
// IF $RC > 0000 THEN                                                     
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0003 UNLOAD DBSPACE                                                 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                            
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'                          
READ MEMBER SQMCONN.C NOCONT                                              
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SQMHELP" *****'                   
SET UPDATE STATISTICS OFF;                                                
UNLOAD DBSPACE ("PUBLIC"."SQMHELP")   
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))                                 
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0004 RECORD TIME AFTER UNLOAD                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                   
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                    
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// EXEC SQB02,SIZE=AUTO                                                  
%%SQLDS710          PUBLIC  SQMHELP           3NN2                       
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                             
    
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0005 REPRO VSAM DDL TO SAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL VSAMIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM,                      X 
               CAT=SQMCAT,DISP=(OLD,KEEP)                                
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD                              
// EXTENT SYS008,'VSEPK3',1,0,0000445488,00600                        
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR                                 
// EXEC IDCAMS,SIZE=AUTO                                              
   REPRO INFILE(VSAMIN ) -                                            
        OUTFILE(SQMDDL1 -                                             
                ENV(RECFM(F ) -                                       
                    BLKSZ(0080) -                                     
                    RECSZ(0080)))                                     
   IF LASTCC > 0000 -                                                 
        THEN CANCEL JOB                                               
/*                                                                    
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* STEP0006 RECORD TIME BEFORE RELOAD                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                 
// ASSGN SYS005,SYSRDR                                                
// ASSGN SYS011,SYSLST                                                
// EXEC SQB02,SIZE=AUTO                                               
%%SQLDS710          PUBLIC  SQMHELP           3NN3                    
/*                                                                    
// IF $RC > 0000 THEN                                                 
// GOTO $EOJ             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* STEP0007 RELOAD DBSPACE                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                             
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                        
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                 
// ASSGN SYS004,SYS005                                                
// ASSGN SYS020,SYSIPT                                                
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD                              
// EXTENT SYSIPT,'VSEPK3',1,0,0000445488,00600                        
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR                                    
// ON $ABEND GOTO CLOSEIPT                                            
// ON $CANCEL GOTO CLOSEIPT                                           
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'                      
/*                                                                    
// IF $RC > 0006 THEN                                                 
// GOTO CLOSEIPT                                                      
CLOSE SYSIPT,SYS020         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0008 RECORD TIME AFTER RELOAD                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                   
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                    
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// EXEC SQB02,SIZE=AUTO                                                  
%%SQLDS710          PUBLIC  SQMHELP           3NN4                       
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                             
   
 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0009 DELETE VSAM DDL FILE                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// ASSGN SYSLST,IGN                                                      
// DLBL FILEIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM,                      X 
               CAT=SQMCAT,DISP=(OLD,DELETE)                              
// EXEC IDCAMS,SIZE=AUTO                                                 
   PRINT INFILE(FILEIN) -                                                
        COUNT(1)                                                         
/*                                                                       
// RESET SYSLST                                                          
// GOTO THEEND                                                           
/. CLOSEIPT                                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0010 CLOSE SYSIPT                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
CLOSE SYSIPT,SYS020                                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0011 REPRO SAM DATA TO VSAM                                        
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                           
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                    
// DLBL SQMDAT,'D.SQLDS710.PUBLIC.SQMHELP',0,VSAM,                     X 
               RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT    
// EXEC IDCAMS,SIZE=AUTO                                                 
   REPRO INFILE(SQMDAT1  -                                               
                ENV(RECFM(SB) -                                          
                    BLKSZ(2048) -                                        
                    RECSZ(8240))) -                                      
        OUTFILE(SQMDAT  -                                             
                ENV(RECFM(VB) -                                       
                    BLKSZ(8248) -                                     
                    RECSZ(8240)))                                     
   IF LASTCC > 0000 -                                                 
        THEN CANCEL JOB                                               
/*                                                                    
// GOTO $EOJ                                                          
/. THEEND                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* STEP0012 THE END                                                    
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
/*                                                                    
/&                                                                    

Figure 57. DBSPACE Reorg Option 4 (Reload DBSPACE) - Sample Jobstream

* $$ JOB JNM=RELOAD,CLASS=0,DISP=D,NTFY=YES
* $$ LST PRI=3
// JOB RELOAD MUM RELOAD DBSPACE FROM DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 CHECK FOR DATA FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'D.SQLDS710.PUBLIC.SQMHELP',,VSAM,                    X
               CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
   PRINT INFILE(FILEIN) -
        COUNT(1)
/*
// IF $RC > 0000 THEN
// GOTO NODAT
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 CHECK FOR DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM,                    X
               CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
   PRINT INFILE(FILEIN) -
        COUNT(1)
/*
// IF $RC > 0000 THEN
// GOTO NODDL
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 REPRO VSAM DATA TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'D.SQLDS710.PUBLIC.SQMHELP',,VSAM,                    X
               CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,SYS302,1,0,02985,150
// ASSGN SYS007,DISK,VOL=SYS302,SHR
// EXEC IDCAMS,SIZE=AUTO
   REPRO INFILE(VSAMIN   -
                ENV(RECFM(VB) -
                    BLKSZ(8248) -
                    RECSZ(8240))) -
        OUTFILE(SQMDAT1 -
                ENV(RECFM(SB) -
                    BLKSZ(2048) -
                    RECSZ(8240)))
   IF LASTCC > 0000 -
        THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 RECORD TIME BEFORE RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710             PUBLIC  SQMHELP           4NN3
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 REPRO VSAM DDL TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM,                    X
               CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYS008,SYS302,1,0,03835,100
// ASSGN SYS008,DISK,VOL=SYS302,SHR
// EXEC IDCAMS,SIZE=AUTO
   REPRO INFILE(VSAMIN ) -
        OUTFILE(SQMDDL1 -
                ENV(RECFM(F ) -
                    BLKSZ(0080) -
                    RECSZ(0080)))
   IF LASTCC > 0000 -
        THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0006 RELOAD DBSPACE 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,SYS302,1,0,02985,150
// ASSGN SYS007,DISK,VOL=SYS302,SHR
// ASSGN SYS006,SYS007
// ASSGN SYS020,SYSIPT
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYSIPT,SYS302,1,0,03835,100
ASSGN SYSIPT,DISK,VOL=SYS302,SHR
// ON $ABEND GOTO CLOSEIPT
// ON $CANCEL GOTO CLOSIPT
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'
/*
// IF $RC > 0000 THEN
// GOTO CLOSEIPT
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0007 RECORD TIME AFTER RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710             PUBLIC  SQMHELP           4NN4
/*
// GOTO THEEND
/. CLOSEIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0008 CLOSE SYSIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLOSE SYSIPT,SYS020
// GOTO $EOJ
/. NODAT
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0009 NO DATA FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RELOAD ABORTED: MISSING FILE = D.SQLDS710.PUBLIC.SQMHELP
// GOTO $EOJ
/. NODDL
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0010 NO DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RELOAD ABORTED: MISSING FILE = L.SQLDS710.PUBLIC.SQMHELP
/. THEEND
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0011 THE END
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
/&

Figure 58. Sample Single User Mode DBSPACE Reorganization Jobstream

* $$ JOB JNM=SUMREORG,CLASS=A,DISP=H,PRI=3                                
* $$ LST PRI=3                                                            
// JOB SUMREORG SUM REORG DBSPACE - DISK                                  
// OPTION LOG                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0001 RECORD TIME BEFORE DDL GENERATION                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                     
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// ON $RC = 4095 CONTINUE                                                 
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX  
               NAME=SQB02,NDIRBUF=000010,NPAGBUF=000010'                  
%%SQLDBA            PUBLIC  SAMPLE            3NY1                        
/*                                                                        
// IF $RC > 0000 AND $RC < 4095 THEN                                      
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0002 UNLOAD DDL                                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMDDL,'L.SQLDBA.PUBLIC.SAMPLE',0,VSAM,                        X  
               RECORDS=000500,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT       
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// ON $RC = 4095 CONTINUE                                                 
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX  
               NAME=SQB01,NDIRBUF=000010,NPAGBUF=000010'                  
%%SQLDBA            PUBLIC  SAMPLE            3NY                         
/*                                                                        
// IF $RC > 0000 AND $RC < 4095 THEN                                      
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0003 UNLOAD DBSPACE                                                 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                            
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX  
               NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000010'                 
READ MEMBER SQMCONN.C NOCONT                                              
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SAMPLE" *****'                    
SET UPDATE STATISTICS OFF;                                                
UNLOAD DBSPACE ("PUBLIC"."SAMPLE")                                        
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))                                  
/*                                                                        
// IF $RC > 0000 AND $RC < 4095 THEN                                      
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0004 RECORD TIME AFTER UNLOAD                                       
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                     
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// EXEC SQB02,SIZE=AUTO                                                   
%%SQLDBA            PUBLIC  SAMPLE            3NY2                        
/*                                                                        
// IF $RC > 0000 THEN                                                     
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0005 REPRO VSAM DDL TO SAM                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL VSAMIN,'L.SQLDBA.PUBLIC.SAMPLE',,VSAM,                         X 
               CAT=SQMCAT,DISP=(OLD,KEEP)                                
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD                                 
// EXTENT SYS008,'VSEPK3',1,0,0000445488,00600                           
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR                                    
// EXEC IDCAMS,SIZE=AUTO                                                 
   REPRO INFILE(VSAMIN ) -                                               
        OUTFILE(SQMDDL1 -                                                
                ENV(RECFM(F ) -                                          
                    BLKSZ(0080) -                                        
                    RECSZ(0080)))                                        
   IF LASTCC > 0000 -                                                    
        THEN CANCEL JOB                                                  
/*                                   
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0006 RECORD TIME BEFORE RELOAD                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                   
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                    
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// EXEC SQB02,SIZE=AUTO                                                  
%%SQLDBA            PUBLIC  SAMPLE            3NY3                       
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ     
                                    
 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0007 RELOAD DBSPACE                                                
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                           
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                    
// ASSGN SYS004,SYS005                                                   
// ASSGN SYS020,SYSIPT                                                   
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD                                 
// EXTENT SYSIPT,'VSEPK3',1,0,0000445488,00600                           
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR                                       
// ON $ABEND GOTO CLOSEIPT                                               
// ON $CANCEL GOTO CLOSEIPT                                              
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX 
               NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000010'                
/*                                                                       
// IF $RC > 0006 AND $RC < 4095 THEN                                     
// GOTO CLOSEIPT                                                         
CLOSE SYSIPT,SYS020                                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0008 RECORD TIME AFTER RELOAD                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                   
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                    
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// ON $RC = 4095 CONTINUE                                                
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX 
               NAME=SQB02,NDIRBUF=000010,NPAGBUF=000010'                 
%%SQLDBA            PUBLIC  SAMPLE            3NY4                       
/*                                                                       
// IF $RC > 0000 AND $RC < 4095 THEN                                     
// GOTO $EOJ          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0009 DELETE VSAM DDL FILE                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// ASSGN SYSLST,IGN                                                       
// DLBL FILEIN,'L.SQLDBA.PUBLIC.SAMPLE',,VSAM,                         X  
               CAT=SQMCAT,DISP=(OLD,DELETE)                               
// EXEC IDCAMS,SIZE=AUTO                                                  
   PRINT INFILE(FILEIN) -                                                 
        COUNT(1)                                                                                
/*                                                                        
// RESET SYSLST                                                           
// GOTO THEEND                                                            
/. CLOSEIPT                                                               
                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0010 CLOSE SYSIPT                                                   
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
CLOSE SYSIPT,SYS020  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0011 REPRO SAM DATA TO VSAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000                            
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
// DLBL SQMDAT,'D.SQLDBA.PUBLIC.SAMPLE',0,VSAM,                        X  
               RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT  
// EXEC IDCAMS,SIZE=AUTO                                               
   REPRO INFILE(SQMDAT1  -                                             
                ENV(RECFM(SB) -                                        
                    BLKSZ(2048) -                                      
                    RECSZ(8240))) -                                    
        OUTFILE(SQMDAT  -                                              
                ENV(RECFM(VB) -                                        
                    BLKSZ(8248) -                                      
                    RECSZ(8240)))                                      
   IF LASTCC > 0000 -                                                  
        THEN CANCEL JOB                                                
/*                                                                     
// GOTO $EOJ                                                           
/. THEEND                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0012 THE END                                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
/*                                    
/&                                                                      
* $$ EOJ                                                                 

Figure 59. Sample Single User Mode DBSPACE Reorganization using Tape

$ $$ JOB JNM=TAPREORG,CLASS=0,DISP=D,PRI=9                                
* $$ LST PRI=3                                                            
// JOB TAPREORG SUM REORG DBSPACE - DISK                                  
// OPTION LOG                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0001 RECORD TIME BEFORE DDL GENERATION                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// TLBL ARIARCH                                                           
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                     
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// ON $RC = 4095 CONTINUE                                                 
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX  
               NAME=SQB02,NDIRBUF=000010,NPAGBUF=000015'                  
%%DB2710            PUBLIC  SAMPLE            3NY1                        
/*                                                                        
// IF $RC > 0000 AND $RC < 4095 THEN                                      
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0002 UNLOAD DDL                                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// TLBL ARIARCH                                                           
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMDDL,'L.DB2710.PUBLIC.SAMPLE',0,VSAM,                        X  
               RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT       
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// ON $RC = 4095 CONTINUE                                                 
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX  
               NAME=SQB01,NDIRBUF=000010,NPAGBUF=000015'                  
%%DB2710            PUBLIC  SAMPLE            3NY                         
/*                                                                        
// IF $RC > 0000 AND $RC < 4095 THEN                                      
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0003 UNLOAD DBSPACE                                                 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// TLBL ARIARCH                                                           
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                            
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                    
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX   
               NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000015'                  
READ MEMBER SQMCONN.C NOCONT                                               
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SAMPLE" *****'                     
SET UPDATE STATISTICS OFF;                                                 
UNLOAD DBSPACE ("PUBLIC"."SAMPLE")                                         
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))                                   
/*                                                                         
// IF $RC > 0000 AND $RC < 4095 THEN                                       
// GOTO $EOJ                                                               
                
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      
* STEP0004 RECORD TIME AFTER UNLOAD                                        
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                     
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                      
// ASSGN SYS005,SYSRDR                                                     
// ASSGN SYS011,SYSLST                                                     
// EXEC SQB02,SIZE=AUTO                                                    
%%DB2710            PUBLIC  SAMPLE            3NY2                         
/*                                                                         
// IF $RC > 0000 THEN                                                      
// GOTO $EOJ                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0005 REPRO VSAM DDL TO SAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL VSAMIN,'L.DB2710.PUBLIC.SAMPLE',,VSAM,                         X 
               CAT=SQMCAT,DISP=(OLD,KEEP)                                
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD                                 
// EXTENT SYS008,'VSEPK3',1,0,0000239238,00900                           
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR                                    
// EXEC IDCAMS,SIZE=AUTO                                                 
   REPRO INFILE(VSAMIN ) -                                               
        OUTFILE(SQMDDL1 -                                                
                ENV(RECFM(F ) -                                          
                    BLKSZ(0080) -                                        
                    RECSZ(0080)))                                        
   IF LASTCC > 0000 -                                                    
        THEN CANCEL JOB                                                  
/*                                                                       
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0006 RECORD TIME BEFORE RELOAD                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                   
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                    
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// EXEC SQB02,SIZE=AUTO                                                  
%%DB2710            PUBLIC  SAMPLE            3NY3                       
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0007 RELOAD DBSPACE                                                
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// TLBL ARIARCH                                                          
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                           
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                    
// ASSGN SYS004,SYS005                                                   
// ASSGN SYS020,SYSIPT                                                   
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD                                 
// EXTENT SYSIPT,'VSEPK3',1,0,0000239238,00900                           
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR                                       
// ON $ABEND GOTO CLOSEIPT                                                 
// ON $CANCEL GOTO CLOSEIPT                                                
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX   
               NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000015'                  
/*                                                                         
// IF $RC > 0006 AND $RC < 4095 THEN                                       
// GOTO CLOSEIPT                                                           
CLOSE SYSIPT,SYS020                                                        
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      
* STEP0008 RECORD TIME AFTER RELOAD                                        
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      
// TLBL ARIARCH                                                            
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT                     
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT                      
// ASSGN SYS005,SYSRDR                                                     
// ASSGN SYS011,SYSLST                                                     
// ON $RC = 4095 CONTINUE                                                  
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX   
               NAME=SQB02,NDIRBUF=000010,NPAGBUF=000015'                   
%%DB2710            PUBLIC  SAMPLE            3NY4                         
/*                                                                         
// IF $RC > 0000 AND $RC < 4095 THEN                                      
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0009 DELETE VSAM DDL FILE                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// ASSGN SYSLST,IGN                                                       
// DLBL FILEIN,'L.DB2710.PUBLIC.SAMPLE',,VSAM,                         X  
               CAT=SQMCAT,DISP=(OLD,DELETE)                               
// EXEC IDCAMS,SIZE=AUTO                                                  
   PRINT INFILE(FILEIN) -                                                 
        COUNT(1)                                                          
/*                                                                        
// RESET SYSLST                                                           
// GOTO THEEND                                                            
/. CLOSEIPT                                                               
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0010 CLOSE SYSIPT                                                   
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
CLOSE SYSIPT,SYS020                                                       
 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0011 REPRO SAM DATA TO VSAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                           
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                    
// DLBL SQMDAT,'D.DB2710.PUBLIC.SAMPLE',0,VSAM,                        X 
               RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT    
// EXEC IDCAMS,SIZE=AUTO                                                 
 REPRO INFILE(SQMDAT1  -                                                 
              ENV(RECFM(SB) -                                            
                  BLKSZ(2048) -                                          
                  RECSZ(8240))) -                                        
      OUTFILE(SQMDAT  -                                                  
              ENV(RECFM(VB) -                                            
                  BLKSZ(8248) -                                          
                  RECSZ(8240)))                                          
 IF LASTCC > 0000 -                                                      
      THEN CANCEL JOB                                                    
                                                                         
 GOTO $EOJ                                                               
 THEEND                                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      
STEP0012 THE END                                                       
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    

Figure 60. TABLE Reorg Option 2 (Unload TABLE) - Sample Jobstream

* $$ JOB JNM=TBUNLOAD,DISP=D                                              
* $$ LST CLASS=A,PRI=3                                                    
// JOB TBUNLOAD  UNLOAD TABLE "EXAMPLE"."ROUTINE" - DISK                  
// OPTION LOG                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0001 UNLOAD DDL                                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL SQMTPRM,'SQLMSTR.TABLE.PARMS',,VSAM,CAT=SQMCAT                    
// DLBL SQMDDL,'L.DB2710.EXAMPLE.ROUTINE',0,VSAM,                      X  
               RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT       
// ASSGN SYS005,SYSRDR                                                    
// ASSGN SYS011,SYSLST                                                    
// EXEC SQB60,SIZE=AUTO                                                   
%%DB2710            EXAMPLE ROUTINE           2 N                         
/*                                                                        
// IF $RC > 0000 THEN                                                     
// GOTO $EOJ                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0002 UNLOAD TABLE                                                   
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
 // DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
 // EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                            
 // ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
 // EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(DB2710)'                            
 READ MEMBER SQMCONN.C NOCONT                                              
 COMMENT '***** UNLOAD TABLE "EXAMPLE"."ROUTINE" *****'                    
 SET UPDATE STATISTICS OFF;                                                
 UNLOAD TABLE ("EXAMPLE"."ROUTINE")                                        
 OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))                                  
 /*                                                                        
 // IF $RC > 0000 THEN                                                     
 // GOTO $EOJ                                                              
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
 * STEP0003 REPRO SAM DATA TO VSAM                                         
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
 // DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
 // EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                            
 // ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
 // DLBL SQMDAT,'D.DB2710.EXAMPLE.ROUTINE',0,VSAM,                      X  
                RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT     
 // EXEC IDCAMS,SIZE=AUTO                                                  
   REPRO INFILE(SQMDAT1  -            
                ENV(RECFM(SB) -       
                    BLKSZ(2048) -     
                    RECSZ(8240))) -   
        OUTFILE(SQMDAT  -             
                ENV(RECFM(VB) -       
                    BLKSZ(8248) -     
                    RECSZ(8240)))     
/*                                    
/&                                 

Figure 61. TABLE Reorg Option 3 (Reorganize TABLE) - Sample Jobstream

* $$ JOB JNM=TBREORG,CLASS=0,DISP=D                                      
* $$ LST CLASS=A,PRI=3                                                   
// JOB TBREORG REORG TABLE "EXAMPLE"."ROUTINE" - DISK                    
// OPTION LOG                                                            
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0001 UNLOAD DDL                                                    
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMTPRM,'SQLMSTR.TABLE.PARMS',,VSAM,CAT=SQMCAT                   
// DLBL SQMDDL,'L.DB2710.EXAMPLE.ROUTINE',0,VSAM,                      X 
               RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT      
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// EXEC SQB60,SIZE=AUTO                                                  
%%DB2710            EXAMPLE ROUTINE           3NN                        
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                             
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0002 UNLOAD TABLE                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                  
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                           
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                    
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(DB2710)'                           
READ MEMBER SQMCONN.C NOCONT                                             
COMMENT '***** UNLOAD TABLE "EXAMPLE"."ROUTINE" *****'                   
SET UPDATE STATISTICS OFF;                                               
UNLOAD TABLE ("EXAMPLE"."ROUTINE")                                       
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))                                 
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0003 REPRO VSAM DDL TO SAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL VSAMIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM,                       X 
               CAT=SQMCAT,DISP=(OLD,KEEP)                                
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD                                 
// EXTENT SYS008,'VSEPK3',1,0,0000239238,00900                           
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR                                    
// EXEC IDCAMS,SIZE=AUTO                                                 
   REPRO INFILE(VSAMIN ) - 
        OUTFILE(SQMDDL1 -                                               
                ENV(RECFM(F ) -                                         
                    BLKSZ(0080) -                                       
                    RECSZ(0080)))                                       
   IF LASTCC > 0000 -                                                   
        THEN CANCEL JOB                                                 
/*                                                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
* STEP0004 RELOAD TABLE                                                 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                               
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                          
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                   
// ASSGN SYS004,SYS005                                                  
// ASSGN SYS020,SYSIPT                                                  
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD                                
// EXTENT SYSIPT,'VSEPK3',1,0,0000239238,00900                          
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR                                      
// ON $ABEND GOTO CLOSEIPT                                              
// ON $CANCEL GOTO CLOSEIPT                                             
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME()'       
/*                                                                       
// IF $RC > 0006 THEN                                                    
// GOTO CLOSEIPT                                                         
CLOSE SYSIPT,SYS020                                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0005 DELETE PARAMETER RECORD                                       
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMTPRM,'SQLMSTR.TABLE.PARMS',,VSAM,CAT=SQMCAT                   
// ASSGN SYS005,SYSRDR                                                   
// ASSGN SYS011,SYSLST                                                   
// EXEC SQB62,SIZE=AUTO                                                  
%%DB2710            EXAMPLE ROUTINE            NN                        
/*                                                                       
// IF $RC > 0000 THEN                                                    
// GOTO $EOJ                                                                                                                                   
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0006 DELETE VSAM DDL FILE                                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// ASSGN SYSLST,IGN                                                      
// DLBL FILEIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM,                       X 
               CAT=SQMCAT,DISP=(OLD,DELETE)                              
// EXEC IDCAMS,SIZE=AUTO                                                 
   PRINT INFILE(FILEIN) -                                                
        COUNT(1)                                                         
/*                                                                       
// RESET SYSLST                                                          
// GOTO THEEND                                                           
/. CLOSEIPT                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0007 CLOSE SYSIPT                                                  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
CLOSE SYSIPT,SYS020                                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0008 REPRO SAM DATA TO VSAM                                        
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                           
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                    
// DLBL SQMDAT,'D.DB2710.EXAMPLE.ROUTINE',0,VSAM,                      X 
               RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT    
// EXEC IDCAMS,SIZE=AUTO                                                 
   REPRO INFILE(SQMDAT1  - 
                ENV(RECFM(SB) -                                        
                    BLKSZ(2048) -                                      
                    RECSZ(8240))) -                                    
        OUTFILE(SQMDAT  -                                              
                ENV(RECFM(VB) -                                        
                    BLKSZ(8248) -                                      
                    RECSZ(8240)))                                      
   IF LASTCC > 0000 -                                                  
        THEN CANCEL JOB                                                
/*                                                                     
// GOTO $EOJ                                                           
/. THEEND                                                              
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0009 THE END                                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
/*                                                                     
/&

Figure 62. TABLE Reorg Option 4 (Reload TABLE) - Sample Jobstream

 * $$ JOB JNM=TBREORG,CLASS=0,DISP=D                                     
 * $$ LST CLASS=A,PRI=3                                                  
 // JOB TBREORG   RELOAD TABLE "EXAMPLE"."ROUTINE" - DISK                
 // OPTION LOG                                                           
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
 * STEP0001 CHECK FOR DATA FILE                                          
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
 // ASSGN SYSLST,IGN                                                     
 // DLBL FILEIN,'D.DB2710.EXAMPLE.ROUTINE',,VSAM,                       X
                CAT=SQMCAT                                               
 // EXEC IDCAMS,SIZE=AUTO                                                
    PRINT INFILE(FILEIN) -                                               
         COUNT(1)                                                        
 /*                                                                      
 // IF $RC > 0000 THEN                                                   
 // GOTO NODAT                                                           
 // RESET SYSLST                                                         
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
 * STEP0002 CHECK FOR DDL FILE                                           
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
 // ASSGN SYSLST,IGN                                                     
// DLBL FILEIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM,                       X  
               CAT=SQMCAT                                                 
// EXEC IDCAMS,SIZE=AUTO                                                  
   PRINT INFILE(FILEIN) -                                                 
        COUNT(1)                                                          
/*                                                                        
// IF $RC > 0000 THEN                                                     
// GOTO NODDL                                                             
// RESET SYSLST                                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
* STEP0003 REPRO VSAM DATA TO SAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *     
// DLBL VSAMIN,'D.DB2710.EXAMPLE.ROUTINE',,VSAM,                       X  
               CAT=SQMCAT,DISP=(OLD,KEEP)                                 
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                                 
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                            
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                     
// EXEC IDCAMS,SIZE=AUTO                                                  
   REPRO INFILE(VSAMIN   -                                                
                ENV(RECFM(VB) -                                           
                    BLKSZ(8248) -               
 
                    RECSZ(8240))) -                                      
        OUTFILE(SQMDAT1 -                                                
                ENV(RECFM(SB) -                                          
                    BLKSZ(2048) -                                        
                    RECSZ(8240)))                                        
   IF LASTCC > 0000 -                                                    
        THEN CANCEL JOB                                                  
/*                                                                       
                          
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
* STEP0004 REPRO VSAM DDL TO SAM                                         
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
// DLBL VSAMIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM,                       X 
               CAT=SQMCAT,DISP=(OLD,KEEP)                                
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD                                 
// EXTENT SYS008,'VSEPK3',1,0,0000239238,00900                           
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR                                    
// EXEC IDCAMS,SIZE=AUTO                                                 
   REPRO INFILE(VSAMIN ) -                                               
        OUTFILE(SQMDDL1 -                                                
                ENV(RECFM(F ) -                                          
                    BLKSZ(0080) -                                        
                    RECSZ(0080)))                                      
   IF LASTCC > 0000 -                                                  
        THEN CANCEL JOB                                                
/*                                                                     
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
* STEP0005 RELOAD TABLE                                                
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD                              
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300                         
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR                                  
// ASSGN SYS006,SYS007                                                 
// ASSGN SYS020,SYSIPT                                                 
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD                               
// EXTENT SYSIPT,'VSEPK3',1,0,0000239238,00900                         
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR                                     
// ON $ABEND GOTO CLOSEIPT                                             
// ON $CANCEL GOTO CLOSEIPT                                            
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(DB2710)'                         
/*                                                                     
// IF $RC > 0006 THEN                                                  
// GOTO CLOSEIPT                       
CLOSE SYSIPT,SYS020                                                   
// GOTO THEEND                                                        
/. CLOSEIPT                                                           
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* STEP0006 CLOSE SYSIPT                                               
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
CLOSE SYSIPT,SYS020                                                   
// GOTO $EOJ                                                          
/. NODAT                                                              
// RESET SYSLST                                                       
                                
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* STEP0007 NO DATA FILE                                               
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* RELOAD ABORTED: MISSING FILE =                                      
* D.DB2710.EXAMPLE.ROUTINE                                            
// GOTO $EOJ                                                          
/. NODDL                                                              
// RESET SYSLST                                                       
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* STEP0008 NO DDL FILE                                                
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* RELOAD ABORTED: MISSING FILE =                                        
* L.DB2710.EXAMPLE.ROUTINE                                              
/. THEEND                                                               
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
* STEP0009 THE END                                                      
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   
/*                                                                      
/&                                                                      


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]