A fix is available
APAR status
Closed as program error.
Error description
A substring expression of the form '&STRING'(n,*) indicating the rest of the string causes message ASMA092E if the resulting length evaluates to zero, even though the equivalent expression '&STRING'(n,m) is accepted when m is zero.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of HLASM for z/OS, z/VM, z/VSE and * * Linux * **************************************************************** * PROBLEM DESCRIPTION: ASMA092E is issued when substring * * length specified as asterisk is zero * **************************************************************** * RECOMMENDATION: * **************************************************************** A substring expression of the form '&STRING'(n,*) represents a substring going to the end of the string. The substring length is calculated by adding 1 to the length of the string and then subtracting n. However, if the calculated length is exactly zero (because n is one more than the length of the string) then this causes error message ASMA092E. This is unhelpful, especially as specifying a length of zero in place of an asterisk in this case is accepted without error. This restricts the usefulness of the asterisk notation, as it may require special-case code to handle scanning a string in the case where the string position has already reached the end.
Problem conclusion
If a substring length specified as an asterisk evaluates to zero, this will now simply result in a null string without causing an error message. DOCUMENTATION UPDATES: In the HLASM Language Reference, SC26-4941-08, the topic "Evaluation of substrings" within the "SETC instruction" documentation is modified as follows. The following text: When the value of e1 exceeds n, the assembler generates a null string and issues message ASMA092E. is changed to: When the value of e1 exceeds n, and the value of e2 is not equal to zero, the assembler generates a null string and issues message ASMA092E. and the second example immediately following is changed from: 'ABCDE'(6,*) to 'ABCDE'(7,*) END OF DOCUMENTATION UPDATES
Temporary fix
Comments
APAR Information
APAR number
PH30710
Reported component name
HLASM MVS, VM &
Reported component ID
569623400
Reported release
160
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-10-21
Closed date
2020-10-22
Last modified date
2020-11-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI72199 UI72200 UI72201
Modules/Macros
ASMAINFO ASMA1T ASMA9Z
| SC26494008 |
Fix information
Fixed component name
HLASM MVS, VM &
Fixed component ID
569623400
Applicable component levels
R160 PSY UI72200
UP20/10/23 P F010
R360 PSY UI72199
UP20/10/22 P 2010
R689 PSY UI72201
UP20/10/22 I 1000
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":null,"label":null},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSENW6","label":"High Level Assembler and Toolkit Feature"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160"}]
Document Information
Modified date:
03 November 2020