Fixes are available
APAR status
Closed as program error.
Error description
A regression is observed from 8012 behavior in comparisons of 0-length String literals to Num fields. The correct logic should be doing a character comparison instead of calling the numeric conversion routine to get the value.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Users that compare NUM fields against the 0-length literal * * "" when using textLiteralDefaultIsString=NO. * **************************************************************** * PROBLEM DESCRIPTION: * * A comparison of a NUM field against a 0-length literal can * * produce improper results. The field should be byte compared * * in this case. This is a regression due to a previous APAR * * that fixed 0-length string concatenations used in a binary * * expression. This previous fix should not have touched the * * logic for IF/WHILE statements, when the expression was a * * comparison operator. Because of this regression, a callout * * would be done to EZEPRC-NUMVALC to obtain the value of the * * 0-length string and would return an exception (unless the * * build option blanksAsZero was set to yes). * **************************************************************** * RECOMMENDATION: * ****************************************************************
Problem conclusion
The generator logic has been updated to handle both the problems reported. The original apar and this regression. The logic now checks for a binary expression that is a comparison and if so, will not change the 0-length string to type string, but instead use the char(1) value instead. This prevents the use of the numvalc routine and the possible exception.
Temporary fix
Comments
APAR Information
APAR number
PI53306
Reported component name
RATL BUS DEV
Reported component ID
5724S5000
Reported release
911
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-11-30
Closed date
2016-04-05
Last modified date
2016-04-05
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
R901 PSY
UP
R911 PSY
UP
R950 PSY
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.1.1","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
14 October 2021