APAR status
Closed as program error.
Error description
Rational Business Developer V7.5.1.2: The following updates are needed for the Decimal Symbol (decimalSymbol) and Numeric Separator (separatorSymbol) documentation: Differences between Java and Cobol: - In Java, the targetNLS, numericSeparator, and decimalSymbol are all passed to the runtime, and the separatorSymbol and decimalSymbol override the targetNLS value. - In Cobol, the targetNLS value is passed to the runtime, and the separatorSymbol and decimalSymbol are only used by generation. There are no overrides, and users must specify the appropriate values in all three for things to work. Issue #1 - Allowing an user to enter a text value using a decimal symbol that matches the decimal symbol defined at runtime. Fix in Cobol - Allows users to enter ',' in a character value if that is how it is configured in the runtime, by replacing ',' values with '.' values at runtime as necessary so that things continue to run correctly in the Cobol runtime. This happens in both directions (char to num, and num to char) Cobol and Debug/Java still have a difference between what they consider 'valid values' when assigning a character value to a Num (e.g. aNum = "123.4"; when the decimal symbol is a ','). Cobol's routine assumes the number is 1234, while Debug says that you can't have a '.' as a decimal point. We will document this difference. Issue #2 - Allow users to enter numeric values using the decimalSymbol as specified in the build descriptor for a form field Fix in Java to honor the build descriptor values if they are set, instead of always using the targetNLS value. In Cobol, the user can customize the runtime module to indicate what the separator and decimal symbol values are for a given NLS. If an user customizes a build descriptor option for these values, they must also make sure their runtime values are the same. In other words, with the Cobol support, the runtime NLS module used must have the decimal symbol and separator symbol values set the same as the the corresponding build descriptor values. In addition, if the decimalSymbol value is specified in the build descriptor, the separatorSymbol must also be specified and it is up to the user to ensure these values are valid and do not conflict.
Local fix
Problem summary
First, in "Assignment compatibility in EGL," the following is a footnote for a CHAR to NUM conversion: "The runtime value used for a decimal symbol is handled differently in EGL-generated COBOL and the EGL Debugger. (The behavior of the EGL Debugger reflects the behavior of EGL-generated Java). We explain the case by example. If the decimal symbol used at run time is a comma when the number being assigned to a field of type CHAR is 123.4, the CHAR field in the EGL-generated COBOL receives 1234, but the CHAR field in EGL Debugger indicates an error because the period '.' is not valid as a decimal point. In general, the EGL-generated COBOL will ignore an incompatible decimal value but the EGL Debugger will indicate an error. For details on specifying the decimal symbol, see 'decimalSymbol.'" Second, the entries for build descriptor options separatorSymbol and decimalSymbol are both updated. Here's the version for separatorSymbol: "The separatorSymbol build descriptor option specifies a character used for [etc]. If you specify a value for this option, specify a compatible value for the decimalSymbol build descriptor option. When you are generating a COBOL program, the following statements apply: o If you do not specify the separatorSymbol build descriptor option, the value is set by the decimal point character specified in the language-dependent options module specified for your runtime installation. For z/OS, refer to the program directory for your runtime product for related details. o If you specify values in both the build descriptor option and the options module, ensure that they are the same. o Ensure that you specify the appropriate value for the targetNLS build descriptor option."
Problem conclusion
Fixed
Temporary fix
Comments
APAR Information
APAR number
PK88194
Reported component name
RATL BUS DEV
Reported component ID
5724S5000
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-06-08
Closed date
2009-11-09
Last modified date
2009-11-09
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
RATL BUS DEV
Fixed component ID
5724S5000
Applicable component levels
R751 PSN
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
09 November 2009