IBM Support

JR55362: YOU RECEIVE UNEXPECTED VALIDATION ERRORS FOR DECIMAL BUSINESS OBJECT TYPES IN IBM BUSINESS PROCESS MANAGER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When you define a business objects of type Decimal in IBM
    Process Designer, you can define various validation options that
    might not behave as you expect.
    
    When you define a \d{1,13}(\.\d{1,2})? regular expression, the
    validation fails when you assign large numeric values to a
    variable of this type. For example, the validation of
    1000000009.12 fails although it matches the regular expression.
    
    When you define a precision and an invalid value to a variable
    of the business object type, being validated, the validation
    does not honor this setting.
    
    When you define a scale, the validation checks for the exact
    number of digits after the decimal point. For example, if you
    expect a scale of 2, 1.2 is rejected.
    

Local fix

Problem summary

  • When a value is validated against a regular expression, it is
    transformed to a string by using the Double.toString() method.
    This method results in strings where the number is formatted in
    an exponential format, for example 1.00000000912E9, so that the
    regular expression does not match.
    

Problem conclusion

  • A resolution will be included in an upcoming IBM BPM V8.5
    cumulative fix that validates the expression even if it is not
    in the exponential format. In addition, the fix includes
    configuration options you can use to control the validation
    behavior for the precision and scale settings.
    
    To determine whether the cumulative fix is available and
    download it if it is, complete the following steps on Fix
    Central:
    
    1. Select IBM Business Process Manager with your edition from
      the product selector, the installed version to the fix pack
      level, and your platform, and then click Continue.
    
    2. Select Text, enter ?cumulative fix?, and click Continue.
    
    To specify the behavior for the precision and scale validation,
    edit your IBM Process Center and IBM Process Server
    100Custom.xml files to match the following entry:
    
    <server>
     <business-object merge="mergeChildren">
      <precision-validation-on-server-enabled
    merge="replace">true</precision-validation-on-server-enabled>
      <precision-validation-strip-trailing-zeros
    merge="replace">true</precision-validation-strip-trailing-zeros>
      <precision-validation-type
    merge="replace">lessOrEquals</precision-validation-type>
      <scale-validation-strip-trailing-zeros
    merge="replace">true</scale-validation-strip-trailing-zeros>
      <scale-validation-type
    merge="replace">lessOrEquals</scale-validation-type>
     </business-object>
    </server>
    
    See the following options, their values, and their defaults:
    
    Setting: precision-validation-on-server-enabled
    Description: Flag to enable the validation of the precision
    setting when a variable is set. If not enabled, it is checked
    only in heritage coaches.
    Type: Boolean
    Default value: false
    
    Setting: precision-validation-strip-trailing-zeros
    Description: Flag to remove trailing zeros behind the decimal
    point before validating the precision.
    Type: Boolean
    Default value: false
    
    Setting: precision-validation-type
    Description: If set to 'equals', the precision of the value must
    equal what is specified in the variable type. If set to
    'lessOrEquals', the precision of the value must equal or be less
    than what is specified in the variable type.
    Type: enum (equals, lessOrEquals)
    Default value: equals
    
    Setting: scale-validation-strip-trailing-zeros
    Description: Flag to remove trailing zeros behind the decimal
    point before validating the scale.
    Type: Boolean
    Default value: false
    
    Setting: scale-validation-type
    Description: If set to 'equals', the scale of the value must
    equal what is specified in the variable type. If set to
    'lessOrEquals', the scale of the value must equal or be less
    than what is specified in the variable type.
    Type: enum (equals, lessOrEquals)
    Default value: equals
    

Temporary fix

  • Not applicable
    

Comments

APAR Information

  • APAR number

    JR55362

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    856

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-02-19

  • Closed date

    2016-04-08

  • Last modified date

    2016-04-08

  • 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

    BPM STANDARD

  • Fixed component ID

    5725C9500

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"856","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
31 August 2023