Warning Message while records are rejected

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
sudharsanan
Participant
Posts: 64
Joined: Fri Jul 16, 2004 7:53 am

Warning Message while records are rejected

Post by sudharsanan »

Hello Gurus,

I need some help in my job design, i have a sequential file as input and a transformer and one seqential file and reject data as output.. in my transformer i use a constraint for moving the data.. whenever the job has some reject record i see the status in the director as Finished(See log) for the job...my job has successfully completed...i have a sequence which calls the job..i have given only to conditions.. either aborted or success.. now should i have to have another status as finished see log.. how to handle this?.. also is there is any way by which i can suppress this warning?.. please help me resolving this issue...

Thanks
Sainath.Srinivasan
Participant
Posts: 3337
Joined: Mon Jan 17, 2005 4:49 am
Location: United Kingdom

Post by Sainath.Srinivasan »

If you have any rejects, it will show up as warning.

A way to avoid this is to remove the tick from the reject box and add a condition in its place. i.e. if the target says (A = B) then you can have your reject file created with the condition as (A <> B) rather than the tick in reject.

Alternatively, you can include an action in your sequencer for 'Finished with Warning'.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Hello - the warnings you are seeing in the log files are automatically generated when you activate the rejects check-box constraint in the transformer. If you only have one other output link you can simple put a NOT(<other-link-condition>) constraint on what you would consider the reject link. This adds a little bit of processing overhead, but you would not be getting any warnings written to your log file.

(I just edited this post and saw that Sainath posted simultaneously :? )
phanee_k
Charter Member
Charter Member
Posts: 68
Joined: Thu Nov 20, 2003 11:02 pm

Post by phanee_k »

Hi,
Say suppose you have 2 links A and B.
On Link A you gave some constraint.
On Link B , give a constraint as Link A.rejected.
This will pass all the records failed from A to B without any warnings.

IHTH,

Phani
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Phani,

that's a good one - I'll have to try that next time as it's more efficient than putting in an additional and superfluous constraint!

Thanks,

-Arnd.
Sainath.Srinivasan
Participant
Posts: 3337
Joined: Mon Jan 17, 2005 4:49 am
Location: United Kingdom

Post by Sainath.Srinivasan »

But we need to verify on how it handles if the target rejects the rows because of its ability (or inability). For e.g. loading into an RDBMS such as DB2 with data that does not match its constraints.

Also there are some sightings of link variables such as NOTFOUND returning incorrect results.
sudharsanan
Participant
Posts: 64
Joined: Fri Jul 16, 2004 7:53 am

Post by sudharsanan »

Thanks Phani for the input.. i tried that option it is working fine.. i have one more question if suppose i have more than two constraints in output which one i have to use for reject...is this the correct method to use.. does anybody has some other logic to avoid the warning of reject records.. please help..

Thanks
Sainath.Srinivasan
Participant
Posts: 3337
Joined: Mon Jan 17, 2005 4:49 am
Location: United Kingdom

Post by Sainath.Srinivasan »

You need to combine both with an AND logical operator.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

There's really only one way to avoid the warning of reject records - don't create any. In other words, don't send any records to your target that you know will be rejected. :wink:

Besides doing everything you can to ensure the data is 'clean', you can logically reject known problem records via a contraint as mentioned before pushing them to your target. The only way this should generate an error is if you also enable the 'Reject Row' check box.

If, when all is said and done, you write a record to your target stage and the target rejects it (for whatever reason) you will log a warning.

In your first post, you asked how to handle multiple triggers from this job. Either use two triggers - one Ran Ok and one Ran with Warnings - run them into a Sequencer set to 'Any' and then on to the next job. Either that or use a single Custom trigger like so:

Code: Select all

JobStage.$JobStatus=1 or JobStage.$JobStatus=2
'JobStage' needs to be the actual name of the Job Activity stage that runs the job you want checked. The '1' and '2' are the internal representations of the Ok and Warning status codes.
-craig

"You can never have too many knives" -- Logan Nine Fingers
sudharsanan
Participant
Posts: 64
Joined: Fri Jul 16, 2004 7:53 am

Post by sudharsanan »

Thanks chulett, i will try to use the "Either use two triggers - one Ran Ok and one Ran with Warnings - run them into a Sequencer set to 'Any' and then on to the next job" option in my sequence so that i can get rid of this warning messages...this will also be useful all my jobs.. because in some jobs i get warning messages in the director. but the job would have completed successfully.. so i will use this option in the sequence to catch the warnings that happens..sometime i get printer memory segment error as warning..which usually my job will not catch i was wondering on how to catch such messages.. thanks for the input...and also thanks to everyone in this forum for helping me in solving problems....
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

If you are curious about the 'printer segment' messages, search the forum. The cause and possible solutions have been posted several times, from what I remember.
-craig

"You can never have too many knives" -- Logan Nine Fingers
sudharsanan
Participant
Posts: 64
Joined: Fri Jul 16, 2004 7:53 am

Post by sudharsanan »

chulett,

I have seen the post given by Ray in December 2003..he has given the reason for this problem.. I am clear with that, i just want to give soem examples about some other warnings that i used to get in director...

Thanks..
arunverma
Participant
Posts: 90
Joined: Tue Apr 20, 2004 8:20 am
Location: MUMBAI
Contact:

Post by arunverma »

Hi sudharsanan ,

I have gone throgh a lot of posted message and in 80% case reply found that go to search fourm ,

As Mr . Mr. Ray
" Every connected DataStage process is allocated a shared memory segment, called the "printer shared memory segment" because
the largest structure in it contains preset values for up to sixteen output c ... "

and some where advice to avid rejected condition in transformation .

We are geeting this error for last 2 days any one of job . as per or DS structure we having 190 application and 7000 ETL job .

SO can any body help me how to avoid this error .


Regards
Arun Verma



sudharsanan wrote:chulett,

I have seen the post given by Ray in December 2003..he has given the reason for this problem.. I am clear with that, i just want to give soem examples about some other warnings that i used to get in director...

Thanks..
Arun Verma
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

You have picked up a post thats been dead since Feb 2005. You can see that info. in the date part of the header of the post.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Nor did you mention exactly what error you are getting. It is helpful for diagnosis if you post the entire error messages.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply