Posted: 30 Mar 2020 4:38 EDT Last activity: 11 May 2020 3:16 EDT
Can a Data Type be delegated or not?
I've created a production ruleset and added it to an appropriate access group and the application. I have all the privileges I need and managed to set up delegation for a decision table and a value map rule. However, I am unable to set up delegation for a data type. I get this error:
The documentation references that I found appears to indicate that this should be possible. The information I found on the community site is confusing and perhaps dated. So I would really like a clear, unambiguous answer on this: can a data type be delegated or not? If yes, then how? I get that a data type is un-versioned and therefore it probably cannot be moved/copied to a production ruleset, so what else is needed to get it working?
***Edited by Moderator: Pallavi to update SR Details***
There is an SR for this: SR-D94598 and it is in status Pending-Engineering. It turns out that in my case the problem arises when I try to delegate the same data type again with another Access Group. Apparently there is some issue with deleting or modifying the delegation once it exists.
I've gotten the following response from Pega Support:
SME(Matt) has investigated the issue after our call and found that it's a BUG which will be fixed in Pega 8.3.4 patch release.
RCA: Data type delegation is dependant upon the existence of a Rule-Access-Role-Object (RARO) for the delegated data type. When delegating to an accessgroup with the same roles the ruleset of the RARO the code attempts to naively update the RARO.
Updating the RARO will determine if the Ruleset of the RARO is unlocked. If the ruleset is locked then the code will determine that a new RS should be selected. But the RARO cannot be moved to a new ruleset.
For now we suggest the following workaround in order to fix the issue.
Cleaning up RARO
RARO objects have likely been created in a number of rulesets.
It is advised that the client delete the RAROs that were created. They can look for RAROs for the data types they attempted to delegate
Cleaning up System-User-MyRules instances
Find DelegateAG type instances that reference the data type and remove the reference to the data type(s) that were delegated
Ensure that a ruleset is unlocked when delegating data types
The ruleset cannot be a branch ruleset.
I would be a good idea if you had one ruleset at the top of your stack open for this when you delegate.