Compiler error Transformer job

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
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Compiler error Transformer job

Post 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:
jhmckeever
Premium Member
Premium Member
Posts: 301
Joined: Thu Jul 14, 2005 10:27 am
Location: Melbourne, Australia
Contact:

Post 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
<b>John McKeever</b>
Data Migrators
<b><a href="https://www.mettleci.com">MettleCI</a> - DevOps for DataStage</b>
<a href="http://www.datamigrators.com/"><img src="https://www.datamigrators.com/assets/im ... l.png"></a>
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post 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
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post 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.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
michaeld
Premium Member
Premium Member
Posts: 88
Joined: Tue Apr 04, 2006 8:42 am
Location: Toronto, Canada

Post 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.
Mike
Post Reply