Creating multiple virtual tables for IMS

The IMS bulk virtual table creation feature enables you to generate multiple IMS virtual tables simultaneously using a single batch job. By specifying the required virtual table definitions in the AVZMFPAR member, DVM can create virtual tables for multiple IMS segments in a single execution.

About this task

Create multiple virtual tables that map to the IMS data you want to access. This feature is useful when onboarding large IMS databases or creating virtual tables for multiple segments. During processing, DVM can optionally extract the required DBD and PSB definitions, generate map definitions, and create the corresponding IMS virtual tables. This approach reduces manual effort and ensures consistent virtual table configuration.

Procedure

  1. Locate the AVZMFPAR member in the hlq.SAVZCNTL(AVZMFPAR ) data set.
  2. Modify the following parameters in the bulk batch job:
    Required? Parameter Description

    Required

    FUNCTION = BSTD

    The function to be performed by the DMF parser. This parameter is set to BSTD.

    Required

    SOURCE =

    The name of the data set that contains the source to parse.

    Optional

    SCHEMA

    Specifies the schema name that must be used. By default, the system uses the default schema.
    Note: This field is used only when the virtual table is created under user-defined schema.

    Required

    SAVE OPTION = REPLACE

    Specifies the DMF import saving option. Valid values are:
    • NOSAVE
    • SAVE (default)
    • REPLACE

    Required

    REFRESH OPTION = REFRESH

    Specifies whether to refresh the map. Valid values are:
    • NOREFRESH (default)
    • REFRESH
  3. Run the following command to create bulk virtual tables:
    //ENMASE DD*
    VT-IMS = “MAP NAME”,”DBD NAME”,”SEGMENT NAME”,”PSB NAME”,”COPYBOOK SOURCE”,”START FIELD”,”END FIELD”,”FLATTEN OPTION”,”USER RAW READ”,”SUPPRESS MAPREDUCE”
     
    Note: To create multiple virtual tables in a single batch job, specify multiple VT-IMS DD statements within the //ENMASE DD * input stream. Separate each virtual table definition with a semicolon (;). Each definition is processed independently, allowing multiple virtual tables to be created during a single job execution.

    The following table outlines the parameters required to create virtual tables in bulk for IMS:

    Required? Parameter Description
    Required MAP NAME Enter the MAP name the user wants to create.

    Optional

    DBD NAME

    Enter the DBD name for which you are creating the virtual tables.

    If DBD is not extracted, perform Step 4.

    Required

    SEGMENT NAME

    Enter the segment name from the specified DBD, for which you are creating the virtual tables.

    Optional

    PSB NAME

    Enter the PSB name to use to access the specified segment.

    If PSB is not extracted, perform Step 5.

    Required

    COPYBOOK SOURCE

    Enter the virtual source member name.

    Required

    START FIELD

    Identifies the first field in the data layout to be mapped.

    Optional

    END FIELD

    Identifies the last field in the data layout to be mapped.

    Optional

    FLATTEN OPTION

    Determines how arrays are processed. Valid values depend on the data source:

    • Flatten arrays into a single fixed table at runtime (Y)
    • Return arrays into separate tables at runtime (N)

    Optional

    USER RAW READ

    Indicates the user's raw data.

    Optional

    SUPPRESS MAPREDUCE

    Indicates whether to suppress map-reduce.

    Enter Y to suppress map-reduce.

    Optional

    PREWRITE

    This routine manipulates the data before writing it to the source file. It is a custom exit routine installed on the server that performs additional processing before a record is written to the data source.

    Optional

    POSTREAD

    It is a custom exit routine installed on the server that performs additional processing after a record is read from the data source.

  4. Run the following command to extract DBD:
    //ENMASE DD*
    DBD =”SOURCE MEMBER”,”IMSID”,”MRTHREAD COUNT”,”USER RAW READ”,”SUPPRESS MAPREDUCE”
     
    Note: Perform this step only if DBD is not extracted during virtual table creation.

    The following table outlines the parameters required to extract DBD:

    Required? Parameter Description
    Required SOURCE MEMBER Enter the source member name.

    Optional

    Required for IMS Direct or ODBA
    IMSID Specify the IMS ID of the IMS subsystem to use when multiple IMS subsystems are defined for use with IMS Direct.
    Optional MRTHREAD COUNT Number of threads to use for map-reduce.
    Optional USER RAW READ User raw read.
    Optional SUPPRESS MAPREDUCE

    Indicates whether to suppress map-reduce.

    Enter Y to suppress map-reduce.
  5. Run the following command to extract PSB:
    //ENMASE DD*
    PSB=”SOURCE MEMBER”,”SOURCE MEMBER”
     
    Note: Perform this step only if PSB is not extracted during virtual table creation.
    Required? Parameter Description
    Required SOURCE MEMBER Enter the source member name.
  6. Submit the job.