Sybase OC stage - Reject capturing

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
sri1dhar
Charter Member
Charter Member
Posts: 54
Joined: Mon Nov 03, 2003 3:57 pm

Sybase OC stage - Reject capturing

Post by sri1dhar »

I am trying to capture rejects while upserting records into Sybase. I am using the "insert new rows or update existing rows option."

When a record is rejected during insert, no warning is written to the log. When record is rejected during update a warning is generated. In both cases the REJECTED, REJECTEDCODE are 0 in the transformer output link.
Has anybody else experienced this issue. I appreciate any inputs on this issue.

Its actually a Parallel job with BASIC transformer and SybaseOC stage. I am posting in the server forum as these stages will most likely be used in server jobs.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

The BASIC Transformer in parallel jobs is not the same as the server Transformer stage. For one thing, it won't do reference lookups.

See extended post in parallel forum for appropriate techniques to use in parallel jobs.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
sri1dhar
Charter Member
Charter Member
Posts: 54
Joined: Mon Nov 03, 2003 3:57 pm

Post by sri1dhar »

ray.wurlod wrote:The BASIC Transformer in parallel jobs is not the same as the server Transformer stage. For one thing, it won't do reference lookups.

See extended post in parallel forum for appropriate techniques to use in parallel jobs.
I tried the same in a Server job. Still nothing works in case of insert reject. No warning written to log and REJECTED, REJECTEDCODE are 0's.
Everything works fine with the update reject, i.e. a warning is written to the log & REJECTED, REJECTCODE have proper values.
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

The rejected works properly only if you set the Array size to 1. Do you have a higher value set ?
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

But it should still 'work' as in capture rejected rows. How are you defining the 'reject' link - check the option, via a constraint, both, what?

And when you use those 'combo' update actions, never expect the first action to generate any rejects, that failure is what drives the firing of the second action... so only the second one can generate rejects.
-craig

"You can never have too many knives" -- Logan Nine Fingers
sri1dhar
Charter Member
Charter Member
Posts: 54
Joined: Mon Nov 03, 2003 3:57 pm

Post by sri1dhar »

DSguru - There is no "Array size" setting for Sybase OC stage

chulett - You are right on target. I couldn't think of it. When I tried "insert only" option it worked.

That brings back me to the BASIC transformer issue. It still doesn't capture REJECTED, REJECTEDCODE. Perhaps I should post this in PX forum as this is specific to BASIC transformer in a Parallel job.
sri1dhar
Charter Member
Charter Member
Posts: 54
Joined: Mon Nov 03, 2003 3:57 pm

Post by sri1dhar »

chulett wrote:But it should still 'work' as in capture rejected rows. How are you defining the 'reject' link - check the option, via a constraint, both, what?

And when you use those 'combo' update actions, never expect the first action to generate any rejects, that failure is what drives the firing of the second action... so only the second one can generate rejects.
When I tried the combo option with Oracle OCI in a server job its behaving properly. With "insert or update" option, update executes only if a Primary Key or unique index violation where as with Sybase OC update executes on any failure of insert (including NOT NULL).
Post Reply