The information in this article applies to:
Product: Metastorm BPM
Version: 7.0.1.x 7.5
Issue
A text variable is stored in a database, but it is treated as a number instead of a string when displayed in a drop-down field.
For example, the value 7.0 is entered as a drop-down option in the Metastorm Designer and the procedure is published. The value 7.0 is stored in the database. However, when this is retrieved by the Process Engine, the zero is dropped and the value 7 is displayed in the drop-down on the form. 7.00 would be treated the same. However, the value 7.0.0 cannot be evaluated as a number and is displayed correctly as 7.0.0.
The value 007 is displayed as 7.
An option such as 1/2 case or 123-xyz fails to evaluate at all and prevents the form from opening. The message Failed to invoke action is generated.
In Metastorm BPM version 7.0.1.x, the above behavior is exhibited for hard-coded options unless the option is put inside double quotes, e.g "7.0" or "1/2 case". Using %GetData() or %SelectSQL() to populate the drop-down works as expected.
In Metastorm BPM version 7.5, the zero is always removed, regardless of how the drop-down is populated.
Options such as 1/2 case or "1/2 case" cannot be used.
Options such as "123-****" or 123-**** cannot be used.
Options such as "****-123" or ****-123 work as expected.
When an option such as 1/2 case fails to evaluate, the an error similar to the following is written to the Metastorm Designer log:
Resolution
A workaround, if appropriate, is to use a value that cannot be evaluated as a number (e.g. 1.0.0 instead of 1.0) or to put the option in double quotes (depending on the product version) as stated above.
This has been fixed in Metastorm BPM 7.5 SR1.