IBM Support

JR39651: DATASTAGE FUNCTION ISVALID("INT64",COLUMN) HAS DIFFERENT RESULTS IN DATASTAGE 7.5 AND INFORMATION SERVER 8.5 AND 8.1.

Subscribe

You can track all active APARs for this component.

 

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