BusinessObjects Board

"Filtered" values in IS rules

When you set up rules in Information Steward you have the option for filter conditions. If you export a rule with filter conditions to Data Services, the filter is created as a custom function that is executed inside the validation function before the body of the validation function executes. It is implemented as an IF statement that immediately returns -1 if the filter is not passed.

The problem I have is that there seems to be a disconnect of functionality between what is implemented in IS and what is implemented in DS. I do not see any way to capture the “filtered” records from the validation function, since the validation transform has 3 possible output streams: Pass, Fail and Rule Violation. If I run a sample rule in IS where I should have one pass, one fail and 4 filtered (see screen shot attached) the result I get in DS is 5 pass and 1 fails:


ROW_SURR	ZIPCODE	COUNTRY	DI_ERRORACTION	DI_ERRORCOLUMNS
0          00111	  US		
1	       <Blank>	US		
2	       111		 US	       F			Validation failed rule(s): COUNTRY: ZIPCODE
3	       00111	  <Blank>		
4	       <Blank>	<Blank>		
5	       111		 <Blank> 		

Has anyone else experienced this? Thoughts? Do you think it is a bug (since rules are supposed to be usable in both) or missed functionality?

The only work around I can come up with at the moment is to run a case transform with the filter function before each validation (with only one rule in each validation) to manually split the records, set a condition code and then merge the data into a single stream before moving on to the next rule. This tells me that pretty much rule filters will get zero usage since one rule per transform would be ridiculous for most implementations.

Please let me know if I have missed something here, I keep thinking that SAP could not have missed this and I am just missing a well hidden way to get around this.

  • Ernie
    Rule_Filter.png

eepjr24 :us: (BOB member since 2005-09-16)

Hi Ernie,

I have run into a similar issue.

According to the Information Steward User Guide, filtered records are to be interpreted as having passed, so when you migrate the validation rules to SAP Data Services the filtered records will also be treated as having passed the validation rule.

I have run into a similar issue where we have ported the IS rules over to SAP Data Services to use against mass load files. We ended up axing the approach because the rules were not behaving as they did in IS.

For clarification, are you wanting SAP Data Services to completely filter out the records from the Validation transform, or at least flag them as filtered?


dsewardj (BOB member since 2012-10-22)