IMS required data sets


File-AID for IMS/ISPF accesses data in IMS databases through the DL/I facility of IMS and runs as a DL/I or BMP program.

In the Browse, Edit, Extract, and Load functions, you can specify a region type of DL/I or BMP to access the databases in their respective regions.

A DL/I region type invokes a batch DL/I region to access offline databases.

A BMP region type invokes a BMP region to access online IMS/DC and DBCTL databases.

The Browse and Edit functions access databases under TSO/ISPF. The Initialize, Extract, and Load functions run in a batch processing environment started with job control language (JCL). The Initialize function is restricted to DL/I processing only.

The following ddnames are the only IMS-related ddnames that File-AID for IMS/ISPF uses. Other IMS DDs that can be allocated before invoking File-AID for IMS/ISPF do not have any effect on your use of the product.

IMS DD Concatenation

Two types of data sets are concatenated and allocated to the IMS ddname by File-AID for IMS/ISPF. The first is the PSB library that contains the PSB load modules that File-AID for IMS uses in its processing. The load library and the PSBs are defined to File-AID for IMS when it is installed at your site. If you use only dynamic PSBs, you do not have to generate any PSBs or specify a PSB library. If you use static PSBs, you need to specify a PSB library that contains the PSB you will use.

The second type of data set is the DBD library that contains the DBD load module you defined and generated to describe the database you want to manipulate. Later sections describe the primary options of File-AID for IMS/ISPF and how to specify the DBD you want to use and the DBD libraries that File-AID for IMS should search to find that DBD.

The allocation and de-allocation of the IMS DD concatenation is always handled by File-AID for IMS/ISPF. An error occurs when you invoke File-AID for IMS/ISPF if you already allocated a data set to this DD statement.

The IMS DD concatenation is not required for File-AID for IMS/ISPF functions that are run as BMP programs.

File-AID for IMS/ISPF normally handles the allocation and de-allocation of the following DD statements for DL/I processing:

  • DFSRESLB DD
  • DFSVSAMP DD
  • RECON DDs

Default data sets for the first two are defined to File-AID for IMS when it is installed at your site. In DL/I mode, if you allocate any of these DD statements before invoking File-AID for IMS/ISPF, it does not attempt to allocate or de-allocate them. In BMP mode, the DFSRESLB DD is freed and allocated to what was defined at the install. The data sets you allocate to these DD statements are not validated.

DFSRESLB DD Concatenation

The data set allocated to the DFSRESLB DD contains the IMS nucleus and required action modules.

If the IMS database dataset names used by a DL/I region are to be obtained from the IMS dynamic allocation member (MDA), then the MDA library needs to be included here also. In addition, any libraries containing IMS exits (such as the HDAM randomizing exit if it is not one of the IMS-supplied randomizers) need to be included here. All DFSRESLB data sets need to be MVS-authorized libraries.

RESLIB concatenations are treated differently from other ddname concatenations. If RESLIB data sets are preallocated, or are specified on the IMS Parameters screen, the DFSRESLB concatenation list defined to the environment is not used. This exclusion is done to assure that there is no unintentional mixture of IMS releases specified in the RESLIB concatenation.

TASKLIB/STEPLIB/MDALIB

In addition to allocating RESLIB data sets, File-AID for IMS/ISPF constructs a TASKLIB or STEPLIB concatenation that is used when IMS is accessed. Creating this concatenation allows IMS to access non-authorized load libraries, such as MDA libraries or third-party software packages. The DSN command provides a convenient means to view concatenation lists that are in effect for the current session. For additional information, see DSN.

DFSVSAMP DD

The data set allocated to the DFSVSAMP DD contains buffer information required by the DL/I Buffer Handler. This DD statement is not required for File-AID for IMS/ISPF functions that run as BMP programs.

RECON DDs

When accessing a database using an IMS DL/I region, DBRC can be used to control access to the database and to record the logs used for recovery. DBRC writes this information to the RECON1 and RECON2 DDs. If using DBRC, these data sets must be allocated to the DL/I region. Since it is important that the correct RECON DDs be used, the preferable way for them to be allocated is to let IMS dynamically allocate them using the RECON1 and RECON2 dynamic allocation members in the IMS dynamic allocation library. They can also be allocated from a CLIST, a LOGON PROC, a security exit, or they can be specified by Option 0.4, IMS DLI Data sets. For more information, see Configuring BMC AMI DevX File-AID for IMS/ISPF.

Allocation of the RECON DDs is not required for File-AID for IMS/ISPF functions that run as BMP programs.

Database DDs

The DBD for your database specifies the unique ddname that is associated with each database dataset. IMS requires the database dataset to be allocated to the ddname before any DL/I calls are issued. Each option of File-AID for IMS/ISPF that uses a database, with the exception of those that run as BMP programs, enables you to specify the correct data set name for each DD statement so that File-AID for IMS/ISPF can then handle the allocation of the database. Each of those options is explained later, where you will learn how to specify database dataset names. Do not allocate any database datasets before invoking File-AID for IMS/ISPF.

IMS PROCLIB and DFSESL Concatenations

When you specify the SSM IMS parameter on either a DL/I or BMP parameter string, the system attempts to allocate appropriate data sets to the PROCLIB and DFSESL ddnames for use during edit and browse sessions. In addition, JCL that executes DL/I or BMP jobs contains the appropriate concatenations of these ddnames.

IEFRDER DD

When you change the contents of a database, IMS writes a detailed record of the update activity to the IEFRDER DD.

When using Option 2 or Option 4.2 to edit or load a database, specify whether File-AID for IMS is to allocate a log data set to the IEFRDER DD. This specification is described in detail in Browse-Edit and Extract-Load. For Option 3.1, Initialize Data Base, a log is always allocated unless the allocation is overridden through the File-AID for IMS/ISPF security exit routine that your installation can optionally create. The security exit routine is described later in this section. The following options control disposition of the IMS log data set:

  1. If you enter AK on the appropriate screen, a log data set is allocated and cataloged when IMS becomes active. A detailed record of all update activity is written to this data set as you change the contents of the database. When you terminate the function, the batch job is completed successfully or the system abends and the log data set is cataloged.

    If your TSO-PREFIX matches your TSO-ID, the log data set name is formatted as follows:

      tso-id.IMSLOG.Dyymmdd.Thhmmss.dbd-name

    tso-id

    Your TSO user ID, up to 7 characters.

    yymmdd

    The Gregorian date when the log data set is created.

    hhmmss

    The hour, minute, and second when the log data set is created.

    dbd-name

    The name of the primary DBD used during the edit session, up to 8 characters.

    If your TSO-PREFIX does not match your TSO-ID, the log data set name is formatted as follows:

    tso-prefix.tso-id.IMSLOG.Dyymmdd.Thhmmss.dbd-name

    tso-prefix

    Your TSO user PREFIX, up to 7 characters.

  2. If you enter AD on the appropriate screen, File-AID for IMS processes as described above, except that when you terminate the function or the batch job is completed successfully, the cataloged log data set is deleted. If an abend occurs during processing, the log data set remains cataloged. This action is the automatic specification for Option 3.1, Initialize Data Base.
  3. If you enter N on the appropriate screen, a log data set is not created. The IEFRDER DD is allocated to DUMMY. Note that IMS requires a log if the PSB has update intent and DBRC is being used. In this case File-AID for IMS will require the field to be AK or AD.

For the Edit function, if you manually allocate a data set to the IEFRDER DD before you invoke File-AID for IMS/ISPF and then enter AK or AD on the Data Base Specification screen, File-AID for IMS overrides your data set allocation and processes as described above. If you enter N on the screen, your data set allocation is not changed. The data set you allocated is used as the log data set and remains allocated when you terminate your edit session. For the Initialize and Load (batch job type) functions, a manually allocated IEFRDER DD is not used.

The IEFRDER DD is not used in the Edit or Load function when it is run as a BMP program.

Your entries for the log data set usage can be changed through a File-AID for IMS/ISPF security exit routine that your installation can optionally create. For example, assume your installation specifies through the security exit that log data sets are to be created for all users when their edit sessions start, then deleted when they end their edit sessions. If you enter AK or N on the Data Base Specification screen when you begin an edit session, you will notice as you leave the session that your specification was changed to AD. After the security exit sets the log data set usage indicator to the installation default, File-AID for IMS processes as described in the preceding paragraphs.

For additional information on your installation’s security exit routine and database recovery procedure, contact the person responsible for File-AID for IMS/ISPF at your installation.

The log data set created by File-AID for IMS/ISPF can be used in a database recovery procedure (for example, the Data Base Backout utility described in IBM’s IMS Utilities Reference Manual or the Data Base Recovery Control (DBRC) feature).

Should it be necessary to execute the IMS Batch Backout utility, you can follow the normal recovery procedure if the activity to be backed out was performed using a static PSB. If you were using a dynamic PSB, the following steps should be used.

Step 1

Generate PSB XIXPSB00. Code this PSB as you would any other PSB for the database that is to be backed out. Take note of the following requirements:

  • KEYLEN must match your DBD’s maximum concatenated key length.
  • PROCOPT must be A.
  • A SENSEG statement must be coded for all segments in your database.
  • PSBNAME must be XIXPSB00.
  • The PSB must not be linked into File-AID for IMS’s PSB library.
  • The PSB library member name on the PSBLINK step must be XIXPSB00.

Sample Source for Backout Job

*********************SAMPLE PSB**********************
       PRINT    GEN
       PCB      TYPE=DB,DBDNAME=dbdname,KEYLEN=xx,
                PROCOPT=A
       SENSEG   NAME=ROOT,PARENT=0
       SENSEG   NAME=CHILD1,PARENT=ROOT
       SENSEG   NAME=CHILD11,PARENT=CHILD1
       SENSEG   NAME=CHILD2,PARENT=ROOT
       SENSEG   NAME=CHILD21,PARENT=CHILD2
       PSBGEN   LANG=PLI,PSBNAME=XIXPSB00,CMPAT=YES
       END

Step 2

Execute the IMS backout utility.

IMSLOGR

Specify the log data set created in your edit session or the tape data set created in JOB #1.

SYSIN

The first checkpoint issued during an edit session is IX000001. To backout all changes applied during an edit session, specify IX000001. Additional checkpoints are incremented by one (for example, IX000002, IX000003, etc...). The intervals where checkpoints are taken are described in RECOVERY (Edit only).

ddname1, 2,...

Specify all ddnames and corresponding database datasets that are required for this database. A list of these ddnames and database datasets is displayed on the Data Base Dataset Specification screen.

Execute IMS Backout Utility

//*****************************************************************
//*                 EXECUTE IMS BACKOUT UTILITY
//*****************************************************************
//*
//BACKOUT  EXEC PGM=DFSRRC00,PARM=’DLI,DFSBBO00,XIXPSB00’
//STEPLIB  DD DSN=IMSVS.RESLIB,DISP=SHR
//DFRESLB  DD DSN-IMSVS.RESLIB,DISP=SHR
//DFSVSAMP DD DSN=your.dfsvsamp.pds(member),DISP=SHR
//IMS      DD DSN=your.psblib.library,DISP=SHR
//         DD DSN=your.dbd.library,DISP=SHR
//*IMSLOGR DD DSN=your.tape.dsn,DISP=OLD
//IEFRDER  DD DSN=ims-log-dataset-for-backout-utility,
//            DISP=(,DELETE),UNIT=SYSDA,SPACE=(TRK,(10,10),RLSE),
//            DCB=(RECFM=VB,LRECL=1044,BLKSIZE=1048)
//SYSPRINT DD SYSOUT=*
//ddname1  DD DSN=database.dataset1,DISP=OLD
//ddname2  DD DSN=database.dataset2,DISP=OLD
//*
//SYSIN    DD *
CHKPTIX000001
/*
//

 

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