Formatted Text Field part
The Formatted Text Field part's behavior for Monetary format has been changed to bring it into line with customer expectations. Prior to VisualAge V5.0, the object value of this part was held in either integer or floating point format depending on whether the entered value contained a decimal point. This lead to possible inaccuracies in the results, particularly in applications which combined multiple object values (for example, summing values which included both very large values and very small values containing decimal points).
In the past, we suggested that you convert the object value to ScaledDecimal before using it. This workaround solved most, but not all, problems associated with holding the object value as a floating point number.
The behavior of the Formatted Text Field part is now different when its format is Monetary. In this situation, its object value is always held in and exposed as a ScaledDecimal number. The effect of this change on your applications depends on the application.
If your application was developed following our recommendation of converting the object value to ScaledDecimal (using asScaledDecimal), you do not need to make any changes since the asScaledDecimal instance method in ScaledDecimal answers self. It is possible that, for certain obscure values, your application will receive a number that is either larger or smaller by 1 in the least significant position. The value answered in VA Smalltalk is correct while the value answered previously was incorrect.
If your application was developed using the object value of the Formatted Text Field (Monetary format) as answered by the part, you should examine the application logic to determine the effect of this change.
As part of this change, the obsolete AbtIntegerFormat and AbtFloatFormat classes have been moved to the VisualAge, Obsolete Parts configuration map. These classes formed the basis of the VisualAge Smalltalk V3.0 Formatted Text Field (Monetary format) support. If you need these classes in your application, you will need to load the VisualAge, Setting Views and VisualAge, Obsolete Parts configuration maps into your development image.
Last modified date: 07/02/2019