IBM Support

PM55629: BSF trigger on a boolean attribute returns 'null' instead of 'false' or 'true'.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Reproduced with Rational Change 5.2.0.6 on a linux server.
    
    1) Edit the dev_process and create 2 new attributes:
    -attribute 'toto' with a boolean type and a CCM_TOGGLE webtype
    -attribute 'titi' with a string type and a CCM_STRING webtype.
    
    -Associate a first script to the attribute 'toto':
    get_attr_bool.js
    ######
    /*
    ?trigger?
     ?usage?bsf get_attr_bool.js?/usage?
     ?version?5.2?/version?
     ?description?
      get boolean attribute
     ?/description?
    ?/trigger?
    */
    
    importPackage(Packages.com.telelogic.cs.api);
    
    const script_name = 'get_attr_bool.js';
    const script_version = '20080620';
    const script_usage = 'get_attr_bool.js';
    const script_example = 'get_attr_bool.js';
    const log_header = 'Script bsf ' + script_name + ': ';
    const script_debug = false;
    
    var args = bsf.lookupBean('args');
    var event = bsf.lookupBean('event');
    var change = bsf.lookupBean('api');
    var log = bsf.lookupBean('log');
    var options = OptionParser.parse(args);
    
    var test = event.getObjectId();
    log.info(log_header + 'attribute ' + ' has the value \'' + test
    + '\' ');
    
    var totoresult1 = event.getAttribute();
    log.info(log_header + 'attribute toto 1 ' + ' has the value \''
    + totoresult1 + '\' ');
    ######
    
    
    -Associate another similar script to the attribute 'titi':
    get_attr_string.js
    ######
    /*
    ?trigger?
     ?usage?bsf get_attr_string.js?/usage?
     ?version?5.2?/version?
     ?description?
      get string attribute
     ?/description?
    ?/trigger?
    */
    
    importPackage(Packages.com.telelogic.cs.api);
    
    const script_name = 'get_attr_string.js';
    const script_version = '20080620';
    const script_usage = 'get_attr_string.js';
    const script_example = 'get_attr_string.js';
    const log_header = 'Script bsf ' + script_name + ': ';
    const script_debug = false;
    
    var args = bsf.lookupBean('args');
    var event = bsf.lookupBean('event');
    var change = bsf.lookupBean('api');
    var log = bsf.lookupBean('log');
    var options = OptionParser.parse(args);
    
    var test = event.getObjectId();
    log.info(log_header + 'attribute string' + ' has the value \'' +
    test + '\' ');
    
    var totoresult1 = event.getAttribute();
    log.info(log_header + 'attribute string 1 ' + ' has the value
    \'' + totoresult1 + '\' ');
    ######
    
    You can see that both triggers return:
    -The CR Id using the method  'event.getObjectId()'.
    -The value of the attribute used to fire the trigger, using the
    method: ' event.getAttribute()'
    
    
    2) Save the lifecycle changes, and create a CR Package that you
    install.
    -Then start a User session in Change,
    -Edit a CR, and modify the 2 attributes:
    --tick the box for the attribute 'toto'.
    --add the value 'boo' (for example) for the attribute 'titi'.
    -Click on Save to save the changes.
    
    Here is the output of the log:
    
    ##
    
    2012/01/05 16:04:26  Script bsf get_attr_bool.js: attribute has
    the value 't710#13'
    
    2012/01/05 16:04:26  Script bsf get_attr_bool.js: attribute toto
    1 has the value 'null'
    
    2012/01/05 16:04:26  Script bsf get_attr_string.js: attribute
    string has the value 't710#13'
    
    2012/01/05 16:04:26  Script bsf get_attr_string.js: attribute
    string 1  has the value 'boo'
    
    ##
    
    
    
    Results:
    -You can see in the log that the value returned for the
    attribute 'toto' (boolean type) is 'null'
    -The same command for the attribute 'titi' (string type) is the
    correct value: 'boo'.
    
    
    3) -Edit again this same CR created in point '2'.
    (In this second test, the 2 attributes toto and titi already
    exist for the CR)
    -Modify these 2 attributes again (toto and titi).
    -Save the changes.
     then you have the same results:
    -the value returned for 'toto' is 'null'
    -the value returned for 'titi' is the one entered and saved.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    BSF trigger on a boolean attribute returns 'null' instead of
    "false" or "true".
    

Problem conclusion

  • Fixed in Rational Change 5.2.0.7 and planned for 5.3.0.4.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM55629

  • Reported component name

    TLOGIC CHANGE

  • Reported component ID

    5724V87CG

  • Reported release

    520

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-01-10

  • Closed date

    2012-06-14

  • Last modified date

    2012-06-14

  • 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

    TLOGIC CHANGE

  • Fixed component ID

    5724V87CG

Applicable component levels

  • R520 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYQQ2","label":"Rational Change"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
14 June 2012