ENUMROWS


The ENUMROWS option provides estimated information that LOADPLUS and BMCSORT use to dynamically allocate your data sets and to determine the most efficient method for performing sort processing.

ENUMROWS.png

If the value for the AUTOENUMROWS installation option is NO, specify the ENUMROWS command option for any of the following scenarios:

  • You specify the ANALYZE option.

    You must specify either AUTO or the appropriate total or new parameter so that LOADPLUS can accurately estimate the size of the work files.

  • Dynamic data set allocation is active.

    You must specify either AUTO or the appropriate total or new parameter so that LOADPLUS can accurately estimate the size of the work files.

  • BMCSORT is dynamically allocating your sort work data sets.

    We recommend that you specify ENUMROWS, with either the AUTO option or the appropriate total or new parameter, to allow BMCSORT to most accurately and efficiently allocate your sort work data sets.

    Important

    When BMCSORT is dynamically allocating your sort work data sets, we recommend that you also specify a value greater than 0 for the SORTNUM installation or command option.

  • You are loading a very large number of rows.

    In this case, we strongly recommend that you specify ENUMROWS, with either the AUTO option or the appropriate total or new parameter, so that BMCSORT can determine the most efficient method for performing sort processing.

Specifying total, new, or error values

We recommend that you enable automated file size estimation by specifying either AUTO for the ENUMROWS command option or YES for the AUTOENUMROWS installation option. However, if you choose to specify your own estimates, consider the information in this section.

Use the following table to determine whether to specify a total or new value:


Whether to specify total or new with ENUMROWS

LOAD RESUME or REPLACE

total or new

Additional information

LOAD REPLACE

Either total or new

If you specify a value of 0 for both parameters, LOADPLUS assumes that you are loading zero rows. However, if you specify 0 for only one parameter, LOADPLUS uses the value of the other parameter.

If you specify a value for both parameters, LOADPLUS uses the largest value.

LOAD RESUME YES (including LOAD RESUME YES PART n REPLACE or LOAD RESUME YES INTO TABLE tableName REPLACE)

new

If you specify a value of 0 for new, LOADPLUS assumes that you are loading zero rows unless you also specify a value for the total parameter. If you also specify a value for the total parameter, LOADPLUS calculates a value for the new parameter based on the total parameter and the number of existing rows.

Note the following additional information for specifying total, new, or error values:

  • If you specify values for the total, new, or error parameters, note that they are positional. The following example illustrates specifying only the new parameter:

    ENUMROWS (,15000)
  • Do not include commas in the numbers that you specify.
  • For any of the ENUMROWS values, we recommend that you overestimate rather than underestimate. Overestimating results in LOADPLUS allocating files that are larger than needed, but underestimating can cause your job to terminate.
  • For partitioned table spaces, LOADPLUS assumes an even distribution of rows across the partitions being loaded and divides the number that you supply by the number of partitions. If rows are not evenly distributed across partitions, consider using the following formula to determine the value to supply for ENUMROWS:

    est rows for largest partition * number of partitions to be loaded

Restriction

When invoking DSNUTILB, LOADPLUS ignores this option.

Specifying the default

You can specify the default behavior for automated file size estimation in your installation options module by using the AUTOENUMROWS installation option. LOADPLUS was shipped with a default value of YES for this option. Any value that you specify for the ENUMROWS command option overrides the AUTOENUMROWS value that is in the installation options module.

AUTO

This option tells LOADPLUS to automatically estimate the size of the input files whose ddnames you supply in your JCL. If you are loading multiple input files, LOADPLUS issues a separate message BMC51561I for each input file, indicating the calculated number of input records for that file.

Additional considerations

Note the following information about automated file size estimation:

  • For files with variable-length records, LOADPLUS estimates data in variable-length columns as 50 percent of the defined column length. If you know that this will result in an over- or under-allocation, use the percent parameter to adjust the file size estimation.
  • LOADPLUS supports all major tape management systems. However, if you use the BMC Control-M/Tape product as your tape management system, the Control-M/Tape load library must be in your system LINKLIST or your JOBLIB or STEPLIB libraries. If this load library is not available, you might receive inaccurate file size estimations for tape input data sets.
  • When any of the following conditions exists, LOADPLUS might not accurately estimate your input file size. In these cases, LOADPLUS issues a message BMC51562W with an explanation of the condition. LOADPLUS continues processing, but might not provide optimal allocation of your work data sets or might not allocate sort processes efficiently.
    • The input file is a member of a PDS or PDSE.

      LOADPLUS cannot determine the file size of a PDS or PDSE member. In this case, LOADPLUS estimates a standard file size of 40 MB per file. If this size is not a reasonable value, use the percent parameter to adjust the estimate.

    • The files span more than five volumes.

      For volumes after the fifth volume, LOADPLUS estimates the file size as the average of the first five volumes.

    • The input data is compressed.

      LOADPLUS attempts to adjust its estimate for compression, but cannot determine the compression ratio. If you understand how compression affects your data, use the percent parameter to adjust the calculation.

    • The input file is a pipe data set.

      LOADPLUS cannot determine the file size of a pipe data set. In this case, LOADPLUS estimates a file size of 0. If you are performing a load job that needs an ENUMROWS specification (such as dynamically allocating work files), and your input file is a pipe data set, specify a numeric value for ENUMROWS.

    • The input file is empty or is a dummy data set.

      If your input file is empty or you specify DD DUMMY, LOADPLUS cannot correctly determine the record format or file size. In this case, we recommend that you specify ENUMROWS 0 instead of AUTO.

  • If you are using UNLOAD PLUS with FORMAT BMCLOAD and LOADPLUS with FORMAT BMCUNLOAD, consider specifying ENUMROWS as a string on the UNLOAD PLUS CNTLCARDS option instead of automating file size estimation. In this case, UNLOAD PLUS provides the number of rows that it has unloaded with the LOADPLUS ENUMROWS option that it generates. For an example, see Example 14 — LOAD REPLACE from UNLOAD PLUS data in internal format.
  • When estimating file size, LOADPLUS does not consider the following items:

    • Discarded data, including discards due to WHEN processing
    • Nonparticipating partitions

    To adjust for these conditions, use the percent parameter.

percent

This parameter allows you to specify the percentage of the calculated file size to use as an estimate. You can specify a value from 1 through 231 and you do not need to specify a percent sign. The default value is 100.

Use this parameter to fine-tune automated file size estimation. For example, you might want to use this parameter in the following situations:

  • Under conditions that LOADPLUS does not take into account, such as discarded data
  • When specifying multiple INTO statements for different tables

    In this case, LOADPLUS estimates file size based on an assumption that each input record will be loaded into each table. If you know that each input record will be loaded into only one table (for example, if you specify UNIQUEINTO), you can use this parameter to reduce the estimated file size.

  • When specifying multiple INTO statements for the same table

    LOADPLUS estimates file size by multiplying the estimated number of input records by the number of tables being loaded. Because only one table is being loaded, LOADPLUS might underestimate the file size in this case. Use this parameter to increase the estimated file size.

  • When the difference between the calculated number of input records reported by message BMC51561I and the actual number of records reported by message BMC51478I is significant (for example, when loading variable-length files)

    In this case, use the following formula to determine a value to specify:

     percent = (actual * 100) / calculated

total

This value is an integer that specifies the total number of rows that you expect to have in all tables of the table space following the load. A value of 0 tells LOADPLUS to dynamically allocate data sets of minimal size for those DDTYPEs for which dynamic allocation is active.

If BMCSORT is dynamically allocating sort work data sets, LOADPLUS passes this integer to BMCSORT through the SIZE sort parameter.

new

This value is an integer that specifies the number of records in your SYSREC data set. A value of 0 tells LOADPLUS to dynamically allocate data sets of minimal size for those DDTYPEs for which dynamic allocation is active.

Additional considerations

Note the following additional considerations:

  • For multi-table table spaces, LOADPLUS multiplies the value that you specify by the number of tables that you are loading.
  • For LOAD RESUME YES PART n REPLACE INDEX UPDATE, new is the total number of rows that you expect to have in the partitions that you are replacing.

error

This value is an integer that specifies the number of rows that you expect to be discarded. The default is 32000 or the number of rows being loaded if that number is less than 32000. Specify a value for error only if you expect the number of discards to be greater than 32000. This option applies only if LOADPLUS is dynamically allocating the SYSERR or SYSDISC data sets.

Note

If you specify the DISCARDS option with a value greater than 0 and you are dynamically allocating SYSDISC, LOADPLUS uses the DISCARDS value instead of the value for error to determine the size of the SYSDISC data set.


 

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