Fixes are available
APAR status
Closed as program error.
Error description
DataStage function IsValid("int64",column) changed behavior between 7.5 and 8.5. . In 7.5.x the following call: IsValid("int64","123.456") would return 0 (decimal is not valid integer). . However, in both 8.5 and 8.1, the above call returns 1 instead of 0, even though the parameter is not a valid integer. . The same problem with int64 type occurs for int32 also. In Information Server 8.1 it appears the intent of IsValid() function is now to test whether the parameter can be implicity converted to the indicated datatype. . As a result of this change, jobs written for 7.5 may not work correctly when imported into 8.x. This change needs to be documented and compatibility option provided if possible to allow 7.5 jobs to continue working unmodified. The fix adds the new evironment variable APT_ISVALID_BACKCOMPAT does restore the version 7.5.2 functionality to the IsValid() function. The 8.5 behavior is more liberal than the 7.5.2 behavior. In 8.5 IsValid() will return TRUE if the value can be converted to the desired type by the transformer code generator. Thus, IsValid("int64", x ) will return 1 for all the following values of x "1234567890.12345678" "1000000000000000.0" "2.01E+07 " "1.00E-05" With 12345678901234 0 . But in 7.5.2 will return 0 for all these values because they are not valid ints without conversion.
Local fix
Problem summary
DataStage function IsValid("int64",column) changed behavior between 7.5 and 8.5. . In 7.5.x the following call: IsValid("int64","123.456") would return 0 (decimal is not valid integer). . However, in both 8.5 and 8.1, the above call returns 1 instead of 0, even though the parameter is not a valid integer. . The same problem with int64 type also occurs for int32. In Information Server 8.1 the intent of IsValid() function is now to test whether the parameter can be implicitly converted to the indicated datatype. . As a result of this change, jobs written for 7.5 may not work correctly when imported into 8.x. There should be a compatibility option provided to allow 7.5 jobs to continue working unmodified.
Problem conclusion
The fix adds the new evironment variable APT_ISVALID_BACKCOMPAT does restore the version 7.5.2 functionality to the IsValid() function
Temporary fix
Comments
APAR Information
APAR number
JR39651
Reported component name
WIS DATASTAGE
Reported component ID
5724Q36DS
Reported release
850
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-05-20
Closed date
2012-05-16
Last modified date
2012-05-16
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
WIS DATASTAGE
Fixed component ID
5724Q36DS
Applicable component levels
R810 PSY
UP
R850 PSY
UP
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSVSEF","label":"InfoSphere DataStage"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5"}]
Document Information
Modified date:
07 October 2021