notnull conversion with non-nullable input

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
tostay2003
Participant
Posts: 97
Joined: Tue Feb 21, 2006 6:45 am

notnull conversion with non-nullable input

Post by tostay2003 »

Hi All,

I am getting the following error from the transformer

Code: Select all

When binding input interface field "input0Int8nLDD_X1" to field "X1": Using "notnull" conversion with non-nullable input.
I am using a left outer join and checking the value of a hardcoded field X1 of secondary link. I have used NullToEmpty function while checking the value.

The job runs fine, but gives this warning. Where as, I have used it exactly same way at other place and it doesn't give any such warning.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Where are you doing your left join? If in SQL, have you declared the X1 column as nullable in DataStage?
tostay2003
Participant
Posts: 97
Joined: Tue Feb 21, 2006 6:45 am

Post by tostay2003 »

I am doing left outer join using Join Stage. X1 is non-key field from secondary link.
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Are you renaming from "input0Int8nLDD_X1" to "X1"?
Is the source field Not Null?
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Is X1 nullable in your source link?
creatingfusion
Participant
Posts: 46
Joined: Tue Jul 20, 2010 1:26 pm
Location: USA
Contact:

Re: notnull conversion with non-nullable input

Post by creatingfusion »

Probably you have to apply the function NullToEmpty function only on Null values.... so check if the value is null then apply NullToEmpty

So yours derrivation for the input should be .....

If IsNull(%inputcol%) Then NullToEmpty(%inputcol%) Else ''
Abhijit
IBM Certified Solution Developer Infosphere DataStage
tostay2003
Participant
Posts: 97
Joined: Tue Feb 21, 2006 6:45 am

Post by tostay2003 »

kumar_s wrote:Are you renaming from "input0Int8nLDD_X1" to "X1"?
Is the source field Not Null? ...
Hi Kumar, I am not renaming the field input0Int8n_X1 (it was generated internally within datastage)

ArndW wrote:Is X1 nullable in your source link?
Hi, X1 is nullable in source (secondary link)
creatingfusion wrote:
Probably you have to apply the function NullToEmpty function only on Null values.... so check if the value is null then apply NullToEmpty

So yours derrivation for the input should be .....

If IsNull(%inputcol%) Then NullToEmpty(%inputcol%) Else ''
This field is hardcoded in middle [metadata is nullable through all upstream jobs]. Looks like whenever nullable the field is getting empty string assigned to i. I have checked for the metadata definitions right from the origin, but is nullable everywhere and there is no provision to change the default values of metadata.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Turn on $APT_PRINT_SCHEMAS and look at each link's schema to see if what DataStage has defined and what you think is defined are identical.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Turn on $OSH_PRINT_SCHEMAS and look at each link's schema to see if what DataStage has defined and what you think is defined are identical.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

OK, I get the point :D
Post Reply