Previous Topic: When to UseNext Topic: Examples


How to Use

There are four varieties of the CXXCLONE function of DBUTLTY.

CXXCLONE case1 Syntax

Following is a syntax diagram for the CXXCLONE function of DBUTLTY that executes with:

►► CXXCLONE DBID=dbid,NEWDBID=newdbid,OPTION=┬ DELETE ┬,DDNAME=ddname─►
                                             └  KEEP  ┘
►──,STATUS=┬ NOT_LOADED ┬────────────────────────────────────────────►◄
           └ NO_CHANGE  ┘
CXXCLONE case2 Syntax

Following is a syntax diagram for the CXXCLONE function of DBUTLTY that executes with:

►► CXXCLONE DBID=dbid,NEWDBID=newdbid,OPTION=ALTER,DDNAME=ddname,─────►

►─,STATUS=┬ NOT_LOADED ┬─,OPTION2=x*y────────────────────────────────►◄
          └ NO_CHANGE  ┘
CXXCLONE case3 Syntax

Following is a syntax diagram for the CXXCLONE function of DBUTLTY that executes with:

►► CXXCLONE ─┬────────────────┬─ OPTION=┬ DELETE ┬,DDNAME=ddname──────►
             │┌──────────────┐│         └  KEEP  ┘
             └▼─ DBID=dbid, ─┴┘

►──,STATUS=┬ NOT_LOADED ┬────────────────────────────────────────────►◄
           └ NO_CHANGE  ┘

CXXCLONE case4 Syntax

Following is a syntax diagram for the CXXCLONE function of DBUTLTY that executes with:

►► CXXCLONE ─┬────────────────┬─ OPTION=ALTER,DDNAME=ddname───────────►
             │┌──────────────┐│
             └▼─ DBID=dbid, ─┴┘

►─,STATUS=┬ NOT_LOADED ┬─,OPTION2=x*y────────────────────────────────►◄
          └ NO_CHANGE  ┘

Keyword Descriptions
DBID=dbid

(Required: case1 and case2) The dbid in DBID=dbid in case1 and case2 syntax is a single database ID, that is, you can only specify one DBID, not a range of DBIDs in case1 and case2 syntax.

(Optional: case3 and case4) If a DBID= is specified in case3 and case4 syntax, it can be specified as a single database ID or a range of database IDs, for example DBID=4-5. Also, if you specify DBID=, you can specify more than one occurrence, for example DBID=4,DBID=5,...DBID=n.

If DBID= is omitted in case3 and case4 syntax, every database of input is added to the current CXX.

DDNAME=ddname

(Required) The ddname in DDNAME=ddname is a one to eight (1-8) character DD name that points to a CXX backup for either Version 14.0 or Version 12.0.

A DDNAME is not acceptable for sequential input or output files if it is a name reserved for a CA Datacom area. Names with the following patterns are therefore not acceptable for DDNAME=:

NEWDBID=newdbid

(Required: case1 and case2) The NEWDBID= keyword can only be used in case1 and case2 syntax. Use NEWDBID= to add (load) to the CXX being used by the current execution of DBUTLTY a single database with a database ID different from the one specified with DBID=. Therefore, the newdbid in NEWDBID=newdbid is a single database ID, that is, you can only specify one new database ID, not a range of database IDs.

OPTION=

(Required) The OPTION= keyword allows you to specify KEEP to keep the data set name from the input without changing It, DELETE to cause the data set name to be set to blanks (spaces), or ALTER to use the OPTION2= keyword (see following) to alter the data set name.

OPTION2=x*y

(Required: case2 and case4) The OPTION2= keyword is required (and only allowed) when OPTION=ALTER (see previous) is specified. The OPTION2= value allows you to specify a data set name string (comprised of a set of contiguous bytes), where the string (represented by x in the syntax diagram) is followed by a single asterisk (*), followed by a replacement string, being a second set of a contiguous bytes (indicated by y in the syntax diagram). The combination of the keyword OPTION2= and its value must fit on a single input statement as is standard for DBUTLTY. This option is useful to those users following a best practice of having the CXX name within each data set within a database or the full CXX.

For example, a user cloning a CXX named MUF6 to be replaced by one named MUF007 would specify OPTION2=MUF6*MUF007. However, if a single string is not in every data set name present, then OPTION=ALTER cannot be used, in which case we recommend using OPTION=DELETE to remove the data set names and force each data set to be initialized, where the appropriate data set name can then be specified as part of that process. The x value can be longer or shorter or the same as the y value, but if the resulting data set name is longer than 44 bytes, the function fails immediately with error message DB13285E and leaves the database not processed at all or only partially processed. The function also fails immediately with error message DB13284E if the expected string is not present in each and every data set name provided by the input, including every index area and every data area with a known DSN (not blanks), for example where the CXX name is not used as part of data set names for all areas.

STATUS=

(Required) The STATUS= keyword is used to force the areas that are loaded to the CXX to either have the LOADED status of not loaded or allow the status to remain the same as the input. For that purpose, STATUS= can be specified as NOT_LOADED or NO_CHANGE.

Note: If STATUS=NOT_LOADED is specified, every table is set as not loaded, the index is set as not loaded, and the index areas and data areas are set as not initialized.