IBM Support

PM21238: cancelOnPageTransition is incorrectly canceling JSF pages when using templates causing data on the JSP page to be lost

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Rational Business Developer V7.5.1.5:
    
    Given two JSF pages using templates, page1 and page2, and page2
    has the setting 'cancelOnPageTransition=yes'.  When the
    statement 'forward variable to Page2' in page1 is run, the
    'onConstructionFunction(variable)' function is invoked and the
    'variable' parameter is the data passed in from page1.  Then
    when a button on page2 is clicked, the
    'onConstructionFunction(variable)' function is invoked again
    when it should not be, and now the 'variable' parameter is
    empty.
    
    This causes the data on page2 to be lost including the button
    labels.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Users Affected - RBD 7.1.x and 7.5.x users who combine the
    use of "forward to" and "cancelOnPageTransition" in JSF
    pages with template.
    Problem Description - There are two JSF pages with template,
    when user uses the statement "forward variable to Page2" in
    Page1, set "cancelOnPageTransition=yes" in Page2 and try to
    get the variable in the onConstruction(variable) function of
    Page2, then click any button in Page2 to submit, the
    onConstruction function will be invoked again. At this time
    the variable value forward from Page1 will lost.
    

Problem conclusion

  • The problem is caused by the implementation of
    cancelOnPageTransition, cancelOnPageTransition will compare
    corrent view id, and maintain a list which handlers need to
    be deleted, if the corrent view id is not equire with the
    list id, it will delete the handlers in the list. When a
    page use template, it will get a wrong current view id which
    is not equire to the list id, in this case, it will delete
    the handler and recreate it, so the onConstruction function
    will be invoked again. In my fix, I have currect the current
    view id when the JSF page using a template.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM21238

  • Reported component name

    RATL RBD EXT VS

  • Reported component ID

    5724S5030

  • Reported release

    751

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-08-25

  • Closed date

    2011-05-06

  • Last modified date

    2011-05-06

  • 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

  • R751 PSN

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
06 May 2011