IBM Support

IC60986: HATS MACRO INTERMITTENTLY RECOGNIZES TRANSIENT SCREEN INSTEAD OF CORRECT NEXT SCREEN. HATS V7, AND ALSO OCCURS IN HATS 7.1

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Customer has a macro coded which goes from screen A to screen
    B to screen C.  Screen D is defined as a transient screen that
    will match any non-inhibited input screen.  When the customer
    has Contention Resolution enabled for the TN3270E connection,
    intermittently, the transient screen is recognized instead of
    the correct next screen.  This is in spite of the fact that the
    screen contents that arrive from the host appear to match the
    screen recognition for the correct next screen (although since
    the screen is uninhibited, it also matches the transient
    screen's recognition criteria).  This problem typically occurs
    25 percent or less of the time in the customer's environment.
    The rest of the time, the macro executes as expected and does
    not recognize the transient screen at all.
    The customer used the same macro in HATS V5 and did not
    experience this problem.
    

Local fix

  • One workaround is to disable contention resolution and induce
    pauses between screens, which runs more slowly, but avoids the
    problem.
    Another workaround is to make the transient screen recognition
    more specific and detailed, but this could keep it from
    recognizing all potential transient screens in this customer's
    environment since the content of their transient screens is
    unpredictable.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: HATS users running macros with transient     *
    *                 screens defined.                             *
    ****************************************************************
    * PROBLEM DESCRIPTION: In a macro, transient screens can be    *
    *                      defined, in addition to non-transient   *
    *                      screens, for next screen comparison.    *
    *                      At times, a transient screen could be   *
    *                      recognized and processed, even when a   *
    *                      matching non-transient screen had       *
    *                      been sent from the host.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When comparing macro screen descriptors to identify the next
    screen which has arrived from the host, non-transient screens
    are compared first, followed by transient screens.  However,
    if the OIA state of a non-transient screen was locked (input
    inhibited) at first and then later unlocked (input is not
    inhibited), the non-transient screen may not be matched if it
    required the OIA state to be unlocked.  If the transient
    screen definition compared next did not contain specific
    descriptors and only checked for an unlocked screen, it would
    then match, when the expected behavior was that the
    non-transient screen would be matched.  This problem occurs
    when the OIA state of the screen changes between the time the
    non-transient screen comparison starts and when it ends and
    the transient screen recognition then begins.
    

Problem conclusion

  • Code underlying HATS has been changed to be able to support
    using a snapshot of the screen state for an iteration of both
    non-transient and transient screen descriptor comparison.  To
    enable this change, a HATS connection parameter called
    screenRecoUseOIASnapshot must be set to true.
    screenRecoUseOIASnapshot is set in the advanced connection
    settings table of the HATS connection editor. Use the
    following values in the advanced connection settings table:
    Name:
    screenRecoUseOIASnapshot
    Value:
    true or false
    When screenRecoUseOIASnapshot is set to false, which is the
    default value, the legacy behavior of using updated screen
    information, if available, when comparing transient screens
    occurs. When screenRecoUseOIASnapshot is set to true, the same
    screen information will be used for an iteration of both
    non-transient and transient screen descriptor comparison.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC60986

  • Reported component name

    HATS MULTI

  • Reported component ID

    5724L0200

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-04-30

  • Closed date

    2010-01-27

  • Last modified date

    2010-01-27

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

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

Modules/Macros

  • SWTBEANS
    

Fix information

  • Fixed component name

    HATS MULTI

  • Fixed component ID

    5724L0200

Applicable component levels

  • R600 PSN

       UP

  • R700 PSY

       UP

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

Document Information

Modified date:
26 August 2022