RC/Migrator : IBM LISTDEF and TEMPLATE in RC/Migrator Model Service Copy utility
search cancel

RC/Migrator : IBM LISTDEF and TEMPLATE in RC/Migrator Model Service Copy utility

book

Article ID: 54674

calendar_today

Updated On:

Products

RC Compare for DB2 for z/OS RC/Migrator for DB2 for z/OS

Issue/Introduction

How do I use the IBM LISTDEF and TEMPLATE functions in an RC/Migrator Utility Model Services COPY model?

 

Environment

Release: R20
Component: RCC

Resolution

The COPY Member in the RCM Utility Model Services Library

This COPY Model processes just one tablespace. It is only a simple example to show how the variable substitution happens in the analysis and then a second substitution happens at execution time.

UTILITY  OBJ DESCRIPTION           SIZE
COPY     TS  IMAGE COPY            RPI
CMD SYMBOL   ERR REPLACEMENT VALUE
_   COPYDUNT     %DISK___________________________________________________
_   COPYSP1      %CALC(%REORGP*050/100+1)________________________________
_   COPYSP2      %CALC(%REORGP*030/100+1)________________________________
_   COPYSP3      TRK_____________________________________________________
_   DISK         SYSDA___________________________________________________
_   DSN          &USERID..&DB..&SN..&ICTYPE..P&PART..T&TIME._____________
--- THIS MODEL COPIES ONE TABLESPACE USING A TEMPLATE AND A LISTDEF
.CALL UTIL COPY PARM(%TOSSID)
.DATA
  LISTDEF TXLIST INCLUDE TABLESPACE %DBNAME..%TSNAME
  OPTIONS EVENT
  TEMPLATE COPYDSN
           DSN '%DSN'
           SPACE(%COPYSP1,%COPYSP2) %COPYSP3
           DISP(NEW,CATLG,CATLG)
           UNIT %COPYDUNT
   COPY LIST TXLIST CHANGELIMIT(5)
        COPYDDN COPYDSN
        PARALLEL(10)
        SHRLEVEL(REFERENCE)
.ENDDATA

The LISTDEF statement is using the %DBNAME and %TSNAME automatic symbolic variables during the analysis time. The "%DSN" user defined model variable contains the dataset name map which will be used by the IBM TEMPLATE command at execution time. This dataset name will be associated with the COPYDSN DD.

Important Note
In the TEMPLATE command, DSN section, do not use brackets() around the dataset name. Use only quotes. When using brackets RC/Migrator tries to make the dataset name valid at analysis time. When the "&" variables are found these are rejected as invalid unless RC/Migrator is working on a string between quotes.

The Analysis Output
When analyzed this is the analysis output produced.

.SYNC 10 'COPY TABLESPACE DBCORP.TSTASK'
--- THIS MODEL COPIES ONE TABLESPACE USING A TEMPLATE AND A LISTDEF
.CALL UTIL COPY PARM(ssid)
.DATA
 LISTDEF TXLIST INCLUDE TABLESPACE DBCORP.TSTASK
 OPTIONS EVENT
 TEMPLATE COPYDSN
 DSN '&USERID..&DB..&SN..&ICTYPE..P&PART..T&TIME.'
      SPACE(1,1) TRK
      DISP(NEW,CATLG,CATLG)
      UNIT SYSDA
 COPY LIST TXLIST CHANGELIMIT(5)
      COPYDDN COPYDSN
      PARALLEL(10)
      SHRLEVEL(REFERENCE)
.ENDDATA

Notice above that the LISTDEF statement has a database and tablespace name substituted at analysis time which came from your selected tablespaces in the strategy. In the TEMPLATE statement the %DSN user defined variable has been replaced by the dataset name map text which incorporates the IBM TEMPLATE variables. You can see the ones like &ICTYPE that start with a "&". These will be substituted by TEMPLATE at execution time.

The Execution with Batch Processor
When Executed the output below is produced.

.CALL UTIL COPY PARM(ssid)
.ALLOC UNIT(SYSDA)    FI(SYSIN) NEW SPACE(1,4) CYL    +
 RECFM(F,B) LRECL(80) BLKSIZE(0)
.ALLOC UNIT(SYSDA)    FI(SYSPRINT) NEW SPACE(4,100) CYL  +
 RECFM(V,B,A) LRECL(125) BLKSIZE(6254)
.DATA
 LISTDEF TXLIST INCLUDE TABLESPACE DBCORP.TSTASK
 OPTIONS EVENT
 TEMPLATE COPYDSN
 DSN '&USERID..&DB..&SN..&ICTYPE..P&PART..T&TIME.'
      SPACE(1,1) TRK
      DISP(NEW,CATLG,CATLG)
      UNIT SYSDA
COPY LIST TXLIST CHANGELIMIT(0)
      COPYDDN COPYDSN
      PARALLEL(10)
      SHRLEVEL(REFERENCE)
.ENDDATA DSNU000I    154 02:54:35.51 DSNUGUTC - OUTPUT START FOR UTILITY, UTILID = authid.authidB
DSNU1044I   154 02:54:35.52 DSNUGTIS - PROCESSING SYSIN AS EBCDIC
DSNU050I    154 02:54:35.52 DSNUGUTC -  LISTDEF TXLIST INCLUDE TABLESPACE DBCORP.TSEMP
DSNU1035I   154 02:54:35.52 DSNUILDR - LISTDEF STATEMENT PROCESSED SUCCESSFULLY
DSNU050I    154 02:54:35.52 DSNUGUTC -  OPTIONS EVENT
DSNU1035I   154 02:54:35.53 DSNUZODR - OPTIONS STATEMENT PROCESSED SUCCESSFULLY
DSNU050I    154 02:54:35.53 DSNUGUTC -  TEMPLATE COPYDSN DSN
          '&USERID..&DB..&SN..&ICTYPE..P&PART..T&TIME.' SPACE(1, 1) TRK DISP(NEW, CATLG, CATLG) UNIT SYSDA
DSNU1035I   154 02:54:35.53 DSNUJTDR - TEMPLATE STATEMENT PROCESSED
            SUCCESSFULLY
DSNU050I    154 02:54:35.53 DSNUGUTC -  COPY LIST TXLIST CHANGELIMIT(0) COPYDDN
          COPYDSN PARALLEL(10) SHRLEVEL(REFERENCE)
DSNU1033I   154 02:54:35.54 DSNUGULM - PROCESSING LIST ITEM: TABLESPACE
            DBCORP.TSEMP
DSNU3345I   154 02:54:35.54 DSNUBBID - MAXIMUM UTILITY PARALLELISM IS 1 BASED
            ON NUMBER OF OBJECTS
DSNU427I    154 02:54:35.54 DSNUBBID - OBJECTS WILL BE PROCESSED IN PARALLEL,
                      NUMBER OF OBJECTS = 1

DSNU440I  !ssid 154 02:54:35.56 DSNUBAII - IMAGE COPY INFORMATION

                                  4KB          CHANGED    PERCENT OF
DBNAME    TSNAME   DSNUM       PAGES          PAGES     CHANGED PAGES  ICTYPE
--------  --------  -----  -------------  -------------  -------------  ------
DBCORP    TSEMP         1              3              0           0.00
DBCORP    TSEMP         2              3              0           0.00
DBCORP    TSEMP         3              3              0           0.00
DBCORP    TSEMP         4              3              0           0.00
DBCORP    TSEMP       ALL             12              0           0.00    F


DSNU443I  !ssid 154 02:54:35.56 DSNUBAII - FULL CHANGE LIMIT MET FOR TABLESPACE
            DBCORP.TSEMP

DSNU445I  !ssid 154 02:54:35.56 DSNUBAII - FULL IMAGE COPY WILL BE TAKEN FOR
            TABLESPACE DBCORP.TSEMP
DSNU1038I   154 02:54:35.65 DSNUGDYN - DATASET ALLOCATED.  TEMPLATE=COPYDSN
                       DDNAME=SYS00004
                       DSN=authid.DBCORP.TSEMP.F.P00000.T065502
DSNU400I    154 02:54:35.70 DSNUBBID - COPY PROCESSED FOR TABLESPACE
            DBCORP.TSEMP
                      NUMBER OF PAGES=9
                      AVERAGE PERCENT FREE SPACE PER PAGE = 10.00
                      PERCENT OF CHANGED PAGES = 33.33
                      ELAPSED TIME=00:00:00
DSNU428I  !ssid 154 02:54:35.73 DSNUBAFI - DB2 IMAGE COPY SUCCESSFUL FOR
            TABLESPACE DBCORP.TSEMP
DSNU010I    154 02:54:35.74 DSNUGBAC - UTILITY EXECUTION COMPLETE, HIGHEST
            RETURN CODE=3
 BPA0045I: UTILITY WARNING MESSAGE(S) ISSUED. BATCH PROCESSOR WILL CONTINUE.
.FREE FI(SYSIN)
.FREE FI(SYSPRINT)
RETCODE =     0

Notice above that the dataset name allocated to DD COPYDSN has been built by the TEMPLATE command. DSN=authid.DBCORP.TSEMP.F.P00000.T065502

 

Additional Information

The DB2V12,  Utility Guide and Reference, LISTDEF and TEMPLATE command sections.
Utility Model Services