Page 1 of 1

Regarding Rejected Data

Posted: Sun May 11, 2008 2:34 pm
by verify
Hi ALL ,
I am using Datastage 8.0.1 version.My Job design is as below

Sequential Stage --->> transformer ----> Oracle database

Input File Format :

123456abcd99zzzz6789

Delimiter : none

Field1 : 1234.56 ( decimal )

Field2: abcd

Field3: 99

Field4:zzzz

Field5:6789

Like that I have 60 Fields .

I am using a reject link at the sequential stage .The purpose of this is to

reject the data that is coming against the metadata specified in the input

sequential stage .When I run the job , I am getting the data in the reject

link.Because I am having 60 fields.I am unable to judge which field

datatype is deviating what is specified in the sequential stage .

if one field metadata is different that entire record is getting

rejected .Could anybody suggest How to know the field due to which the

record getting rejected .Thanks in advance .

Posted: Sun May 11, 2008 4:58 pm
by ray.wurlod
Your metadata (table definition) should specify a field width for each field. This is mandatory when there are no delimiters. It is via the field widths that the record is parsed into its constituent fields.

Posted: Sun May 11, 2008 5:18 pm
by verify
Hi ,
Ray , Thank you for your reply .I think I am not precise in the question.I am using field width to parse the fields and I am able to get the data in the o/p for some records .But , the problem is for some date fields , I specified the width for those fields as 8.

If the records have date field as 00000000 , then those records containing date fields as 00000000 is getting rejected.There are many date fields in the metadata.Whenever I am getting value as 00000000 for any of the date field , Its getting rejected.I want the name of the field whose value is different from the metadata specified.Hope my requirement is clear .Thank you .

Posted: Sun May 11, 2008 5:34 pm
by ray.wurlod
That is because 00000000 is not a valid date. Specify as Char(8) and perform IsValid() and conversions within your job, or specify 00000000 as the null field value.

Posted: Mon May 12, 2008 3:12 am
by senthilt1
Hi Ray,

I too have a same doubt, sorry for jumping in.

Your point is valid Ray.

But how to identify that, only due to this data field the record get rejected?

Is there anyway that we can find out the field due to which the record get rejected?

Thanks,

Regards,
Senthil P

Posted: Mon May 12, 2008 3:17 am
by ArndW
No, the field which triggered the error is not returned from the database, so it cannot be displayed, just the standard SQL and error codes.

Posted: Mon May 12, 2008 6:49 am
by senthilt1
Oh....So it means, we need to check it manually, why the record get rejected.

Thanks ArndW!