Hi,
I'm getting "Cannot compare type" error while executing the rule. Below is the code i'm using
* Code inside parent interface
local!details:apply( rule!LeaveDetailsMerge( empDataSubSet_cdt: _, leaveDataSubSet_cdt:local!leaveDataSubSet.data ), local!empDataSubSet.data ),
* Code inside "LeaveDetailsMerge"
with( local!setOfMatchingData: index( ri!leaveDataSubSet_cdt, wherecontains( cast(3,ri!empDataSubSet_cdt.EmployeeUserName), cast(103,ri!leaveDataSubSet_cdt.EmployeeUserName) ), {} ), { EmployeeDetails:ri!empDataSubSet_cdt, LeaveDetails: union(local!setOfMatchingData,local!setOfMatchingData) })
If I will just print the values of empDataSubset_cdt or LeaveDataSubSet_cdt, It shows the correct information but when I'm trying to use the above logic it ends up throwing the type conversion error. I also checked by changing the cast(103) to cast(3) but in that case It will not display any data inside LeaveDetails. Can someone please let me know what mistake i'm doing inside the code? Thanks in advance
Discussion posts and replies are publicly visible
Hi Vivek
The issue is in the rule LeaveDetailsMerge,
please try
local!setOfMatchingData: index( ri!leaveDataSubSet_cdt, wherecontains( tostring(ri!empDataSubSet_cdt.EmployeeUserName), touniformstring(index(ri!leaveDataSubSet_cdt,"EmployeeUserName",null)) ), {} ),