IMS Catalog Populate utility (DFS3PU00)

Use the IMS Catalog Populate utility (DFS3PU00) to load, insert, or update DBD and PSB instances into the database data sets of the IMS catalog from ACB library data sets. If the IMS management of ACBs is enabled in the IMS system, the utility also adds the active application control blocks (ACBs) to the IMS directory data set that is managed by IMS.

You can also use the DFS3PU00 utility to estimate the required sizes of the IMS catalog data sets without updating the IMS catalog. The utility generates the size estimates by scanning the members in the input ACB libraries.

Whether the DFS3PU00 utility runs in load mode, update mode, or analysis-only mode is determined by the IMS catalog PSB that you specify in the utility JCL:
  • Load mode is specified by PSB DFSCPL00.
  • Update mode is specified by PSB DFSCP001.
  • Analysis-only mode is specified by DFSCP000.

If the IMS management of ACBs is enabled, you must specify the MANAGEDACBS= control statement on the SYSINP DD statement to make the generated ACBs available to the online IMS system. Depending on the specification, the DFS3PU00 utility either adds the ACBs to the staging data set of the IMS catalog for later activation or, if the IMS system is offline or you are setting up managed ACBs for the first time, adds them directly to the IMS directory data sets. IMS loads the ACBs from the directory data sets during startup.

If dynamic option (DOPT) PSBs are the only resource type in the input ACB libraries, the utility can add the DOPT PSBs without taking the system offline. Some restrictions apply. See the SHARE keyword under Control statements.

If any of the data sets for the IMS catalog have not been created, including those for the IMS directory, the DFS3PU00 utility creates them automatically. The IMS directory, an internal IMS structure, is used to hold the runtime control blocks for the DBD and PSB instances that are flagged as active in the IMS catalog.

The amount of space that the utility allocates for the IMS catalog data sets is based on the members in the input ACB libraries and the values that are specified on SPACEALLOC parameter in the catalog section of the DFSDFxxx PROCLIB member. The amount of space that the utility allocates for the IMS directory data sets, which are PDSE data sets, is also based on the size of the ACB library, but is increased dynamically as needed.

The output of the DFS3PU00 utility includes a report that contains statistics about the record segments that are loaded into the IMS catalog. The report includes information about the number and types of segments, as well as an estimate of the amount of DASD storage that each data set group of the IMS catalog will require. If you need to know how much DASD storage the IMS catalog data sets will use before they are created, you can run the DFS3PU00 utility without populating the IMS catalog to generate only the statistics report. To run the DFS3PU00 utility in analysis-only mode, specify DFSCP000 as the PSB for the utility in the utility JCL.

After the utility evaluates the members in your ACB libraries, it produces a report. This report is the same report that the DFS3PU00 utility produces when it loads the IMS catalog.

The DFS3PU00 utility creates the catalog records from the ACB members in one or more ACB libraries and depending on your database types, the associated DBD and PSB members in DBD libraries and PSB libraries. The records contain metadata for your application programs and databases.

The DFS3PU00 utility can run in a DL/I region, or if it is updating an existing IMS catalog, the DFS3PU00 utility can run in a BMP region. If you run the utility in a DL/I batch region and the IMS catalog is shared, you must specify IRLM support in the EXEC parameters of the utility JCL. In the following example, the second Y and irlmid value indicate IRLM support:
PARM=(DLI,DFS3PU00,DFSCP001,,,,,,,,,,,Y,Y,irlmid,,,,,,,,,,,'DFSDF=001')

As an alternative to running the DFS3PU00 utility, you can populate the IMS catalog by using the ACB Generation and Catalog Populate utility (DFS3UACB). The DFS3UACB utility generates the ACB libraries for your applications and databases and then populates the IMS catalog, both in the same job step.

Subsections:

Restrictions

Start of changeThe IMS Catalog Populate utility (DFS3PU00) cannot be run as a BMP in an ACBMGMT=ACBLIB environment when the MANAGEDACBS=SETUP utility control statement is specified.End of change

Prerequisites

Before the DFS3PU00 utility can load the metadata for new or changed application programs and databases into the IMS catalog, the DBD generation, PSB generation, and ACB generation processes must be complete for the new or changed application programs and databases.

If you are loading an IMS catalog for the first time, ensure that the following steps have been completed before running the DFS3PU00 utility:
  • The DBD and PSB load modules for the IMS catalog have been added to your DBD and PSB libraries.
  • The ACB member for the IMS catalog has been generated and loaded into the IMS.ACBLIB data set.
  • The IMS catalog HALDB master database and partitions have been defined in either the RECON data set or, if the target IMS catalog is not supported by DBRC, in an IMS catalog partition definition data set.

Before you can use the SHARE option to add DOPT PSBs to an online IMS catalog, extended sharing of PDSE data sets must be enabled in z/OS®. For more information, see z/OS: Specifying Extended PDSE Sharing in a Multiple-System Environment.

Requirements

The DFS3PU00 utility requires access to the following data sets:
  • The IMS.PROCLIB data set that contains the DFSDFxxx member that enables the IMS catalog and defines the alias name of the IMS catalog
  • One or more IMS.ACBLIB data sets
  • If ACB library members reference logically related databases, the IMS.DBDLIB data set
  • If ACB library members reference GSAM databases, the IMS.DBDLIB data set and the IMS.PSBLIB data set

When the IMS.DBDLIB and IMS.PSBLIB data sets are included as input, they must be the DBD and PSB libraries from which the input IMS.ACBLIB data set was built.

If any required members of the PSBLIB or DBDLIB data sets are not found, the utility issues an error message, and the records for the referencing PSBs are not created in the IMS catalog. You can add the missing catalog records later by supplying the necessary PSB or DBD members with the correct ACB library and rerunning the DFS3PU00 utility in update mode by specifying the DFSCP001 PCB in the utility JCL.

If the IMS management of ACBs is enabled, you must specify the MANAGEDACBS= control statement on the SYSINP DD statement to make the generated ACBs available to the online IMS system.

When the IMS catalog is registered with DBRC, you are required to create an image copy of the IMS catalog after an initial load of the IMS catalog. When the IMS catalog is not registered with DBRC, IMS cannot require an image copy after an initial load; however, if an image copy is not created after an initial load, the only way to recover the catalog is to reload it.

Recommendations

If you are updating an existing IMS catalog, create an image copy of the IMS catalog data sets when the updates are complete. If the IMS catalog is registered with DBRC, you can use the DBRC command GENJCL.IC to back up the catalog. If you have defined the IMS catalog in an IMS Catalog partition definition data set, you must use standard image copy JCL.

The storage requirement is highly dependent on the total number of ACBLIB members because they have to be kept in storage. Consider increasing the job's region size to prevent a GETMAIN failure that will cause abend U1002 reason code 4 to be issued.

Input and output

The DFS3PU00 utility always reads input from the ACB library data sets that contain the ACB members for your databases and application programs, and from the DFSDFxxx member of the IMS.PROCLIB data set.

If your databases use logical relationships, the IMS Catalog Populate utility also reads input from the IMS.DBDLIB data set.

If you use GSAM databases and an ACB library member references a GSAM database, the DFS3PU00 utility also reads input from both the IMS.DBDLIB and the IMS.PSBLIB data sets.

The output of the DFS3PU00 utility includes:
  • The record segments in the IMS catalog data set (DFSCD000).
  • Messages and statistical information to the SYSPRINT data set.
  • If MANAGEDACBS=SETUP is specified:
    • New or updated record segments in the IMS catalog
    • IMS directory data sets
    • ACBs in the IMS directory data sets that correspond to the active DBD and PSB instances in the IMS catalog
  • If MANAGEDACBS=STAGE is specified:
    • New or updated record segments in the IMS catalog
    • ACBs in the staging data set of the IMS directory data sets
  • If MANAGEDACBS=UPDATE is specified:
    • New or updated record segments in the IMS catalog
    • ACBs in the IMS directory data sets that correspond to the active DBD and PSB instances in the IMS catalog
If any of the following database data sets do not exist, the DFS3PU00 utility creates them automatically:
  • The DFSCD000 database data sets:
    • Four data sets for the segments of the IMS catalog
    • The indirect list data set (ILDS)
    • The primary index data set
  • The DFSCX000 secondary index data set.
  • When the MANAGEDACBS=SETUP statement is specified, the IMS directory data sets, including the IMS directory bootstrap data set.
Figure 1. IMS Catalog Populate utility input and output
The ACBLIB, the DBDLIB, the PSBLIB, and the DFSDFxxx PROCLIB member are shown as input to the DFS3PU00 utility. The IMS catalog and the SYSPRINT data set are shown as the output targets of the utility.

JCL specifications

DFS3PU00 utility JCL statements

The execution parameters for the DFS3PU00 utility must reference the DFSDFxxx member of the IMS.PROCLIB data set, as shown in the following example JCL.

At least one IMS.ACBLIB data set must be specified in the utility JCL by the IMSACB01 DD statement. You can include additional ACBLIB data sets by concatenating them in a single DD statement or by specifying additional IMSACBnn DD statements, as shown in the following example JCL by the IMSACB02 and IMSACB03 DD statements. The additional IMSACBnn ddnames must be consecutively numbered in the last two characters positions.

Duplicate ACB members with duplicate names are handled differently depending on whether the ACB libraries are concatenated on a single DD statement or are referenced individually by separate DD statements. If you use cloned ACB libraries, but duplicate ACB members might be generated individually in any of the libraries, reference each of the cloned ACB libraries in the utility JCL by using a separate DD statement.

When ACB libraries are referenced individually by separate DD statements, the DFS3PU00 utility checks the ACB generation time stamps of ACB members with duplicate names and uses them only if the ACB generation time stamp is different from the previously processed ACB member with the same name. If the time stamps are the same, the ACB member with the duplicate name is ignored.

However, when ACB libraries are concatenated in a single DD statement, the DFS3PU00 utility does not check the ACB generation time stamps of ACB members with duplicate names. If duplicate member names exist across the concatenated ACB libraries, only the first ACB member is used and any subsequent ACB members with a duplicate name are ignored, even if the time stamps are different.

Your DLIBATCH or equivalent procedure should already include IMS DD statements for the PSB and DBD libraries that were used to generate the ACB libraries. The procedure should also include STEPLIB and DFSRESLB DD statements for the IMS.SDFSRESL data set and IEFRDER and IEFRDER2 DD statements for the IMS log data sets.

The following is a sample of the JCL statements that can be used to perform an initial load of the IMS catalog with the DFS3PU00 utility. The JCL specifies the IMS catalog PSB DFSCPL00, which loads records to the IMS catalog. Any existing records are overwritten.

  //LOADCAT EXEC PGM=DFS3PU00,
  // PARM=(DLI,DFS3PU00,DFSCPL00,,,,,,,,,,,Y,N,,,,,,,,,,,,'DFSDF=001')
  //STEPLIB  DD  DSN=IMS.SDFSRESL,DISP=SHR
  //DFSRESLB DD  DSN=IMS.SDFSRESL,DISP=SHR
  //IMS      DD  DSN=IMS.PSBLIB,DISP=SHR
  //         DD  DSN=IMS.DBDLIB,DISP=SHR
  //PROCLIB  DD  DSN=IMS.PROCLIB,DISP=SHR
  //SYSABEND DD  SYSOUT=*       Dump data set
  //SYSPRINT DD  SYSOUT=*       Messages, statistics
  //IEFRDER  DD  ...            Log data set
  //DFSVSAMP DD  ...            Buffer pool parameters
  //IMSACB01 DD  ...            First ACBLIB              
  //         DD  ...            Optional concatenated ACBLIB
  //IMSACB02 DD  ...            Optional additional ACBLIBs
  //IMSACB03 DD  ...            ...
  //SYSINP   DD  *              ISRTLIST DUPLIST /*  

The following is a sample of the JCL statements that can be used to update the IMS catalog by running the DFS3PU00 utility in a DL/I batch job. The JCL specifies the IMS catalog PSB DFSCP001, which inserts records to the IMS catalog without replacing the entire catalog. IRLM support is not indicated.

  //UPDTCAT EXEC PGM=DFS3PU00,
  //             PARM=(DLI,DFS3PU00,DFSCP001,,,,,,,,,,,Y,N,,,,,,,,,,
  //             ,,'DFSDF=001')                                       
  //STEPLIB  DD  DSN=IMS.SDFSRESL,DISP=SHR
  //DFSRESLB DD  DSN=IMS.SDFSRESL,DISP=SHR
  //IMS      DD  DSN=IMS.PSBLIB,DISP=SHR
  //         DD  DSN=IMS.DBDLIB,DISP=SHR
  //PROCLIB  DD  DSN=IMS.PROCLIB,DISP=SHR
  //SYSABEND DD  SYSOUT=*       Dump data set
  //SYSPRINT DD  SYSOUT=*       Messages, statistics
  //IEFRDER  DD  ...            Log data set with catalog updates
  //DFSVSAMP DD  ...            Buffer pool parameters
  //IMSACB01 DD  ...            First ACBLIB              
  //         DD  ...            Optional concatenated ACBLIB
  //IMSACB02 DD  ...            Optional additional ACBLIBs
  //IMSACB03 DD  ...            ...

The following is a sample of the JCL statements that can be used to update the IMS catalog by running the DFS3PU00 utility in a DL/I batch job. The JCL specifies the IMS catalog PSB DFSCP001, which inserts records to the IMS catalog without replacing the entire catalog. IRLM support is indicated and is necessary if authorization of the catalog database exists.

//UPDTCAT EXEC PGM=DFS3PU00,
//     PARM=(DLI,DFS3PU00,DFSCP001,,,,,,,,,,,Y,Y,irlmid,,,,,,,,,
//             ,,'DFSDF=001')
//STEPLIB  DD  DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD  DSN=IMS.SDFSRESL,DISP=SHR
//IMS      DD  DSN=IMS.PSBLIB,DISP=SHR
//         DD  DSN=IMS.DBDLIB,DISP=SHR
//PROCLIB  DD  DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD  SYSOUT=*       DUMP DATA SET
//SYSPRINT DD  SYSOUT=*       MESSAGES, STATISTICS
//IEFRDER  DD  ...            LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD  ...            BUFFER POOL PARAMETERS
//IMSACB01 DD  ...            FIRST ACBLIB
//         DD  ...            OPTIONAL CONCATENATED ACBLIB
//IMSACB02 DD  ...            OPTIONAL ADDITIONAL ACBLIBS

The following is a sample of the JCL statements that can be used to update the IMS catalog by running the DFS3PU00 utility in a BMP job. The JCL specifies the IMS catalog PSB DFSCP001, which inserts records to the IMS catalog without replacing the entire catalog.

In this example, imsid is the identifier of the IMS system on which the job is to be run.

//UPDTCAT EXEC PGM=DFS3PU00,
  //             PARM=(BMP,DFS3PU00,DFSCP001,,,,,,,,,,,imsid,,,,,,)
  //STEPLIB  DD  DSN=IMS.SDFSRESL,DISP=SHR
  //DFSRESLB DD  DSN=IMS.SDFSRESL,DISP=SHR
  //IMS      DD  DSN=IMS.PSBLIB,DISP=SHR
  //         DD  DSN=IMS.DBDLIB,DISP=SHR
  //PROCLIB  DD  DSN=IMS.PROCLIB,DISP=SHR
  //SYSABEND DD  SYSOUT=*       Dump data set
  //SYSPRINT DD  SYSOUT=*       Messages, statistics
  //IEFRDER  DD  ...            Log data set with catalog updates
  //DFSVSAMP DD  ...            Buffer pool parameters
  //IMSACB01 DD  ...            First ACBLIB              
  //         DD  ...            Optional concatenated ACBLIB
  //IMSACB02 DD  ...            Optional additional ACBLIBs
  //IMSACB03 DD  ...            ...

DD statements

DFSRESLB DD
Points to an authorized library that contains the IMS SVC modules. For IMS batch, SDFSRESL and any data set that is concatenated to it on the DFSRESLB DD statement must be authorized through the Authorized Program Facility (APF). This DD statement provides an authorized library for the IMS SVC modules, which must be in an authorized library. The JOBLIB or STEPLIB statement does not need to be authorized for IMS batch.
DFSVSAMP
Defines the buffer pool parameters data set.
IEFRDER DD
Defines the primary IMS log data set.
IEFRDER2 DD
Defines the secondary IMS log data set.
IMS DD
Defines the IMS.PSBLIB and IMS.DBDLIB data sets.
The IMS DD statement is required only if the IMS ACB library members loaded into the IMS catalog reference GSAM or logically related databases.
IMSACB01 DD
Defines an ACB library data set that contains the ACB members that are used to populate the IMS catalog. This DD statement is required.
IMSACBnn DD
Defines additional optional input ACB library data sets. The ddnames of additional ACB libraries must be consecutively numbered in the nn position.

The value of nn is determined by adding 1 to the value of nn from the preceding IMSACBnn ddname. Valid values for nn are from 02 through 99.

For example, after the required IMSACB01 DD statement, subsequent DD statements would be named IMSACB02, IMSACB03, IMSACB04, and so on.

If a break in the consecutive numbering of IMSACBnn ddnames occurs, the ACB library DD statements after the break are ignored.

Start of changeIMSDBSDS DDEnd of change
Start of changeOptionally defines the IMS directory bootstrap data set (BSDS).

Use this DD statement to control the placement and size of the data set. If this statement is provided, the utility does not delete an existing BSDS and then create a new one, but overwrites the content of the existing data set.

The data set name must conform to the same naming convention as for a utility-created BSDS. The data set must be DSORG=PS, RECFM=FB, LRECL=96.

If this statement is omitted, the utility dynamically deletes any preexisting BSDS and dynamically creates a new one.

End of change
Start of changeIMSDnnnn DDEnd of change
Start of changeOptionally defines the IMS directory data sets that are used to store the ACBs.

Use this DD statement for each IMS directory data set to control the number of data sets that are used, and the placement and size of each data set. You can provide this DD statement for up to 20 data sets. The number of DD statements that start from IMSD0001 determines how many data sets are used. The utility does not dynamically delete or create any of the directory data sets if IMSD0001 is specified.

You can specify only one data set on each DD statement. Concatenation is not allowed.

The data set name must conform to the same naming convention as for a system-created directory data set. Each data set must be a PDS-E with DSORG=PO, RECFM=U, LRECL=0, BLKSIZE=32760, DSNTYPE=LIBRARY. The data set must be empty when the utility begins processing the data set.

If the IMSD0001 DD is omitted, the utility dynamically deletes any preexisting directory data sets and dynamically creates two new data sets to store the ACBs.

End of change
IMSDG001 DD

An optional control statement to define an empty work data set to be used as an IMS.ACBLIB data set for the IMS Catalog Populate utility (DFS3PU00). This data set is used to temporarily hold ACB library members that reference a GSAM database. The DFS3PU00 utility then moves the ACB library members into the IMS directory data sets after it copies the ACB library members from the libraries specified on the IMSACBnn DD statement.

Provide this DD to obtain more control over the placement and size of the temporary data set. If this DD is provided the DFS3PU00 utility does not dynamically create or delete a temporary data set.

This data set has the following attributes:

DSORG
Partitioned data set extended (PDSE)
DSNTYPE
LIBRARY
RECFM
U
LRECL
80
BLKSIZE
32760

If the IMS management of ACBs is not enabled, this statement is omitted.

If the data set is not a PDSE data set, the DFS4549E message is displayed.

If the data set is not empty when the DFS3PU00 utility begins processing, the content of the data set is deleted.

If this DD statement is omitted, the DFS3PU00 utility dynamically creates a temporary data set and deletes it after the utility completes processing.

Start of changeIMSDSTAG DDEnd of change
Start of changeOptionally defines the IMS directory staging data set.

Provide this DD statement to control the placement and size of the data set. If this DD statement is provided, the utility does not dynamically delete or create the staging data set.

When you name the data set, conform to the same naming convention as for the staging data set. The data set must be a PDS-E with DSORG=PO, RECFM=U, LRECL=0, BLKSIZE=32760, DSNTYPE=LIBRARY.

The data set must be empty when the utility begins processing the data set.

If this DD statement is omitted, the utility dynamically deletes any preexisting staging data set and dynamically creates a new one.

End of change
PROCLIB DD
Defines the IMS.PROCLIB data set that contains the DFSDFxxx member that defines various attributes of the IMS catalog that are required by the utility.
STEPLIB DD
Points to IMS.SDFSRESL, which contains the IMS nucleus and required IMS modules. If STEPLIB is unauthorized by having unauthorized libraries that are concatenated to IMS.SDFSRESL, you must include a DFSRESLB DD statement.
SYSABEND DD
Defines the dump data set.
SYSINP DD
An optional control statement sequential data set with 80-character fixed-length records. Only characters in positions 1 - 72 are read.

The control statement parameters, which are separated by blanks or commas, can be specified on one or more records.

For a description of the control statements that you can specify with the SYSINP DD statement, see Control statements.

SYSPRINT DD
Defines the output message data set.

When the SYSPRINT DD statement refers to a DASD or tape data set, you can control the block size of this data set with the BLKSIZE sub-parameter of the DCB parameter. If specified, the BLKSIZE value must be an exact multiple of 121 or a system ABEND013-20 can result. Omitting BLKSIZE from a DASD data set causes a system-determined block size to be used. Regardless of what value is specified for LRECL, the utility will always use a record length of 121.

Control statements

The following control statement parameters, which are separated by blanks or commas, can be specified on one or more records by using the SYSINP DD statement.

DUPLIST
Specifies that the DFS3PU00 utility list each DBD or PSB resource in the input ACB library that is not added to the IMS catalog because it is a duplicate of an instance that is already in the IMS catalog. For each duplicate instance of a resource in the IMS catalog, the utility prints message DFS4436I.

If the MANAGEDACBS= statement is specified and the IMS management of ACBs is enabled, the utility also lists each DBD or PSB resources that is not added to the IMS directory or the staging data set because it is a duplicate of the instance of a resource that is already in the IMS directory.

If the UPDATE parameter is specified on the MANAGEDACBS= statement, the utility prints message DFS4531I for each duplicate instance.

If LATEST is specified or accepted as the default with the UPDATE parameter, the utility also prints message DFS4522I for each instance that is not added to the IMS directory because the instance of the resource in the IMS directory has a later timestamp.

If the STAGE parameter is specified on the MANAGEDACBS= statement, the utility prints message DFS4542I for each resource that is not copied to the staging data set because it is a duplicate instance.

If LATEST is specified or accepted as the default with the STAGE parameter, the utility also prints message DFS4539I for each instance that is not added to the staging data set because the instance of the resource in the IMS directory has a later timestamp.

ERRORMAX=n
Terminate the IMS Catalog Populate utility when more than n messages indicate errors that prevent certain DBDs and PSBs from having their metadata that is written to the IMS catalog. Duplicate instances of metadata do not count toward this limit. If this option is omitted, there is no limit.
RESOURCE_CHKP_FREQ=n
Specifies the number of DBD and PSB resource instances to be inserted between checkpoints. n can be a 1- to 8-digit numeric value of 1 to 99999999. The default value is 100.
SEGMENT_CHKP_FREQ=n
Specifies the number of segments to be inserted between checkpoints. When the number is reached, IMS finishes inserting all of the segments for the resource instance that is currently being processed before issuing the checkpoint. n can be a 1- to 8-digit numeric value of 1 to 99999999. The default value is 1000.
Note: The first checkpoint frequency number to be reached will cause a checkpoint to be taken and the counters will be reset to 0.
ISRTLIST

If the IMS management of ACBs is enabled, the utility also lists each DBD or PSB resources that is either added to the IMS directory or saved to the staging data set for importing into the IMS directory later.

The utility identifies the action taken for each resource by printing the following messages:
DFS4520I
The resource was added to the IMS directory as a new resource.
DFS4521I
This instance of the resource replaced an existing instance of the resource in the IMS directory.
DFS4537I
The resource was copied to the staging data set. When it is imported into the IMS directory later, it will be inserted as a new resource in the IMS directory.
DFS4538I
The resource was copied to the staging data set. When it is imported into the IMS directory later, it will replace an existing instance of the resource in the IMS directory.
MANAGEDACBS=
Use the MANAGEDACBS control statement to perform the following actions:
  • Set up IMS to manage the runtime application control blocks (ACBs) for your databases and program views.
  • Update an IMS system that manages ACBs with new or modified ACBs from an ACB library data set.
  • Save ACBs from an ACB library to a staging data set for later importing into an IMS system that manages ACBs.

The MANAGEDACBS statement can be specified according to the following syntax diagram:

Read syntax diagramSkip visual syntax diagramMANAGEDACBS=SETUP(STAGE,LATEST,UNCOND,DELETE,GSAMPCB,CATRSCS)(UPDATE,LATEST,UNCOND,GSAMPCB,SHARE)

If you use the gsamdbd parameter, the MANAGEDACBS statement can be specified according to the following syntax diagram:

Read syntax diagramSkip visual syntax diagramMANAGEDACBS=SETUP( STAGE ,GSAM= gsamdbd )( UPDATE ,GSAM= gsamdbd )

The parentheses are required only if you specify multiple parameters on the MANAGEDACBS= statement.

The following list describes the parameters that you can specify on the MANAGEDACBS= statement:

SETUP
Creates the IMS directory data sets that are required by IMS to manage application control blocks (ACBs). Any existing instances of the IMS directory data sets are replaced.

Do not specify ACBMGMT=CATALOG in the CATALOG section of the DFSDFxxx PROCLIB member until after you successfully run the utility with MANAGEDACBS=SETUP specified. You must create the IMS directory and load it with the active ACBs before you enable the IMS management of ACBs.

When SETUP is specified, the utility inserts the ACBs that are in the input ACB libraries into the IMS directory data sets.

If the IMS catalog PSB DFSCP001 is specified in the utility JCL, the utility inserts any new or modified DBDs or PSBs into the IMS catalog.

If the IMS catalog PSB DFSCPL00 is specified in the utility JCL, the utility deletes all existing catalog records and reloads the IMS catalog.

When the utility adds an ACB to the IMS directory, it flags the corresponding DBD and PSB instances in the IMS catalog as active.

Do not run the DFS3PU00 utility as a BMP with MANAGEDACBS=SETUP specified.

STAGE

Saves the ACBs from the input ACB libraries to a staging data set. ACBs saved in the staging data set are not activated until you add them to the IMS system by issuing the IMPORT DEFN SOURCE(CATALOG) command.

When STAGE is specified, the IMS catalog PSB DFSCP001 must be specified in the utility JCL.

If the staging data set exists when the MANAGEDACBS=STAGE control statement is specified, the utility uses the existing staging data set. Any ACBs already in the staging data set are preserved. To scratch and re-create the staging data set when you stage new resources, specify MANAGEDACBS=(STAGE,DELETE). When DELETE is specified, any ACBs in the existing data set are lost.

When STAGE is specified, the DFS3PU00 utility copies all ACBs in the ACB libraries that do not already exist in the IMS system into the staging data set. If an ACB in the ACB library already exists in the IMS system, the utility saves it to the staging data set based on whether timestamp of the ACB meets the criteria of the UNCOND or LATEST parameter.

Do not specify STAGE when you do an initial load of the IMS catalog or before you enable the IMS management of ACBs. The STAGE parameter is for staging updates to existing IMS directory data sets only.

If you specify multiple parameters after MANAGEDACBS=, you must enclose them in parentheses. For example, (STAGE,LATEST). If you specify only STAGE, you can omit the parentheses.

CATRSCS
When you use the STAGE option with the CATRSCS option, IMS catalog resources are added to the staging directory data set.
DELETE
If the staging data set is not allocated to any online IMS system, scratch and recreate the staging data set before adding the resources to the staging data set. Any ACBs in the existing staging data set are lost.
GSAMPCB
GSAM resources are included for MANAGEDACBS= running in DLI mode using PSB DFSCP001. When GSAMPCB is specified, the IEFRDER batch log data set is not used by the catalog members information gather task. Only the catalog update task writes to the batch log data set for catalog database changes. GSAMPCB and DELETE are mutually exclusive.
LATEST
If an ACB already exists in the IMS system, do not save an instance of the ACB in an ACB library to the staging data set unless the instance in the ACB library has a later timestamp than the ACB in the IMS system.

This is the default.

UNCOND
If an ACB already exists in the IMS system, save an instance of the ACB in an ACB library to the staging data set unconditionally, unless the timestamp of the ACB in the ACB library is the same as the timestamp of the ACB in the IMS system.
gsamdbd

gsamdbd is the name of changed GSAM database. The specified database record is inserted into the IMS catalog, and the application control block is written to the staging or active directory based on the MANAGEDACBS control statement parameters that you specify.

You can use the gsamdbd variable with the STAGE or UPDATE parameter. However, LATEST, UNCOND, DELETE, SHARE, and GSAMPCB are not supported if you specify the gsamdbd variable.

Because the gsamdbd variable identifies a GSAM resource, the GSAMPCB batch logging rule applies only to the catalog update task that writes to the batch log data set for catalog database changes.

Follow these steps if you want to change GSAM DBDs by using the STAGE parameter and gsamdbd. This process writes only the GSAM DBD to the staging directory.
  1. Change the GSAM DBD source.
  2. Run a DBDGEN to generate the GSAM DBD into DBDLIB.
  3. Run the DFS3PU00 utility with MANAGEDACBS=(STAGE,GSAM=gsamdbd).
    Tip: Only the DBDLIB DD card is required for the DFS3PU00 utility. ACBLIB and PSBLIB are not needed and are ignored if specified.

    The new GSAM DBD instance will be inserted to the catalog, and the application control block will be written to the staging directory.

  4. Run the IMPORT DEFN SOURCE(CATALOG) or IMPORT DEFN SOURCE(CATALOG) NAME(gsamdb) command with or without OPTION(NOCHECK).
UPDATE
Updates existing IMS directory system data sets directly in exclusive mode. The ACBs are not placed in the staging data set.
Recommendation: Shut down all IMS systems that use the IMS directory when you specify the UPDATE parameter. When UPDATE is specified, the IMS Catalog Populate utility requires exclusive access to the IMS directory.

Also, the utility does not notify online IMS systems when it updates the IMS directory. Consequently, any IMS systems that are online when the utility updates the IMS directory must be restarted to load the updated ACBs.

When UPDATE is specified, the DFS3PU00 utility inserts ACBs that are not already in the IMS system into the IMS directory unconditionally. If an ACB exists in the IMS system, the instance of the ACB is replaced depending on the timestamp of the instance in the ACB library and the specification of the UNCOND or LATEST parameter.

Do not specify UPDATE when you do an initial load of the IMS catalog or before you enable the IMS management of ACBs. The UPDATE parameter is for updating existing IMS directory data sets only.

When UPDATE is specified, the IMS catalog PSB DFSCP001 must be specified in the utility JCL.

If you specify multiple parameters after MANAGEDACBS, you must enclose them in parentheses. For example, (UPDATE,LATEST). If you specify only UPDATE, you can omit the parentheses.

By default, the system data set names that are allocated for IMS management of ACBs are derived from the data set name prefix that is specified in the RECON data set when the first partition of the IMS catalog is defined. To override this default, you can specify the SYSDSHLQ= parameter in a TYPE=CATDSHLQ statement in the dynamic allocation (DFSMDA) macro.

LATEST
If an ACB already exists in the IMS system, do not replace it with an instance of the ACB from an ACB library unless the instance in the ACB library has a later timestamp than the ACB in the IMS system.

This is the default.

UNCOND
If an ACB already exists in the IMS system, replace it with an instance of the ACB from an ACB library unconditionally, unless the timestamp of the ACB in the ACB library is the same as the timestamp of the ACB in the IMS system.
SHARE
For dynamic option (DOPT) PSBs only, allocates the required IMS directory data sets in a shared mode so that DOPT PSBs can be added to the IMS catalog without interrupting online processing.

Do not specify SHARE if the utility is loading the IMS catalog, as indicated by the specification of DFSCPL00, the IMS catalog load PSB, in the execution parameters of the utility JCL.

Do not specify SHARE if any resources in the input ACBLIB data sets are not DOPT PSBs.

Before you run the utility with the SHARE option specified, the extended sharing of PDSE data sets must be enabled in your z/OS system. The extended sharing of PDSE data sets is enabled in z/OS by specifying PDSESHARING(EXTENDED) in the IGDSMSxx member in the SYS1.PARMLIB on each system in the sysplex. If extended PDSE sharing is not enabled when SHARE is specified, the utility allocates the required IMS catalog data sets in exclusive mode, which might cause conflicts with other IMS processes and application programs.

For more information about enabling extended PDSE sharing, see z/OS: Specifying Extended PDSE Sharing in a Multiple-System Environment.

GSAMPCB
GSAM resources are included for MANAGEDACBS= running in DLI mode using PSB DFSCP001. When GSAMPCB is specified, the IEFRDER batch log data set is not used by the catalog members information gather task. Only the catalog update task writes to the batch log data set for catalog database changes. GSAMPCB and DELETE are mutually exclusive.
gsamdbd

gsamdbd is the name of changed GSAM database. The specified database record is inserted into the IMS catalog, and the application control block is written to the staging or active directory based on the MANAGEDACBS control statement parameters that you specify.

You can use the gsamdbd variable with the STAGE or UPDATE parameter. However, LATEST, UNCOND, DELETE, SHARE, and GSAMPCB are not supported if you specify the gsamdbd variable.

Because the gsamdbd variable identifies a GSAM resource, the GSAMPCB batch logging rule applies only to the catalog update task that writes to the batch log data set for catalog database changes.

Follow these steps if you want to change GSAM DBDs by using the UPDATE parameter and gsamdbd:
  1. Change the GSAM DBD source.
  2. Run a DBDGEN to generate the GSAM DBD into DBDLIB.
  3. Run the DFS3PU00 utility with MANAGEDACBS=(UPDATE,GSAM=gsamdbd).
    Tip: Only the DBDLIB DD card is required for the DFS3PU00 utility. ACBLIB and PSBLIB are not needed and are ignored if specified.

    The new GSAM DBD instance will be inserted to the catalog, and the application control block will be written to the IMS directory.

NODUPLIST
Do not print a list of resource instances that were not added. This parameter is the default.
NOISRTLIST
Do not print a list of inserted resource instances.

IMS Catalog Populate utility statistics report

Each time the DFS3PU00 utility runs it creates a statistics report for the record segments to be loaded or updated in the IMS catalog. When the DFS3PU00 utility runs in read-only mode, the report reflects only the potential statistics if the IMS catalog were loaded or updated from the ACB libraries currently being used as input to the utility.

To run the DFS3PU00 utility in analysis-only mode, specify DFSCP000 as the PSB for the utility in the utility JCL.

The first section in the report is a summary of the segments that were inserted during the current execution of the utility. For each segment type inserted in the IMS catalog, the summary includes the following information organized into columns:
  • The segment code (SC)
  • The segment name, which generally corresponds to a macro in your DBD or PSB source files
  • The data set group (DSG) in the IMS catalog that the segment is stored in
  • The parent segment of the listed segment
  • The total number of segments of that type that are loaded into the IMS catalog
  • The average number of segment instances of that type under the parent segment

The second section in the report shows both the numbers of existing DBD and PSB records that were updated by the utility and the number of existing DBD and PSB records that were not updated because the time stamp of the record matched the time stamp of the corresponding ACB member in the ACB library. This section of the report also shows the number of DBD and PSB segments whose ACBLIB time stamps were already in the catalog and did not need to be inserted again.

The rest of the sections in the report provide the storage estimates.

For the OSAM data sets, the storage sections of the report show the number of blocks of the specified size. For the VSAM KSDSs, which include the indirect list data set (ILDS), the primary index data set, and the secondary index data set, the report shows the number of VSAM records.

These numbers are estimates that reflect the amount of space needed to load the catalog records that are built from the ACB libraries that you provide as input to the DFS3PU00 utility. If you are calculating the amount of storage required for the IMS catalog data sets, provide plenty of additional space in your calculations to allow for expansion.

If you have IMS create the IMS catalog data sets automatically, you can specify additional space as a percentage of the estimates that are provided by the utility on the SPACEALLOC parameter in the IMS catalog section of the DFSDFxxx PROCLIB member. The default value for this parameter is 500%.

In the report, the following abbreviations are used:
DSG
Data set group
L
A HALDB ILDS data set. The number of records shown represent the potential number of indirect list entries (ILEs) that could be created if the IMS catalog is reorganized.
SC
Segment code. When loading a segment type, IMS assigns a segment code as a unique identifier (an integer from 1 to 255). IMS assigns numbers in ascending sequence, starting with the root segment type (number 1) and continuing through all dependent segment types in hierarchical sequence.
SEGS
Segments
X
HALDB partitioned primary index.
   CATALOG DFSCD000                                          
                                                             
   PARTITION DFSCD01
                                          
      NUMBER OF SEGMENTS INSERTED INTO THE CATALOG
                      INSERTED                      AVERAGE  
      SC   SEGMENT    SEGMENTS   DSG   PARENT     SEGS/PARENT
      --   --------   --------   ---   --------   -----------
       1   HEADER        4228     A                          
       2   DBD           2530     A    HEADER         0.6    
       3   CAPXDBD          7     D    DBD            0.0    
       5   DSET          2599     D    DBD            1.0    
       7   AREA           139     D    DBD            0.1    
       9   SEGM         16337     B    DBD            6.5    
      10   CAPXSEGM         1     D    SEGM           0.0    
      12   FLD          16426     C    SEGM           1.0    
      14   MAR          16426     C    FLD            1.0    
      17   LCHILD        2687     B    SEGM           0.2    
      20   XDFLD          134     B    LCHILD         0.0    
      33   PSB           1840     A    HEADER         0.4    
      35   PCB           9190     B    PSB            5.0    
      37   SS           75274     B    PCB            8.2    
      39   SF            1105     B    SS             0.0    
      41   DBDXREF       8886     D    PSB            4.8    
                                                             
                 WITHIN    DUPLICATES                        
                EXISTING       NOT                           
      SEGMENT    HEADER     INSERTED                         
      -------   --------   ----------                        
      DBD           71           0                           
      PSB           72           0                           
                                                             
      ESTIMATED SPACE REQUIREMENT TO HOLD INSERTED SEGMENTS  
        DSG   BLKSIZE   BLOCKS                               
        ---   -------   ------                               
         A      4096       596                               
         B      4096      9343                               
         C      4096      8214                               
         D      4096       236                               
                                                             
        DSG   RECORDS                                        
        ---   -------                                        
         L      8886                                         
         X      4230                                         
                                                             
        SECONDARY                                            
        INDEX        RECORDS                                 
        ---------    -------                                 
        DFSCX000       8886

Return codes

The DFS3PU00 utility returns the following codes:

0
All operations completed successfully.
4
One or more records could not be loaded into the IMS catalog. Warning messages issued.
8
One or more records could not be loaded into the IMS catalog. Error messages issued.
Greater than 8
Program terminated due to severe errors.