Expression evaluation error at function a!forEach: Cannot compare incompatible operands of type Date with Timezone and type Null.

We have the code below which is encountering Expression evaluation error at function a!forEach [line 12]: Error in a!forEach() expression during iteration 25: Expression evaluation error : Cannot compare incompatible operands of type Date with Timezone and type Null.

/*if(*/
/*exact(ri!clientPlanner.segment, cons!CAS_SEGMENT_LARGE),*/
/*{*/
with(
/*backdate is first day of open accounting month*/
local!backDate: rule!CAS_firstDayofAccountingMonthByDate(date: today()),
local!months: rule!CAS_calculateNumberOfMonths(ri!policyEffectiveDate, ri!expirationDate),
local!currency: "USD",
local!annualAmount: ri!annualPremium*(ri!commissionPercent/100)*local!months/12
,
/*transaction for each month of the policy*/
a!forEach(
items: enumerate(local!months),
expression: with(
local!firstMonth: month(ri!policyEffectiveDate),
/*the next month will be the first month + index*/
local!monthPlus1: local!firstMonth+fv!item,
/*gets actual next month*/
local!nextMonth: if(
local!monthPlus1>12,
local!monthPlus1-12,
local!monthPlus1
),
/*gets year for the next month*/
local!yearForNextMonth: if(
local!monthPlus1>12,
year(ri!policyEffectiveDate)+1,
year(ri!policyEffectiveDate)
),
/*for first item, transaction date is policy effective date. for all others, first of month*/
local!expectedTransDate: if(
fv!index=1,
ri!policyEffectiveDate,
date(local!yearForNextMonth, local!nextMonth, 1)
),
/*back date if already passed the closing day*/
local!accountingDate: if(
today()>rule!CAS_getLastAccountingDayOfMonthByDate(compareDate: local!expectedTransDate),
local!backDate,
if(
today()>local!expectedTransDate,
if(
month(today())=month(rule!CAS_getLastAccountingDayOfMonthByDate(compareDate: local!expectedTransDate)),
local!expectedTransDate+daysinmonth(month(local!expectedTransDate), year(local!expectedTransDate))-1,
today()

),
local!expectedTransDate
)
),
local!amount: if(
fv!index<local!months,
round(local!annualAmount/local!months),
sum(
round(local!annualAmount,2)-round(local!annualAmount/local!months)*(local!months-1)
)
),
/*creates transaction object*/
rule!CAS_createTransactionObject(
allocationTypeId: cons!CAS_TRANSACTION_TYPE_ID_ACCRUAL,
batchTypeId: cons!CAS_REFERENCE_DATA_ID_BATCH_TYPE_ONLINE,
amount: local!amount,
isAccrual: true,
transactionDate: local!expectedTransDate,
accountingDate: local!accountingDate,
transactionTimestamp: now(),
recordId: "20097314",
recordTypeId: cons!CAS_RECORD_TYPE_ID_POLICY,
policyId: "20097314",
transactionCurrency: local!currency
)
)
)
)

We are a little confused that when the policyEffectiveDate and expirationDate is less than 12 error is not encountered for Large segment

  Discussion posts and replies are publicly visible

Parents Reply Children
No Data