Direct links to fixes
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