Page 1 of 1

Compiler error Transformer job

Posted: Fri Dec 22, 2006 3:11 am
by PeterPol
Hi all,

My transformer job gives me the following compilation errors. The transformer stage has 329 columns with most nulltozero transformations. Most columns are numeric 15,3.

Help!

Output from transformer compilation follows:

##I TFCN 000001 09:53:11(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TOSH 000002 09:53:11(001) <main_program> orchgeneral: loaded
##I TOSH 000002 09:53:11(002) <main_program> orchsort: loaded
##I TOSH 000002 09:53:11(003) <main_program> orchstats: loaded
##E TBLD 000000 09:53:15(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 512
##E TFSR 000019 09:53:15(001) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 09:53:15(002) <transform> Error when checking composite operator: The number of reject datasets "0"is less than the number of input datasets "1".
##W TFCP 000025 09:53:15(003) <transform> Error when checking composite operator: Possible range limitation
##W TFCP 000000 09:53:15(004) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##I TFCP 000008 09:53:15(005) <transform> Error when checking composite operator: cxx -O -IC:/Ascential/DataStage/PXEngine/include -W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c D:/DataStage/Projects/DEV/RT_BP382.O/V0S127_ProcessWerkgebied_v3_test_Transformer_127.C -o D:/DataStage/Projects/DEV/RT_BP382.O/V0S127_ProcessWerkgebied_v3_test_Transformer_127.tmp.o
##I TBLD 000000 09:53:15(006) <main_program> Error when checking composite operator: Output from subprocess: D:\DataStage\Projects\DEV\RT_BP382.O\V0S127_ProcessWerkgebied_v3_test_Transformer_127.C(564) : warning C4244: '=' : conversion from 'APT_Int64' to 'int', possible loss of data
D:\DataStage\Projects\DEV\RT_BP382.O\V0S127_ProcessWerkgebied_v3_test_Transformer_127.C(1920) : fatal error C1509: compiler limit : too many exception handler states in function 'APT_TransformOperatorImplV0S127_ProcessWerkgebied_v3_test_Transformer_127::describeOperator'. simplify function

##E TCOS 000029 09:53:15(007) <main_program> Creation of step finished with status = FAILED (ProcessWerkgebied_v3_test.Transformer_127)

*** Internal Generated Transformer Code follows:

Posted: Fri Dec 22, 2006 7:31 am
by jhmckeever
The line that catches my attention is:

Code: Select all

The number of reject datasets "0"is less than the number of input datasets "1". 
Does your transformer is feed a stage that could experience a write failure for some reason? In that case, the transformer will require reject link.

Also, check the version of C++ compiler you're using. Have transformers compiled OK in the past in your environment? Check the ENV variables used for compiler options. See <a href="viewtopic.php?t=102593&highlight=The+nu ... sets">this post</a>

You may also want to do a force compile, just to eliminate potential problems with out of date transformer code hanging around.

HTH,
J.

PS. For those who celebrate it, Merry Christmas! :D

Posted: Wed Jan 10, 2007 5:48 am
by PeterPol
hi all,

I still can't get rid of the compiler error in the transformer.

Some observations:

We use the c++ compiler in Visual studio.net 2003 enterprise architect
This compiler works well in conjunction with datastage (except for this PX transformer job)

The output of the transformer is written to a dataset.
When I reduce the number of columns in the transformer to 100 (instead of 329) the error disappears?!

My compiler settings are as follows:
APT_COMPILEOPT: -W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c
APT_COMPILER: cxx
APT_LINKER: cxx
APT_LINKOPT: -W/TP -W/dll -W/base:0x50000000

Finally, as a workaround, I replaced the transformer with a basic transformer and the job compiled correctly.

Any suggestions what might cause this compiler error?

Thanks in advance,
Peter

Posted: Wed Jan 10, 2007 2:51 pm
by DSguru2B
PeterPol wrote: APT_COMPILER: cxx
APT_LINKER: cxx
Is that the path for your compiler and linker. I dont know about you but that doesnt look correct to me.

Posted: Wed Aug 06, 2008 10:25 am
by michaeld
I've had this problem. Do you have a lot of columns?
too many exception handler states in function
Try to split the job in to multiple streams and then combine them.