Page 1 of 1

SetNull() function - triggering ORCHESTRATE error

Posted: Fri Mar 05, 2010 10:08 am
by dstager
I am running a job that is passing a setnull() conditional statement to a row and sequential file. It is properly passing a 'NULL', but the Job logs are throwing a warning of:

Warning - Transformer 80. Null String Arguement.

Since it is a big file, the job ultimately stops with an ORCHESTRATE error step execution terminating due to SIGINT.

The sequential file row is a Nullable field (as is the input stage in Transformer).

I have set the 'edit row' of the null value to ''.

Can someone shed some light?

Posted: Fri Mar 05, 2010 10:23 am
by Sainath.Srinivasan
Are you using that variable in any function ?

Posted: Fri Mar 05, 2010 10:57 am
by kbsuryadev
are you using the derivation like this :

if IsNull(inputcol) Then setNull() else inputcolumn .?

Posted: Fri Mar 05, 2010 11:24 am
by dstager
yes, i am using the setnull() in a conditional statement...

ie.

If num(incolumn) = 0 then setnull() else incolumn

or

if isnull(incolumn) then setnull() else incolumn

Posted: Fri Mar 05, 2010 12:27 pm
by dsedi
dstager wrote:yes, i am using the setnull() in a conditional statement...

ie.

If num(incolumn) = 0 then setnull() else incolumn

or

if isnull(incolumn) then setnull() else incolumn
which one is giving the warning/abort..both or first one?

Posted: Fri Mar 05, 2010 2:19 pm
by dstager
both...

Posted: Fri Mar 05, 2010 5:01 pm
by dsedi
Are you doing your

Code: Select all

If num(incolumn) = 0 then setnull() else incolumn 
in the Column derivation or in the stage variable?
What is your input stage for the transformer..i.e the design looks like(file-->transformer-->file)??

Try the following and see if that works...

Make the nullable as "NO" on the output of transformer which will remove the Sequential file null value to ''.
In the transformer handle the nulls
NullToValue(%inputcol%,Space(%length%)) where %length% will be your o/p column length..or if you dont want to write anything into file then use NulltoEmpty()