Quantcast
Channel: SCN : Unanswered Discussions - Data Services and Data Quality
Viewing all articles
Browse latest Browse all 3719

IS Rule Filters in DS validation Rules

$
0
0

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:

Code:

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.


Viewing all articles
Browse latest Browse all 3719

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>