Hi Puru
This confirms the problem lies with extractor.
Thus from basic bug fixing point of view I would suggest following two approaches:
1) Determine the two records one good and bad and try to simulate the extraction for both to observe the error. (Seek the help of ABAP'r to make things easy)
2) Determine all the bad records and try to establish a logical relation in order to judge if any there is a different/special logic based on which these type of records are created. (Seek the help of relevant functional team)
Based on the outcome the analysis you would know the reason for the problem and the way to solve it.
Regards
Ashish