IBM Support

PQ83931: VARIOUS SYMPTOMS DEPENDING ON SYSTEM ENVIRONMENT DUE TO DEFECTIVE LOGIC IN PROCESSING DBLEN PARAMETER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • This APAR fixes some defective logic in processing DBLEN
    parameter, which can result in:
    1. SRG message MSGFABO0116A                            FABO0116A
    2. RC=8 from SRG - corrected by specifying a fixed DBRECSZ
    3. MSGFABO0207A - corrected by increasing RAA          FABO0207A
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IMS Sequential Randomizer       *
    *                 Generator for OS/390 Release 1               *
    *                 (FMID=H1J1110) who are using an HDAM or      *
    *                 PHDAM randomizer that was generated by SRG   *
    *                 or who are to generate an HDAM or PHDAM      *
    *                 randomizer by using SRG. Users of a DEDB     *
    *                 randomizer are not affected.                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1) SRG calculates the required number   *
    *                      of RAPs per CI incorrectly when the     *
    *                      DBLEN parameter of the ANALYZE control  *
    *                      statement is specified for generating   *
    *                      an HDAM or PHDAM randomizer. If SRG     *
    *                      runs on a pre-z/Architecture processor, *
    *                      SRG normally ends, but the calculated   *
    *                      number of RAPs per CI is not the        *
    *                      expected one. If SRG runs on a          *
    *                      z/Architecture processor, SRG can issue *
    *                      the message MSGFABO0116A and end with a *
    *                      return code of 8 (RC08).                *
    *                      2) The CALLTYPE parameter is not        *
    *                      supported for HDAM and PHDAM but SRG    *
    *                      continues processing even if the        *
    *                      CALLTYPE parameter of the ANALYZE       *
    *                      control statement is specified when an  *
    *                      HDAM and PHDAM randomizer is generated. *
    ****************************************************************
    * RECOMMENDATION: Apply the maintenance for this APAR.         *
    ****************************************************************
    1) SRG calculates the required number of RAPs per CI incorrecly
       when the DBLEN parameter of the ANALYZE control statement is
       specified for generating an HDAM or PHDAM randomizer. If SRG
       runs on a pre-z/Architecture processor, SRG normally ends,
       but the calculated number of RAPs per CI is not the expected
       one. If SRG runs on a z/Architecture processor, SRG can issue
       the message MSGFABO0116A and end with a return code of 8
       (RC08).
    2) The CALLTYPE parameter is not supported for HDAM and PHDAM
       but SRG continues processing even if the CALLTYPE parameter
       of the ANALYZE control statement is specified when an HDAM
       and PHDAM randomizer is generated.
    

Problem conclusion

  • If the DBLEN parameter is specified for generating an HDAM or
    PHDAM randomizer, the module FABOCOMP calculates the average
    record length incorrectly, which results in producing an
    incorrect number of required RAPs per CI. Just fixing the
    defective logic mentioned above results in generating, from a
    same set of control statements and an input key file, a
    randomizer that is different from the one that was generated by
    SRG to which the maintenance provided by this APAR is not
    applied. To avoid this problem, the defective logic in
    processing of the DBLEN parameter is not fixed but a parameter
    DBLOFFST that has the same function as that of DBLEN but that
    does not have the defective logic is introduced. The FABOCOMP
    routine has been modified also to check whether the calculated
    number of RAPs per CI is less than the allowable upper bound.
    These modifications of FABOCOMP and the introduction of DBLOFFST
    resolve the problem (1). After the application of this fix, the
    message MSGFABO0130W 'DBLEN PARAMETER IS OBSOLETE - ACTION
    REQUIRED' is issued when SRG runs with the DBLEN specified for
    generating an HDAM or PHDAM randomizer.
    FABOANA macro has been modified to check the syntax of the
    control statements properly. SRG issues a message and ends with
    a return code of 8 (RC08) when a syntax error in the control
    statement is found. This modification resolves the problem (2).
    *
    ********
    * NOTE *
    ********
    These changes affect only the generation of an HDAM or PHDAM
    randomizer. Users of a DEDB randomizer are not affected. After
    the maintenance that is provided by this APAR is applied, SRG
    issues the message MSGFABO0130W:
     FABO0130W DBLEN PARAMETER IS OBSOLETE - ACTION REQUIRED
    and ends with a return code of 4 (RC04) when you run SRG with
    specifying the DBLEN parameter for an HDAM or PHDAM randomizer.
    The DBLEN parameter is superseded by the DBLOFFST parameter for
    HDAM and PHDAM SR by this APAR. The DBLEN parameter is supported
    only for the compatibility with the existing JCL streams. If you
    get the message FABO0130W, one of the following actions is
    required:
     - If you ran SRG to generate an SR for new HDAM or PHDAM
       database, run SRG again with specifying the DBLOFFST
       parameter instead of the DBLEN parameter.
     - If you ran SRG to regenerate an SR for an exiting HDAM or
       PHDAM database for which an SR that was generated by SRG
       with the DBLEN parameter specified is used, check the
       number of RAPs per CI printed as the second sub parameter
       of the RMNAME parameter in the "RECOMMENDED DBD CONTROL
       STATEMENT REPORT."  If the number is different from the one
       reported at the SRG run for the existing SR, you need to
       unload and reload the database. Observe the following
       procedure:
        1. Unload the existing database by using the original SR.
        2. Run SRG with specifying the DBLOFFST parameter.
        3. Reload the database by using SR generated by SRG in the
           previous step.
       If the reported number of RAPs per CI is same as the one
       reported at the SRG run for the existing SR, you can use
       the generated SR without unloading and reloading the
       database.
    *
    ************************
    * Documentation Change *
    ************************
    IMS Sequential Randomizer Generator for OS/390 V1R1 User's Guide
    ( SC27-0926-01 ) should be changed as follows:
    *
    Chapter 2. Operating Instructions
     Input
      Control Statements
       ANALYZE Control Statement
    
      The DBLOFFST parameter is added for HDAM and PHDAM and it has
      the same function as that of the DBLEN parameter.
    *
      DBRECSZ (HDAM/PHDAM)
        Specifies the average record length (in bytes) of the
        database to be stored in the root addressable area. This
        parameter must be specified when a value is not specified
    |   in the DBLOFFST parameter.
        This value must be greater than the database key length,
    |   and must not be more than 65535. If DBRECSZ and DBLOFFST
        parameters are both specified, the DBRECSZ parameter is
        ignored.
        The average length must include the prefix of each segment.
    *
    Chapter 2. Operating Instructions
     Input
      Database Key File
    
          Logical record length             INLRECL
          Block length                      INBLKSZ
          Key field position                INOFFST
          Key field length                  INKEYL
          Key field attribute               (a,b,c ,d )
    |     Database record length position   DBLOFFST (for HDAM and
    |                                                 PHDAM)
    |                                       DBLEN (for DEDB)
    
    *
    Chapter 2. Operating Instructions
     Input
      Considerations Before Running SRG
    
      SRG examines the database key file in order to test the
      following:
      - The database key has the same attributes as those specified
        in the ANALYZE control statement.
      - There is no duplication or ascending sequence error of the
        database keys.
      - The database record length matches the value specified in
        the database record length field (checked only when DBLEN
    |   or DBLOFFST is specified).
    
    *
    Appendix A. Control Statements
     ANALYZE Control Statements
    
      The DBLOFFST parameter is added for HDAM and PHDAM and it has
      the same function as that of the DBLEN parameter.
    
    Appendix G. Messages and Codes
     SRG Messages
    
    | FABO0130W DBLEN PARAMETER IS OBSOLETE - ACTION REQUIRED
    |
    |  Explanation: The DBLEN parameter is superseded by the
    |  DBLOFFST parameter for HDAM and PHDAM SR by APAR PQ83931.
    |  The DBLEN parameter is supported only for the compatibility
    |  with the existing JCL streams.
    |
    |  System Action: SRG continues processing.
    |
    |  Programmer Response: One of the following actions is
    |  required:
    |   -  If you ran SRG to generate an SR for new HDAM or PHDAM
    |      database, run SRG again with specifying the DBLOFFST
    |      parameter instead of the DBLEN parameter.
    |   -  If you ran SRG to regenerate an SR for an exiting HDAM
    |      or PHDAM database for which an SR that was generated by
    |      SRG with the DBLEN parameter specified is used, check
    |      the number of RAPs per CI printed as the second sub
    |      parameter of the RMNAME parameter in the "RECOMMENDED
    |      DBD CONTROL STATEMENT REPORT."  If the number is
    |      different from the one reported at the SRG run for the
    |      existing SR, you need to unload and reload the database.
    |      Observe the following procedure:
    |       1. Unload the existing database by using the
    |          original SR.
    |       2. Run SRG with specifying the DBLOFFST parameter.
    |       3. Reload the database by using SR generated by
    |          SRG in the previous step.
    |      If the reported number of RAPs per CI is same as the
    |      one reported at the SRG run for the existing SR, you
    |      can use the generated SR without unloading and
    |      reloading the database.
    *
      FABO0205I THE NUMBER OF DB RECORD SIZE ERRORS IS xxxxxxxx
    
       Explanation:  The database record length of the input key
       data was shorter than the key length (INKEYL) specified on
       the ANALYZE control statement. This message is issued when
    |  the record length was specified with the DBLEN or DBLOFFST
    |  parameter. xxxxxxxx is the total number of incorrect records.
    
       System Action: SRG ignores the incorrect key records and
       continues processing. SRG eventually ends processing with
       RC=4.
    
       Programmer Response: Take one of the following actions
       depending on the error type:
       - When the input key file contains an incorrect length record
         but it may be ignored, use the SRG execution results.
       - When there was a creation error of the input key file,
         re-create the input key file so that the database record
         length is longer than the input key length, and rerun the
         SRG job.
    |  - When specification of the DBLEN or DBLOFFST parameter of
    |    the ANALYZE control statement was wrong, correct the
    |    specification of the DBLEN or DBLOFFST parameter according
    |    to the specification of the input key file, and rerun the
    |    SRG job.
    |
    |  Note: DBLEN parameter is accepted only for the compatibility.
    |  Use DBLOFFST, instead of DBLEN, for HDAM and PHDAM.
    
    Appendix G. Messages and Codes
     SRG Control Statement Messages
    
      All the messages have the same message number (FABO9000A),
      and a submessage number (such as ANALYZE-001) to identify
    | each message. The message FABO9000W (ANALYZE-022) is the
    | only exception.
    *
    | FABO9000A (ANALYZE-017) ** NO SPECIFICATION OF DBLOFFST AND
    |           DBRECSZ
    
       Explanation: TYPE=OSAM or TYPE=VSAM was specified and neither
    |  DBLOFFST nor the DBRECSZ parameter was specified.
    
       System Action: SRG issues the FABO0107A message and ends with
       RC=8.
    
    |  Programmer Response: Specify the correct DBLOFFST and DBRECSZ
       parameters and rerun the SRG job.
    |
    | FABO9000A (ANALYZE-018) ** DBLEN FIELD OVERLAPS KEY FIELD
    |
    |  Explanation: The field containing the database record length
    |  overlaps the key field in the input database key record.
    |
    |  System Action: SRG issues the FABO0107A message and ends with
    |  RC=8.
    |
    |  Programmer Response: Specify the correct DBLEN parameter and
    |  rerun the SRG job.
    |
    | FABO9000A (ANALYZE-019) ** DBLOFFST FIELD OVERLAPS KEY FIELD
    |
    |  Explanation: The field containing the database record length
    |  overlaps the key field in the input database key record.
    |
    |  System Action: SRG issues the FABO0107A message and ends with
    |  RC=8.
    |
    |  Programmer Response: Specify the correct DBLOFFST parameter
    |  and rerun the SRG job.
    |
    | FABO9000A (ANALYZE-020) ** DBLOFFST PARAMETER IS INVALID IN
    |           DEDB
    |
    |  Explanation: Both TYPE=DEDB and the DBLOFFST parameter were
    |  specified on the ANALYZE control statement. The DBLOFFST
    |  parameter can be specified only when TYPE=OSAM or TYPE=VSAM.
    |
    |  System Action: SRG issues the FABO0107A message and ends with
    |  RC=8.
    |
    |  Programmer Response: Take one of the following actions
    |  depending on the error type:
    |  - When the database type is DEDB and the DBLOFFST parameter
    |    is specified, delete the DBLOFFST parameter and rerun the
    |    SRG job.
    |  - When the database type is HDAM or PHDAM (that is, TYPE=OSAM
    |    or VSAM) specify TYPE=OSAM or VSAM and rerun the SRG job.
    |
    | FABO9000A (ANALYZE-021) ** DBLOFFST PARAMETER IS NOT SPECIFIED
    |           WITH DBLEN PARAMETER
    |
    |  Explanation: Both the DBLEN and DBLOFFST parameters were
    |  specified on the ANALYZE control statement. Either the DBLEN
    |  parameter or the DBLOFFST parameter can be specified.
    |
    |  System Action: SRG issues the FABO0107A message and ends with
    |  RC=8.
    |
    |  Programmer Response: The DBLEN parameter is superseded by the
    |  DBLOFFST parameter. Take one of the following actions
    |  depending on the error type:
    |  - When you use the DBLEN parameter for compatibility, delete
    |    the DBLOFFST parameter and rerun the SRG job.
    |  - When you use SRG for generating a new HDAM or PHDAM
    |    randomizer, delete the DBLEN parameter and rerun the SRG
    |    job.
    |  - When you use the DBLOFFST parameter instead of the DBLEN
    |    parameter, the observe the following migration procedure:
    |
    |    1. Unload the existing database by using the original SR.
    |    2. Run SRG with specifying the DBLOFFST parameter.
    |    3. Reload the database by using SR generated by SRG in the
    |       previous step.
    |
    | FABO9000W (ANALYZE-022) ** DBLEN PARAMETER IS OBSOLETE
    |
    |  Explanation: The DBLEN parameter is superseded by the
    |  DBLOFFST parameter.
    |
    |  System Action: SRG continues processing.
    |
    |  Programmer Response: See the Programmer Response section of
    |  the FABO0130W message.
    |
    | FABO9000A (ANALYZE-023) ** CALLTYPE IS INVALID IN TYPE=HDAM
    |
    |  Explanation: Both TYPE=VSAM or OSAM and the CALLTYPE
    |  parameter were specified on the ANALYZE control statement.
    |  The CALLTYPE parameter can be specified only when TYPE=DEDB.
    |
    |  System Action: SRG issues the FABO0107A message and ends with
    |  RC=8.
    |
    |  Programmer Response: Take one of the following actions
    |  depending on the error type:
    |  - When the CALLTYPE parameter was specified for the database
    |    type HDAM or PHDAM (that is, TYPE=OSAM or VSAM), delete the
    |    CALLTYPE parameter and rerun the SRG job.
    |  - When the database type is DEDB, specify TYPE=DEDB and rerun
    |    the SRG job.
    |
    

Temporary fix

Comments

APAR Information

  • APAR number

    PQ83931

  • Reported component name

    IMS SEQ RANDOMI

  • Reported component ID

    5655E1100

  • Reported release

    110

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2004-01-29

  • Closed date

    2004-02-27

  • Last modified date

    2004-03-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UQ85613

Modules/Macros

  •    DCSADSCT FABOANA  FABOCOMP FABOMAIN
    

Publications Referenced
SC27092601    

Fix information

  • Fixed component name

    IMS SEQ RANDOMI

  • Fixed component ID

    5655E1100

Applicable component levels

  • R110 PSY UQ85613

       UP04/03/01 P F402

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEQ76","label":"IBM IMS Sequential Randomizer Generator for OS\/390"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.1.0","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
25 March 2021