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
| 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