IBM Support

IC61445: GETGLOBALVARIABLE METHOD WITH BIDIIMPLICIT PARAMETER FAILS IF GLOBAL VARIABLE DOESN'T EXIST .

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When trying to retrieve the contents of a HATS global variable
    using the getGlobalVariable function, with the
    bidiImplicit parameter, you can receive an
    java.lang.IndexOutOfBoundsException if the global variable does
    not exist.
    This problem happens when the code attempts to retrieve the
    contents of the GV at a specific index.
    
    For example:
    <%= ((TransformInfo)request.getAttribute(CommonConstants.
    REQ_TRANSFORMINFO)).getGlobalVariable("testGV", true,true).
    getString(0) %>
    

Local fix

  • The workaround is to make sure the global variable has been
    created before trying to retrieve a specific index of the global
    variable.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Developers using the getGlobalVariable       *
    *                 method with the bidiImplicit parameter.      *
    ****************************************************************
    * PROBLEM DESCRIPTION: Using the getGlobalVariable method      *
    *                      with the bidiImplicit parameter fails   *
    *                      with a                                  *
    *                      java.lang.IndexOutOfBoundsException     *
    *                      if the global variable was not          *
    *                      created prior to retrieving it.         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When using the getGlobalVariable(String name, boolean
    createIfNotExist, boolean bidiImplicit) method, if the GV did
    not exist prior to this call the GV was created with an
    initial value of null.  When the variable was accessed by
    index it would cause a java.lang.IndexOutOfBoundsException.
    

Problem conclusion

  • The getGlobalVariable(String name, boolean createIfNotExist,
    boolean bidiImplicit) method in BaseInfo was changed to set
    the initial value of the newly created GV to an empty string,
    "", instead of null.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC61445

  • Reported component name

    RATL HATS FOR 5

  • Reported component ID

    5724U6800

  • Reported release

    710

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-06-10

  • Closed date

    2009-06-24

  • Last modified date

    2009-09-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • HATSCOMM
    

Fix information

  • Fixed component name

    RATL HATS FOR 5

  • Fixed component ID

    5724U6800

Applicable component levels

  • R710 PSY

       UP

  • R750 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXKAY","label":"IBM Host Access Transformation Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
04 September 2009