The error and reject capturing is one of the best practices that I recommend to all developers, let me explain in a very simple way
Rejects: Rows that fail active or passive business rule give in the job design
Error: Rows which contains bad data, such as values too large for a column or text
Let’s look at an example here
Consider the following source file
Row id | Emp FName | Emp LName | EMP No | EMP Dep |
1 | John | Beck | 2001 | A |
2 | Mike | Morry | 2002 | A |
3 | Kevin | Peter | 2003 | B |
4 | Steve | Morry | 2004 | B |
5 | Jim | Chen | abcd | A |
As per the business requirement, only Employee department “A” information’s should be loaded in the target table and Employee Number should number
Reject:
So these two records will be in the reject file as it’s Emp Dep is “B”
Row id | Emp FName | Emp LName | EMP No | EMP Dep |
3 | Kevin | Peter | 2003 | B |
4 | Steve | Morry | 2004 | B |
Error:
This particular record will be in the error file as the Emp No is non-numeric
Row id | Emp FName | Emp LName | EMP No | EMP Dep |
5 | Jim | Chen | abcd | A |
As a best practice, we should load the error record in to a table for further analysis or reporting purpose. Here is one sample layout which contains
Error Id | Error F Name | Error S name | EMP No | Error Dte |
10002 | Emp No | Input File Name | abcd | 12/12/2011 |
1) A unique error record number
2) Error Field name
3) Error Source File or Table(if you are extracting from a raw table) name
4) Error Field Name
5) Date when the record processed
Here is how it will look in the Datastage
0 comments: