pxAddChildWork: the child class must equal or derive from the class of the source's Page Property
I encountered this validation message when creating a child class in implementation layer.
I have FW-Work-A and FW-Work-B in framework layer such that B is child case instantiated in a Case Lifecycle step of A case. This is working well without any problem. I created more than 100 cases while testing this case hierarchy.
Now, I created an implementation layer with cases - Impl-Work-A and Impl-Work-B respectively such that these classes inherit from framework layer. When I tried to create a case of Impl-Work-A, it was smooth as in framework layer. But when I tried to create Impl-Work-B instance as a child case under Impl-Work-A, system is throwing validation message saying, "pxAddChildWork: the child class must equal or derive from the class of the source's Page Property". This indicates that child case should be a descendant of FW-Work-B, which is already true here. I did not understand why system is not able to recognize this fact.
I further dug the details and found that pxAddChildWork has a Java step that validates if the case creation is legitimate. Specifically, line # 123 has a check about isAncestorOf function (Please see attached picture). This function returns false and as a result, system sets the validation message and quits without creating the child case.
See the snippet here - pega_rules_default.isAncestorOf(tools,sPageClass,sListClass)
When I reversed the parameters given to the function call, I am able to get through the validation and child case creation is successful. So, I believe this is a defect in the product.
pxAddChildWork seem to have an obvious issue, but considering Pega 7 around for long time, I couldn't believe this is not addressed yet. I am skeptic about my conclusion. Please help in validating this issue.
***Edited by Moderator Marissa to update categories***