APAR status
Closed as program error.
Error description
When low key value or high key value specified in ARETRY parameter of AREADEF control statement is longer than 450 characters, the message ASMA013S is issued and the SRG ends with RC=8 . Even if the ARETRY parameter value is divided by AREXT parameter, the message ASMA013S is issued when the combination of ARETRY parameter values is longer than 450 characters.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IMS Sequential Randomizer * * Generator for OS/390 Release 1 * * (FMID=H1J1110) who uses DEDB randomizers * * generated by SRG. * **************************************************************** * PROBLEM DESCRIPTION: Various errors occur when extremely * * long key values are specified for the * * ARETRY parameter of the AREADEF control * * statement. * **************************************************************** * RECOMMENDATION: Apply the maintenance for this APAR. * **************************************************************** In the following descriptions, #CHAR represents the total number of characters in the key specification of ARETRY parameter. #CHAR includes the character that is specified by CVCHAR, but it does not include the character specified by DELCHAR. When the AREXT parameter is specified, #CHAR is the total sum of #CHAR for the lower bound value or the upper bound value over all sub-key value pairs. For the detail of #CHAR, refer to the section "C.1.3 Work Storage Size" in the IMS Sequential Randomizer Generator for OS/390 User's Guide. (http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/faboga10/C. 1.3?SHELF=&DT=20021031170258) For the format of the AREXT parameter, refer to the section "2.5.1.5 AREADEF Control Statement" in the IMS Sequential Randomizer Generator for OS/390 User's Guide. (http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/faboga10/2. 5.1.5?SHELF=&DT=20021031170258) 1. When #CHAR of the ARETRY parameter of an AREADEF control statement is larger than 450, the message ASMA013S is issued and the SRG ends with RC=8. 2. When #CHAR is larger than 256, and two or more AREADEF control statements are specified, the messages XPRI-002 and FABO0116A are issued and the SRG ends with RC=8. 3. When #CHAR is larger than 256, and two or more key ranges are specified by an ARETRY parameter, the messages XPRI-001 and FABO0116A are issued and the SRG ends with RC=8. 4. The number of key ranges that can be specified on an ARETRY parameter is bounded by the following condition: (*) Twice the number of bytes of actual key value multiplied by the number of ARETRY key range pairs must be less than 32759. For example: (1) If the length of the key is 5 bytes, up to 3,000 key range pairs can be specified in an ARETRY parameter. (2) If the length of the key is 25 bytes, up to 655 key range pairs can be specified in an ARETRY parameter. (3) If the length of the key is 255 bytes, up to 64 key range pairs can be specified in an ARETRY parameter. However, this upper bound limit is not checked by SRG and, when the limit is exceeded, only a part of input keys are used for creating the equation table. As a result, the generated randomizer might not satisfy the specified optimization criteria for the CI capacity and the number of maximum synonyms.
Problem conclusion
for the CI capacity and the number of maximum synonyms. PROBLEM CONCLUSION:Ø The macro FABOARCK has been modified to add ACTR instruction to reset the conditional assembly loop counter. The macro FABOARE has been modified to punch the correct ARETRY parameter value when the #CHAR of the lower bound key or the upper bound key of the key range is larger than 480. The macro FABOI has been modified to compare the lower bound key with the upper bound key correctly. The module FABOGNSR has been modified to print the DEDB master table report correctly when the #CHAR of the lower bound key or the upper bound key of the key range is larger than 495. The module FABOSRR1 has been modified to print the lower and upper bound key values of ranges correctly when two or more AREADEF control statements are specified and the #CHAR of the lower bound key or the upper bound key of the key range is larger than 256. The new parameter KEYRNG has been added to the AREADEF control statement. The KEYRNG parameter is a replacement of the ARETRY parameter and functions as same as the ARETRY parameter, except that the maximum key length and the maximum allowable number of key ranges are extended so that up to 3,000 key ranges of a key that has the length of 255 in number of characters (#CHAR) can be specified. All problem fixes described above for the ARETRY parameter are applied to the KEYRNG parameter also. The module FABOMAIN and FABOCOMP have been modified to support the KEYRNG parameter. The use of KEYRNG parameter is recommended for new SRG JCLs. However, the ARETRY parameter is also supported for the compatibility with existing SRG JCLs and existing SRG DEDB randomizers. SRG does not stop its processing even if the ARETRY parameter is specified and twice the number of bytes of actual key value multiplied by the number of ARETRY key range pairs exceeds 32,759, in which case the new warning message, FABO0212W, is issued, the SRG processing continues, and the job ends with a return code of 4. ======================== = DOCUMENTATION CHANGE = ======================== The IMS Sequential Randomizer Generator for OS/390 User's Guide (SC27-0926-01) should be changed as follows: Descriptions for the ARETRY parameter in the following sections in the User's Guide also apply to the new KEYRNG parameter: - Section 2.5.1.5 AREADEF Control Statement - Section G.5 SRG Messages - Section G.6 SRG Control Statement Messages - Section 2.7.5 DEDB Master Table Report - Section C.1.3 Work Storage Size - Section A.2 AREADEF Control Statement (Table 9) - Section 3.3 Example 3: Generating SR for a DEDB Database - Section 3.4 Example 4: Re-creating a DEDB Area Equation Table - 3.5 Example 5: Adding a DEDB Area Equation Table The following messages are added: FABO0212W THE NUMBER OF ARETRY KEY RANGES EXCEEDED THE ALLOWABLE MAXIMUM FOR AREA: xxxxxxxx. USE THE KEYRNG PARAMETER Explanation: The number of the ARETRY key ranges that is specified in the AREADEF control statement for the indicated area exceeded the allowable maximum for the length of the input key in number of characters. The internal counter of the ARETRY key range table overflow and some key ranges are not used. As a result, those input keys that are within the discarded key ranges are not processed when SRG builds the equation table for the area and when SRG simulates randomizer calls for the area. System Action: SRG continues processing, generates the SRT source member for the area, creates or updates the SRR source member with the correct master table entries for the area and ends with RC=4. Note: SRG does not stop its processing for the compatibility with existing SRG JCLs and existing SRG DEDB randomizers. Programmer Response: Unless you have a compatibility issue with the existing randomizer that has been generated in past jobs, consider replacing the AREATRY parameter with the KEYRNG parameter. FABO9000A (AREADEF-018) ** KEYRNG PARAMETER CANNOT BE SPECIFIED WITH ARETRY PARAMETER Explanation: The KEYRNG parameter and the ARETRY parameter of the AREADEF control statement are mutually exclusive. System Action: SRG issues the FABO0107A message and ends the job with RC=8. Programmer Response: Specify one of these parameter and rerun SRG.
Temporary fix
Comments
APAR Information
APAR number
PM59902
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
2012-03-07
Closed date
2012-04-02
Last modified date
2012-06-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK77593
Modules/Macros
COMMENTS: MODULES/MACROS: ØFABOARCK FABOARE FABOCOMP FABOGNSR FABOI FABOMAIN FABOSRR1
| SC27092601 |
Fix information
Fixed component name
IMS SEQ RANDOMI
Fixed component ID
5655E1100
Applicable component levels
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEQ76","label":"IBM IMS Sequential Randomizer Generator for OS\/390"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.1.0"}]
Document Information
Modified date:
25 March 2021