BDI Query with Macro Expressions does not work when initial query returns 0 rows

  • 7022538
  • 11-Jan-2018
  • 11-Jan-2018


Operations Center 5.X


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.


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())
     LastOccurTime  >   '${query.getProperty().ComLastOccurTime}'

In the above example I have ${query.getProperty().ComLastOccurTime} as my computed property.


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.