Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Issue with merging rules that reference functions in Pega 7.1.7

SA-10245

Summary



The Copy or Merge Refactor RuleSet Utility merges a referred-to function in the new ruleset version even when the ruleset version where the function is present is not selected in the Source rulesets list. (DesignerStudio > System > Refractor > Rulesets)

The expected result is if the ruleset version for the function is not selected in the Source ruleset list, then the function must not be merged into the new ruleset version.

Example:

1. "LibraryTest" and "FunctionT1()" are created in ruleset version CSTest:01-01-01
2. Activity "ActT1" is created in CSTest:01-01-02 and has a step that refers to "FunctionT1()"

3. Merge CSTest:01-01-02 into version CSTest:01-01-03 using Copy/Merge utility
4. Both the activity "ActT1" and refered function FunctionT1() are moved to ruleset version CSTest:01-01-03

Expected result is only the rules in version 01-01-02 (activity "ActT1" in the above scenario) should move to 01-01-03 and the function must remain in version 01-01-01


Error Messages



Not Applicable.

Steps to Reproduce



1. Create "LibraryTest" and "FunctionT1()" are created in ruleset version CSTest:01-01-01
2. Create activity "ActT1" in CSTest:01-01-02, the activity has a step that refers "FunctionT1()"
3. Merge CSTest:01-01-02 into version CSTest:01-01-03 using Copy/Merge utility
4. Both the activity "ActT1" and refered function FunctionT1() are moved to ruleset version CSTest:01-01-03


Root Cause



The root cause of this problem is an error/omission in product documentation. 

Resolution



This behaviour is expected but not documented the explanation for this behavior is as follows:

1. Function are getting included when “Libraries and functions” checkbox is unchecked:
This behaviour is dependent on the Target Ruleset name. if the Target Ruleset is same as the Source Ruleset, then the function will get included as if they are versioned rules because the library is existing.
The functions will not get included if the Target Ruleset is different to Source Ruleset. Because the library is not moving to the target.

2. All functions are included when the “Libraries and functions” checkbox is checked.
This is expected as All functions needs to be associated with the same library and because the Target Ruleset named could be changed then the function could no longer be associated to a library.
Therefore a new library in the target ruleset would have to be created, which the user might not realise. In order to prevent this confusion functions are locked to their library.
This will create multiple identical libraries across different ruleset names which is not recommended.

A documentation bug has been created to ensure the missing detail is added.

Published June 12, 2015 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us