Restrictions for IMS High Performance Unload

Certain restrictions apply when using the unload utilities or the API of IMS High Performance Unload.

Restrictions common to all HSSR applications

The following restrictions apply to all HSSR application programs including the FABHURG1 utility and the FABHFSU utility:

  • Logical DBD is not supported.
  • A sensitive virtual logical child (LCHILD) is not supported.
  • Field sensitivity for an HSSR PCB is not supported.
  • Start of changeFor the restrictions of DBRC authorization for database access, see Support for database level sharing.End of change
  • For the restrictions of secondary index processing, see Considerations for using a secondary index.
  • If IMS database versioning is enabled and any database version other than the current version is specified, HSSR Engine passes the DL/I calls to the DL/I call handler of IMS. Certain HSSROPT control statements are ignored. For more information, see the explanation of message FABH0638W. For the FABHURG1 utility and the FABHFSU utility, any database version other than the current version is not supported.
  • The following restrictions apply to HSSR calls:
    • For details of call types supported in each API set, see DL/I calls supported by each API set.
      • If APISET 1 or 2 is specified, or if the target is a non-HD database, the following restrictions are applied:
        • An unqualified or qualified SSA is not fully supported.
        • Three or more SSAs are supported restrictedly.
        • Command codes except for NULL('*-') command code are not supported.
        • Multiple qualification statements are not supported.
      • If APISET 3 is specified for non-HD database and the unsupported call is issued, HSSR Engine ends abnormally without passing the call to IMS DL/I.
      • A get-next call issued after GU calls that returned a GE status might not return the same segment as DL/I.
    • For details about the EXEC DLI command types supported in each API set, see EXEC DLI commands supported by each API set. For the EXEC DLI commands, the restrictions corresponding those for the DL/I calls apply.
  • The following restrictions apply to Application Interface Block (AIB) interface:
    • HSSR calls using AIB interface are not supported.

      An HSSR call that uses the interface is passed to IMS's DL/I call handler and is processed as a DL/I call or an EXEC DLI command for the corresponding DL/I PCB.

    • An HSSR application program that uses AIB system service calls might have problems. The use of AIB system service calls is not recommended.
  • In APISET 1 and 2, by default, for a logical child with a logical parent's concatenated key (LPCK) that is specified as VIRTUAL on the SEGM statement of the DBD, HSSR Engine returns blanks in the I/O area that would usually hold the LPCK (as if field sensitivity were in effect). For compatibility with FSU II, FABHFSU returns binary zeros to the I/O area instead of blanks. If you need to have LPCKs built in the I/O area, you must specify the BLDLPCK control statement in the HSSROPT data sets.
  • The data capture exit routine is supported, with the following restrictions:
    • A data capture exit routine cannot issue an HSSR call.
    • If an application program issues an HSSR call for the PCB that follows, the call is transferred to the DL/I language interface and the message FABH0671W is issued with RC=USREXIT. The reason that caused the message is as follows:
      • PCB is generated with PROCOPT=R
      • The DBD referred to by the PCB is generated with the data capture exit routine.

      In this case, therefore, the HSSR application program cannot take advantage of the HSSR Engine.

  • No user-written Data Conversion exit routine (DFSDBUX1) is supported.
  • Db2® DL/I Batch interface is supported, with restrictions.

    See Considerations for Db2 DL/I Batch interface.

  • DL/I checkpoint and restart calls are supported, with restrictions.

    See Considerations for checkpoint and restart.

  • An HSSR application program can run in a database-sharing environment. However, if the application program reads a database that is concurrently being updated by IMS, HSSR Engine does not guarantee read integrity.

    See Consideration for database sharing.

  • An application program that gets information from DL/I control blocks might have problems in the IMS High Performance Unload environment.

Restrictions common to FABHURG1 and FABHFSU

The following restrictions are common to FABHURG1 and FABHFSU:

  • The DBD that specifies the input database must be a physical DBD.
  • If IMS database versioning is enabled, only the current version of the database can be used. Any other versions of the database are not supported.
  • FABHURG1 and FABHFSU do not support sensitive, virtually paired segments.

    In the ULU region, the virtual logical child segment is ignored. In the DLI and the DBB regions, the processing depends on the SKIPVLC control statement. For details of the SKIPVLC control statement, see SKIPVLC control statement.

    The restriction applies to the unloading of databases for reorganization because the data set input to IMS HD Reorganization Reload utility does not contain virtually paired segments.

    Note: Virtually paired segments are unloaded when migration unload (to HALDB) is performed.
  • If either of the following segment occurrences is skipped or lost during the unload, FABHURG1 and FABHFSU cannot be used in a reorganization to unload a corrupted database that has logical relationships:
    • A logical parent segment that has one or more logical children.
    • A logical child segment that is physically paired.
  • Make sure that no segments required by the IMS HD Reorganization Reload utility are missing during reorganization for either of the following reasons:
    • Having no segment types defined as data-sensitive by a SENSEG statement (this condition does not happen when you use a ULU region in unloading.)
    • Having a user exit routine set a return code indicating that some segments should be skipped.
  • No support is available for multivolume output data sets whose extents reside on volumes of more than one device type.
  • FABHURG1 and FABHFSU do not support IMS Tools Knowledge Base. It is supported by the IPR Unload utility. For the details, see the IMS Database Reorganization Expert User's Guide.

Restrictions specific to FABHURG1

The following restrictions apply only to FABHURG1:

  • If the BLDLPCK control statement is not specified in the HSSROPT data set, the following restriction applies:
    • When FABHURG1 retrieves a logical child segment for which the logical parent's concatenated key (LPCK) has been specified as VIRTUAL on the SEGM statement of the DBD, blanks are returned to the part of the I/O area where the LPCK is to be placed.

    Therefore, you must specify a BLDLPCK control statement when unloading such a database if you specified the database in the DBIL= statement when running the IMS Database Prereorganization utility. For performance reason, you should not specify a BLDLPCK statement if you specified the database in the DBR= statement when running the Prereorganization utility.

  • For migration unload and fallback unload, the following restrictions apply:
    • Migration unload of the secondary index is not supported.
    • Migration unload of the HISAM database is not supported.
    • If PTR=H or PTR=HB is defined as the parent segment of virtual logical child, FABHURG1 does not support the migration unload of the database.
    • Fallback unload of the partitioned secondary index (PSINDEX) is not supported.

Restrictions specific to FABHFSU

The following restrictions apply only to FABHFSU:

  • FABHFSU cannot be run in the DBB region; FABHDBB procedure cannot be used for FABHFSU.
  • HSSRPCB and HSSRDBD control statements specified in the HSSROPT data set are always ignored. In FABHFSU, HSSR PCBs are specified by the DBD control statement and the PSB control statement in the CARDIN data set (see FABHFSU CARDIN input data set).
  • By default, for a logical child segment for which a logical parent's concatenated key (LPCK) is specified as VIRTUAL on the SEGM statement of the DBD, binary zeros are returned to the I/O area when that segment is retrieved. This is because of the compatibility with FSU II. If you need to have the LPCK built—for example, when you have specified the DBIL control statement in the Database Prereorganization utility—you must specify the BLDLPCK control statement in the HSSROPT data set when you run the FABHFSU job.
  • The PROCOPT statement fields on the PCB and SENSEG statements can have any value acceptable to IMS, although only the PROCOPTs that are listed in Processing option (PROCOPT) requirements have meaning to FABHFSU.
    Note: In a database-sharing environment, DBRC uses the PROCOPT values to check whether database access can be granted (see Handling data set extensions).
  • Field sensitivity can be specified during PSBGEN, but is ignored by FABHFSU.