-JCLP (JCL Generation parameter)


The -JCLP command is used by the JCL Generation function to build the JCL for executing the worklist.

This command does not perform any action during worklist execution. Instead, it creates JCL statements with the appropriate parameters.

The CM/PILOT component of BMC AMI Change Manager for Db2 also uses the -JCLP command in a CM/PILOT worklist.

Example of -JCLP command in a CM/PILOT worklist

-JCLP 001100 AUCO DDNAME WORKL001
DSNAME 'RDAMAF.ACM.WKL(CHGDBCM)'
-JCLP 001200 AUCO DDNAME AFXJCL
DSNMAE 'RDAMAF.ACM.JCL(CHGDBCM)'

Use of -JCLP to identify SSIDs

The -JCLP command refers to the Db2 subsystem ID (SSID) of the sending subsystem in a two-phase migration.

The -JCLP command, along with the &MSSID symbolic variable, is used to reference the SSID or the MSSID for the SYSR nnnn unload data set.

Example of-JCLP command—Db2 SSID

-JCLP 000700 MIGR MSSID DEAH

The -JCLP command is also used with the &TSSID symbolic variable to reference a receiving subsystem ID (TSSID) for a copy data set. When the name of the Db2 subsystem ID (SSID) is specified in the Target SSID field on the Edit WORKID Migration Options panel for a migrate-type work ID, the Analysis component generates a -JCLP worklist command with the TSSID parameter. The TSSID parameter specifies the name of the receiving (or target) SSID. JCL Generation uses the name of the receiving SSID to build the execution JCL. For example, if the command shown in the following example is included in the worklist, JCL Generation uses the DEBA SSID for the receiving subsystem.

Example of -JCLP command—TSSID parameter

 -JCLP 000700 MIGR TSSID DEBA

If the name of an SSID is not specified in the Target SSID field (for example, an * is used), the value of the &SSID symbolic variable is used as the value for the &TSSID variable.

Important

If the copy data set is dynamically allocated, Analysis substitutes the &SSID variable for the &TSSID variable in the COPY OUTPUT descriptor. The copy utility resolves the &SSID variable.

Use of -JCLP to create partition-level image copies

Analysis can generate partition-level image copies of a partitioned table space or index in a database when utilities other than a copy utility are used.

JCL Generation uses different parameters with the -JCLP command, depending on the utility that is used and the number of partitions that are copied.

  • If the REORG PLUS utility is used to reorganize a subset of partitioned table spaces or indexes in a database and to copy only those partitions that are being reorganized, JCL Generation uses the COPYPARTS parameter

    Example of -JCLP command—COPYPARTS parameter

    -JCLP 000650 BMCR COPYPARTS
    -BMCR 000700
                 REORG TABLESPACE C7PCB1.TS35P5
                 DELETEFILES NO
                 UNLDDN SYSR1001
                 WORKDDN (WRK1001)
                 PART 3
                 ,5
                 COPY YES
                        REGISTER C001
                        COPYDDN (C001)
                 SORTDATA LOG NO
  • If the LOADPLUS, REORG PLUS, or BMC AMI Recover utility is used to create partition-level image copies of all of the partitions, JCL Generation uses the NUMPARTS parameter.

    Example of  -JCLP command—NUMPARTS parameter

    -JCLP 000600 BMCR NUMPARTS 5
    -BMCR 000650
                 REORG TABLESPACE C7PCB1.TS35P5
                 DELETEFILES NO
                 UNLDDN SYSR1001
                 WORKDDN (WRK1001)
                 COPY YES
                        REGISTER C001
                        COPYDDN (C001)
                 SORTDATA LOG NO

Use of -JCLP for multiple work data sets

If the LOADPLUS or REORG PLUS utilities use multiple SYSUT temporary work data sets to build nonclustering indexes for a table, Analysis inserts the -JCLP command before each -BMCL or -BMCR command in the worklist.

The -JCLP command specifies the LOADPLUS or REORG PLUS command and the maximum number of SYSUT data sets that can be specified with the NUMIX parameter.

For REORG PLUS, if the number of nonclustering indexes in a table is equivalent to or less than the maximum number of SYSUT data sets, JCL Generation creates one SYSUT data set for each nonclustering index. LOADPLUS functions in the same manner, if the number of all of the indexes in a table is equivalent to or less than the maximum number of SYSUT data sets. The following shows an example of a -JCLP command that specifies that a maximum of two SYSUT data sets are used to reorganize a partitioned table space.

Example of -JCLP command—NUMIX parameter

-JCLP 001100 BMCR NUMIX   2
-BMCR 001150
             REORG TABLESPACE C7UTE1.TS39P254
             DELETEFILES NO
             UNLDDN SYSR1003
             WORKDDN (SUT)
             PART 1
             SORTDATA LOG NO

Use of -JCLP to multitask the unloading and loading of data

You can use UNLOAD PLUS and LOADPLUS to multitask the unloading and loading of data.

When multitasking occurs, JCL Generation uses the IPPARTS parameter in the -JCLP command to specify the number of partitions in a table space. 

Example of -JCLP command—IPPARTS parameter

-JCLP 000550 BMCD IPPARTS 3
-BMCD 000600
             UNLOAD  UNLOADDN (R1003)
             ACTIVE (YES,NO)
             DISCARDS 1
             NULLTYPE T1 NULLCHAR ?
             SELECT *
             FROM   C7PCA1C.TB33A
                    ORDER BY COLUMN_1
             ;

Use of -JCLP to determine the sizes of data sets

If the LOADPLUS utility is used to load data from a table-controlled partitioned table, Analysis inserts the -JCLP command before the -BMCL command in the worklist.

The -JCLP command specifies the size of the index keys in the KEYLEN parameter. JCL Generation uses the key length when calculating the sizes of the SORTOUT and SYSUT data sets. 

Example of -JCLP command—KEYLEN parameter

-JCLP 000650 BMCL KEYLEN 61
-BMCL 000700
             LOAD DATA  REPLACE
             INDDN SYSR1001
             ERRDDN SYSER001
             DISCARDS 0
             DISCARDDN SYSD1001
             DELETEFILES NO
             EBCDIC CCSID(37,0,0)
             WORKDDN SYSUT001
             LOADDN SORT0001
             UNIQUEINTO YES
             INTO TABLE RDACRJ2.TB5
             (COLUMN_1    POSITION(*) INTEGER,
             COLUMN_3    POSITION(*) SMALLINT,
             COLUMN_2    POSITION(*) CHAR(12),
             COLUMN_5    POSITION(*) DECIMAL(11,2),
             COLUMN_4    POSITION(*) CHAR(7),
             COLUMN_6    POSITION(*) DATE EXTERNAL)

Related topic



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*