Page 1 of 1

Transformer Compilation Error

Posted: Wed Nov 30, 2011 3:11 pm
by wittyme
* I have searched for the error in DSXCHANGE and couldn't find the solution.

The logic is:

SV1, SV2, SV3 are stage Variables

SV1 = if a = b then 'true' else 'false'
SV2 = if SV1 = 'true' then c else d
SV3 = if NullToEmpty(SV2) then 'Unknown' else SV2

Output column = '<![CData[':SV3:']]>'

Output is going to an XML File.

a,b,c,d are input columns with the data type varchar

a is nullable
b is not null
c and d are nullable columns


If I remove NullToEmpty in SV3 then I can compile the job but if I put NulltoEmpty or IsNull then I am getting the below error.

##W IIS-DSEE-TOSH-00049 15:10:40(007) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##W IIS-DSEE-TFTM-00012 15:10:40(009) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W IIS-DSEE-TFEV-00023 15:10:40(010) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00023 15:10:40(011) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00023 15:10:40(012) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00023 15:10:40(013) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00023 15:10:40(014) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00023 15:10:40(015) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00025 15:10:40(016) <transform> Error when checking composite operator: Converting ustring to string using codepage UTF-8.
##W IIS-DSEE-TFEV-00023 15:10:40(017) <transform> Error when checking composite operator: Implicit conversion from source type "UString" to result type "String".
##W IIS-DSEE-TFEV-00025 15:10:40(018) <transform> Error when checking composite operator: Converting ustring to string using codepage UTF-8.
##W IIS-DSEE-TFEV-00023 15:10:40(019) <transform> Error when checking composite operator: Implicit conversion from source type "UString" to result type "String".
##E IIS-DSEE-TFEV-00015 15:10:40(020) <transform> Error when checking composite operator: Only an input field can be "null" function argument: [line 139,character 9].
##E IIS-DSEE-TFEV-00015 15:10:40(021) <transform> Error when checking composite operator: Only an input field can be "null" function argument: [line 139,character 9].
##E IIS-DSEE-TFSR-00019 15:10:40(022) <main_program> Could not check all operators because of previous error(s)
##E IIS-DSEE-TCOS-00029 15:10:40(023) <main_program> Creation of a step finished with status = FAILED.

Re: Transformer Compilation Error

Posted: Wed Nov 30, 2011 5:06 pm
by SURA

Code: Select all

##E IIS-DSEE-TFEV-00015 15:10:40(020) <transform> Error when checking composite operator: Only an input field can be "null" function argument: [line 139,character 9]. 
My suspicion is SV2.

DS User

Posted: Wed Nov 30, 2011 5:12 pm
by major

Code: Select all

SV1 = if a = b then 'true' else 'false' 
......
...
a is nullable 
b is not null 
.....
Also handle NULL values for column a in stage variable 1 (SV1)

Thanks
Major

Posted: Wed Nov 30, 2011 6:42 pm
by wittyme
Major,

I did that before but still I am facing the same problem. I have changed the design by putting another transformer before this transformer and defining SV1 and SV2 in the new transformer and SV3 in another transformer. It worked! :P