Null in non-nullable field?

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
chandra.shekhar@tcs.com
Premium Member
Premium Member
Posts: 353
Joined: Mon Jan 17, 2011 5:03 am
Location: Mumbai, India

Post by chandra.shekhar@tcs.com »

In the transformer, are you using IsNull function for that column ?
Thanx and Regards,
ETL User
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Often when you perform an action on a field in the database it affects the resulting column nullability.

First off, add "$OSH_PRINT_SCHEMAS" to see what DataStage is getting from the Oracle stage.
anvi
Participant
Posts: 9
Joined: Mon Mar 22, 2004 4:36 pm
Location: Italy
Contact:

Post by anvi »

chandra.shekhar@tcs.com wrote:In the transformer, are you using IsNull function for that column ?
We can't use the IsNull function because we are using "runtime column propagation", so we can't use any transformers.
Andrea Vincenzi
Data Warehouse & Business Intelligence Consultant
Via A. Cesalpino 17, 52100 Arezzo
www.olap.it
Tel. 347 3853617
andrea.vincenzi@tiscali.it
BI-RMA
Premium Member
Premium Member
Posts: 463
Joined: Sun Nov 01, 2009 3:55 pm
Location: Hamburg

Post by BI-RMA »

When using Runtime Column Propagation Arnd's advice to set OSH_PRINT_SCHEMAS to True for the job is even more valid.
"It is not the lucky ones are grateful.
There are the grateful those are happy." Francis Bacon
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I believe I had a case where a non-nullable column X in the database was queried with a "SELECT X as NewColumn..." and "NewColumn" arrived in DataStage as a nullable one. I can't check if that still happens, and it might be dependent upon your database and version, but this is a likely source of getting an altered nullability. Again, have DataStage print out the schemas since they represent the actual data, unlike the column definitions in your job.
Post Reply