Function resolution at compile time as well as runtime
This question is regarding function resolution and libraries at runtime.
We have 2 applications. Application "A" and Application "B" have shared Framework Rulesets.
We needed 2 version of the function and hence we have overridden the function "X" in one of the framework RuleSet -"R". While overriding the function, we only changed the java content and the library. Function Signature was not changed.
Application "A" refers to the RuleSet which has only Pega's OOTB version of the function - "X".
Application "B" refers to the framework RuleSet which contains the overridden version of the function.
Now Application "A" rule is not compiling. It is throwing an exception that it cannot find function "X" in library (refers to the overridden function).
Why cannot it find the OOTB version of the function in Application "A"? Application A does not refer to RuleSet "R".
Libraries are not versioned whereas Functions are. Is this causing this behavior?