Thanks for the reply. I tried using this when condition. But, When the case is in Confirm harness, the below values in clipboard have different values and the pzIsInPerform returning true for confirm harness also.
I tried using Work-pzIsPerform in Link-Attachment - HaveAttachmentDeletePrivileges as mentioned by you. But in the expression builder it is giving below compilation error as the pzIsPerform is internally calling one more when rule "pyIsHarnessTypePerform"
"Failed to find a 'RULE-OBJ-WHEN' with the name 'PYISHARNESSTYPEPERFORM' that applies to 'Link-Attachment'. There were 1 rules with this name in the rulebase, but none matched this request. The 1 rules named PYISHARNESSTYPEPERFORM defined in the rulebase are: 1 unrelated to applies-to class Link-Attachment, for example: Work-"
Yes, evaluateWhen function gets the objclass of the passed when rule and tries executing it on the primary context itself. So, if there are any nested when rules in it, as it executes on the primary context and could not find the rule. To achieve this, the when rule execution should happen only on context of pxobjclass of when rule which is not the case here.
Cannot think of any OOTB way to achieve this nested scenario.