IBM Support

PH57717: ERRORS USING CHARACTER BUILT-IN FUNCTIONS WITH CONCATENATION

A fix is available

Subscribe

You can track all active APARs for this component.

 

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