Hi Dirk,
You are right. It seems the issue is not on the logic of the code but on the IGNORE IF NULL.
Case 1: Ignore if null is ticked
Custom Condition: QRY_Validate.XEURO is null or (QRY_Validate.XEURO = 'X' and QRY_Validate.SWIFT is not null).
Output: Wrong output for valid and invalid table
Case2: Unchecked ignore if null
Custom Condition: QRY_Validate.XEURO is null or (QRY_Validate.XEURO = 'X' and QRY_Validate.SWIFT is not null).
Output: Desired output is validated
And also I noticed that since the XEURO field is a lookup. What it gets from the SAP system is whether " " and X. from previous mapping i get blanks trimmed so " " would be <null>. in this case still your recommendation didn't work.
Then I changed it to ifthenelse (XEURO = ' ' , null, XEURO) now the CASE2 works I get my desired output.
This is a weird issue I encountered for BODS.
Thanks Dirk!