IBM Support

JR47268: SELECT CONTROL BOUND TO A COMPLEX VARIABLE OF NAMEVALUEPAIR TYPE, DOES NOT UPDATE WHEN VALUE IS CHANGED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Simple scenario,
    
    The initial values for both Text and Select are 2. Then click
    update button, Text is updated to 0 successfully, but Select is
    not updated. Both Text and Select are binded to the same
    NameValuePair
    
    Solution,
    
    To overcome this issue, user can copy the Stock Select Control
    from Coaches toolkit, into their Process app or Toolkit, and
    make the following modifications,
    
    1) add following code to the end of load event handler:
    
     if(this.context.options.selectedItem &&
    !lang.isString(this.context.options.selectedItem.get("value")))
    {
      this.selectedItemBindAllHandler =
    this.context.options.selectedItem.get("value").bindAll(this.chan
    ge, this);
     }
    
    2) add following code to unload event handler (don't matter
    where to insert):
    
    if(this.selectedItemBindAllHandler) {
     this.selectedItemBindAllHandler.unbind();
     this.selectedItemBindAllHandler = null;
    }
    
    3) add following code to end of change event handler, right
    before the last line (last line is: this.view(); ):
    
    if(event.type == "config" && event.property == "selectedItem") {
     if(this.selectedItemBindAllHandler) {
      this.selectedItemBindAllHandler.unbind();
      this.selectedItemBindAllHandler = null;
     }
     if(this.context.options.selectedItem &&
    !lang.isString(this.context.options.selectedItem.get("value")))
    {
      this.selectedItemBindAllHandler =
    this.context.options.selectedItem.get("value").bindAll(this.chan
    ge, this);
     }
    }
    
    In addition to the above, find this line in load event handler
     newSelection = {};
    
    Replace above line with following block of code:
    -----------------------
           if(this.context.binding &&
    this.context.binding.get("value")
    && this.context.binding.get("value") instanceof
    com.ibm.bpm.coach.List) {
            newSelection =
    this.context.binding.get("value").createListElement();
           } else {
            newSelection = {};
           }
    -----------------------
    
    The above will be implemented as a fix in the Coaches stock
    Select control.
    

Local fix

  • See Problem Description under Solution.
    

Problem summary

  • The selected item of a Select control bound to a complex type is
    not updated when the selected item is changed by another
    control.
    
    USER AFFECTED:
    Business Process Manager Advanced, Standard and Express users
    who want to update the selected item of a Select control bound
    to a complex type, when the selected item is changed by another
    control.
    
    
    
    
    
    
    
    
    
    
    
    
    
    n
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    {
    
    
    
    
    
    
    
    
    n
    

Problem conclusion

  • To overcome this issue, user can copy the Stock Select Control
    from Coaches toolkit, into their Process app or Toolkit, and
    make the following modifications,
    
    1) add following code to the end of load event handler:
    
     if(this.context.options.selectedItem &&
    !lang.isString(this.context.options.selectedItem.get("value")))
    {
      this.selectedItemBindAllHandler =
    this.context.options.selectedItem.get("value").bindAll(this.chan
    ge, this);
     }
    
    2) add following code to unload event handler (don't matter
    where to insert):
    
    if(this.selectedItemBindAllHandler) {
     this.selectedItemBindAllHandler.unbind();
     this.selectedItemBindAllHandler = null;
    }
    
    3) add following code to end of change event handler, right
    before the last line (last line is: this.view(); ):
    
    if(event.type == "config" && event.property == "selectedItem") {
     if(this.selectedItemBindAllHandler) {
      this.selectedItemBindAllHandler.unbind();
      this.selectedItemBindAllHandler = null;
     }
     if(this.context.options.selectedItem &&
    !lang.isString(this.context.options.selectedItem.get("value")))
    {
      this.selectedItemBindAllHandler =
    this.context.options.selectedItem.get("value").bindAll(this.chan
    ge, this);
     }
    }
    
    In addition to the above, find this line in load event handler
     newSelection = {};
    
    Replace above line with following block of code:
    -----------------------
           if(this.context.binding &&
    this.context.binding.get("value")
    && this.context.binding.get("value") instanceof
    com.ibm.bpm.coach.List) {
            newSelection =
    this.context.binding.get("value").createListElement();
           } else {
            newSelection = {};
           }
    -----------------------
    
    FIX AVAILABILITY:
    Fix for 8.0.1.1 is avaialable as part of cumulative Coaches
    toolkit fix for APAR JR47225. More info at
    http://www.ibm.com/support/docview.wss?uid=swg1JR47225.
    
    When downloading interim fixes, ensure that the complimentary
    readme is obtained and reviewed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR47268

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-07-18

  • Closed date

    2013-08-16

  • Last modified date

    2013-08-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

    BPM ADVANCED

  • Fixed component ID

    5725C9400

Applicable component levels

  • R801 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFTN5","label":"IBM Business Process Manager Advanced"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
07 January 2022