IBM Support

RS03841: CONCATENATING A CHAR LITERAL TO A STRING USING CRE (SEQUENTIAL OR FASTPATH) MAY YIELD THE ASCII CODE INSTEAD OF THE CHARACTER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When concatenating a char literal to a string, you may get the
    ASCII code of the character instead of the character itself.
    eg.    `@` + " some text"
    yields    64 some text
    
    This is happening when using the Classic Rule Engine with either
    the Sequential or Fastpath algorithms (not RetePlus). Decision
    Engine is not affected.
    
    The problem is not happening when using a variable of type char
    (only with literals).
    The problem is not happening either if the leftmost operand is
    of type String
    eg.    "" + `@` + " some text"
    yields    @ some text
    

Local fix

  • use a literal of type String instead or insert  "" + to the left
    of the expression before the char literal
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Using the Classic Rule Engine with either the Sequential or  *
    * Fastpath algorithms.                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When concatenating a char literal to a string, you may get   *
    * the                                                          *
    * ASCII code of the character instead of the character itself. *
    * eg.    `@` + " some text"                                    *
    * yields    64 some text                                       *
    *                                                              *
    * This is happening when using the Classic Rule Engine with    *
    * either                                                       *
    * the Sequential or Fastpath algorithms (not RetePlus).        *
    * Decision                                                     *
    * Engine is not affected.                                      *
    *                                                              *
    * The problem is not happening when using a variable of type   *
    * char                                                         *
    * (only with literals).                                        *
    * The problem is not happening either if the leftmost operand  *
    * is                                                           *
    * of type String                                               *
    * eg.    "" + `@` + " some text"                               *
    * yields    @ some text                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The code is fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03841

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    8A0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-08-26

  • Closed date

    2021-09-07

  • Last modified date

    2021-09-07

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WDS FOR RULES

  • Fixed component ID

    5725B6903

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Decision Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8A0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
02 June 2022