Page 1 of 1

Warnings in Look up stage

Posted: Tue Oct 03, 2006 7:15 pm
by Meera
Hi

My job design is

Transformer (TRS)
(key,a,b)
|
|
lookup(LKP_ID)----------->dataset(DS)(ID decimal(38,0)NotNull,a,b)
ID decimal(38,0)NotNull
^
|
|
|
oracle stage (GET_ID)
(key,ID decimal(38,0) NotNull)


In the oracle stage
SELECT ID.NEXTVAL FROM DUAL
where 1 = ORCHESTRATE.Key

I am getting the following warnings in the look up stage

1.LKP_ID: When checking operator: When binding output interface field "ID" to field "ID": Implicit conversion from source type "decimal[38,10]" to result type "decimal[38,0]": Possible precision limitation.

2.LKP_ID: When checking operator: When binding output interface field "ID" to field "ID": Converting a nullable source to a non-nullable result;a fatal runtime error could occur; use the modify operator to
specify a value to which the null should be converted.

Please suggest me some ways to overcome this warnings

Thanks
meera

Posted: Tue Oct 03, 2006 7:30 pm
by kumar_s
Warning 1: If input metadata length were not given, the default value is taken as 38,10. So you need to either specify the length as 38,10 in output or 38,0 in input.

Warning 2: As specified in the warning, Nullable Column 'ID' is marked as Not Nullable in output grid. If you need to maintain as not nullable, you need to handle null, either using modify stage (handle_null option) or in transformer or in the target stage.

Posted: Tue Oct 03, 2006 8:56 pm
by Meera
Hi Kumar,

For warning1. I tried that option, still iam getting the warning.

For warning2. In the target also i have as notnull.

Thanks
Meera

Posted: Tue Oct 03, 2006 9:00 pm
by kumar_s
Waht is the datalentgh, sqltype, Nullability for the 'ID' field in LKP_ID stage?

Posted: Wed Oct 04, 2006 6:09 am
by Meera
Hi Kumar,

The datalength is 38, sqltype is Decimal and Notnull

Thanks
meera

Posted: Wed Oct 04, 2006 7:50 am
by kumar_s
If you are sure, that both input and output are of same datatype and same lenght in the given stage, check for RPC. If that is enabled, disable it.

Posted: Wed Oct 04, 2006 9:13 am
by anntaylor
Check the job which creates the dataset. I suspect that job has the decimal(38,10) datatype for the dataset. The metadata is stored in the dataset even though you can change it within a job.

Posted: Wed Oct 04, 2006 9:29 am
by ArndW
Annataylor is right, you can also check the dataset's definition using ORCHADMIN at the command line or the dataset management menu items in the GUI

Posted: Thu Oct 05, 2006 12:55 am
by Kirtikumar
This post is PX post. Should moved to Parallel by moderatorb]

In case, when you execute a job to create dataset and the dataset already exists, then overwrite property plays imp roles. E.g. if the dataset is earlier created a col EmpNo with datatype Decimal(10) and later during next run the datatype was changed to integer, it may be the case the in the dataset the datatype of the col will remain as D(10) even though in ur job it is shown as Integer.

I have faced this once in a job. In DS designer, datatype shown was char(7) and when I used the orchadmin to check the metadata it was Decimal(7). The reason of this was during first run of job, DS has column as D(7).

So I always check the datatypes using orchadmin in such cases.