A fix is available
APAR status
Closed as program error.
Error description
If a built-in character function such as LOWER or UPPER is used in a conditional assembly character expression that also involves concatenation of character strings (either within the function operands or before the function) then the results may have the wrong length and contain the wrong data.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of HLASM for z/OS, z/VM, z/VSE and * * Linux * **************************************************************** * PROBLEM DESCRIPTION: Errors using character built-in * * functions with concatenation * **************************************************************** * RECOMMENDATION: * **************************************************************** 1. For all built-in functions such as LOWER and UPPER which take a single character operand and produce a character result, the implementation assumed that the function either applied only to the most recent character term or to the whole character expression so far. This means that if the expression used concatenated values within the function parameter string, or the function was concatenated before or after another value, then the function could use the wrong input values, or a following value could be incorrectly positioned, resulting in an incorrect result. 2. The SYSATTRA and SYSATTRP built-in functions only worked correctly when the operand consisted of a single character string or a reference to a single symbolic variable. 3. Character built-in functions cannot be used within the operands of another character function, but the code did not validate this, causing strange syntax errors. 4. If an character expression involved an indirectly nested character expression, for example within an arithmetic term, then this would overwrite the outer character expression because they both used the same storage area. 5. If a character string within character function operands was followed by a substring expression, this was assumed to end the operands so any attempt to concatenate a further value caused a syntax error.
Problem conclusion
1. The processing of parameters for character built-in functions has been corrected to pick up the correct input values, taking any concatenation into account. 2. The SYSATTRA and SYSATTRP built-in functions now fully evaluate their parameter string before using it to look up the relevant symbol. 3. An attempt to use a character built-in function within the operands of another character function will now be rejected, resulting in message ASMA137S. 4. If an indirectly nested character expression is encountered, the storage for the outer character expression is saved and restored to prevent it from being overwritten. 5. A character string substring expression within function operands can now be followed by further concatenated character items.
Temporary fix
Comments
APAR Information
APAR number
PH57717
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
2023-10-23
Closed date
2023-11-07
Last modified date
2023-12-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI94346 UI94347 UI94348
Modules/Macros
ASMAINFO ASMA1M ASMA1N ASMA1T ASMA1U ASMA9Z
Fix information
Fixed component name
HLASM MVS, VM &
Fixed component ID
569623400
Applicable component levels
R160 PSY UI94347
UP23/11/09 P F311
R360 PSY UI94346
UP23/11/07 P 2311
R689 PSY UI94348
UP23/11/08 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.
[{"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:
04 December 2023