Environment
Operations Center 5.X
Situation
You have Data Integrator (BDI) Adapter based off of a BDI
Definition which is setup to do a Delta Query using Macro
Expressions. On starting the Adapter the initial BDI query returns
0 rows from the given database, and in the Formula.trc you see a
warning stating the BDI Adapter is throwing a type mismatch
message.
Resolution
Modify the BDI Definition to check if the Computed property is
set to NULL or is set to a value.
Example BDI Definition:
#if ( ${query.initial} ||
!${query.getProperty().ComLastOccurTime})
DATEADD(ss, LastOccurTime, '19700101') >
dateadd(hour, -1, getdate())
#else
LastOccurTime >
'${query.getProperty().ComLastOccurTime}'
#end
In the above example I have
${query.getProperty().ComLastOccurTime} as my computed
property.
Cause
The cause is due to Macro Expression Engine setting the
“computed” property to “NULL” when the initial query returns 0
rows. On the next iteration of the BDI Adapter it will execute the
else portion of the statement and plug in "NULL" for the "Computed"
property.