Page 1 of 1

Compilation error of Transformer stage

Posted: Wed Dec 13, 2006 5:08 am
by KadetG
Hi All

I use simple job: db2_UDB_API--Transformer--sequence file.
I have very strange compilation error :(
Output from transformer compilation follows:

##I TFCN 000001 10:44:42(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TUTL 000031 10:44:42(001) <main_program> The open files limit is 2000; raising to 2147483647.
##I TOSH 000002 10:44:42(002) <main_program> orchgeneral: loaded
##I TOSH 000002 10:44:42(003) <main_program> orchsort: loaded
##I TOSH 000002 10:44:42(004) <main_program> orchstats: loaded
##I TFSC 000001 10:44:42(007) <main_program> APT configuration file: /usr/DataStage01/Ascential/DataStage/Configurations/default.apt
##W TCOS 000049 10:44:44(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 10:44:44(002) <main_program> Error when checking composite operator: Subprocess command failed with exit status 32,512.
##E TFSR 000019 10:44:44(003) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 10:44:44(004) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W TBLD 000000 10:44:44(005) <main_program> Error when checking composite operator: Output from subprocess: sh: /usr/vacpp/bin/xlC_r: not found

##I TFCP 000000 10:44:44(006) <transform> Error when checking composite operator: /usr/vacpp/bin/xlC_r -O -I/usr/DataStage01/Ascential/DataStage/PXEngine/include -O -c -qspill=32704 /usr/DataStage01/Ascential/DataStage/Projects/E2EReporting/RT_BP33.O/V0S5_WaitForFile_Transformer_5.C -o /usr/DataStage01/Ascential/DataStage/Projects/E2EReporting/RT_BP33.O/V0S5_WaitForFile_Transformer_5.tmp.o.
##E TCOS 000029 10:44:44(007) <main_program> Creation of a step finished with status = FAILED. (WaitForFile.Transformer_5)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S5_WaitForFile_Transformer_5 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink3;
0007: outputname 0 DSLink6;
0008:
0009: initialize {
0010: // define our row rejected variable
0011: int8 RowRejected0;
0012:
0013: // define our null set variable
0014: int8 NullSetVar0;
0015:
0016: }
0017:
0018: mainloop {
0019: // initialise our row rejected variable
0020: RowRejected0 = 1;
0021:
0022: // evaluate columns (no constraints) for link: DSLink6
0023: DSLink6.F1 = (DSLink3.F1 + 5);
0024: writerecord 0;
0025: RowRejected0 = 0;
0026: }
0027:
0028: finish {
0029: }
0030:
*** End of Internal Generated Transformer Code

How I can fix that problem?
Thank you.

Posted: Wed Dec 13, 2006 11:20 am
by Nageshsunkoji
Hi Kadet,

It seems your problem with null handling in the transformer. are you doing any null handling with the stage variable in your job ? what transformation your doing in your job ?

Just check your doing any wrong conversion ?

Posted: Thu Dec 14, 2006 1:04 am
by KadetG
Hi

I didn`t use any variables and any transformation. It`s very simple job like copy from source to destination table. But I planed use Transformer stage to transformation in my job.

Posted: Thu Dec 14, 2006 8:14 am
by DSguru2B
DSLink6.F1 = (DSLink3.F1 + 5)
This line suggests that you are adding 5 to column F1 and assigning it to the output F1. What is the sql type of F1 ?

Posted: Fri Dec 15, 2006 6:53 am
by KadetG
Hi All

Its integer type.

But I receive this error if I don`t use any transformation. Please help me.

Posted: Fri Dec 15, 2006 7:03 am
by DSguru2B
I am running out of ideas now. Build another simple job. And see if that compiles. Do any of your px jobs with a transformer compile?

Posted: Fri Dec 15, 2006 7:13 am
by johnthomas
Can try modify the expression as

IF IsNull(DSLink3.F1) then DSLink3.F1+5 else SetNull()

which will handle null values .

Posted: Fri Dec 15, 2006 3:51 pm
by ray.wurlod
Surely you mean

Code: Select all

If IsNull(DSLink3.F1) Then SetNull() Else DSLink3.F1+5

Posted: Fri Dec 15, 2006 3:56 pm
by johnthomas
oops , yes you are right , If the value is null we should set that to null else the expression .I guess the problem is because of arithmetic operation with a null value

Thanks ray

Re: Compilation error of Transformer stage

Posted: Tue Dec 19, 2006 4:39 am
by Chuah
KadetG wrote:Hi All

I use simple job: db2_UDB_API--Transformer--sequence file.
I have very strange compilation error :(
Output from transformer compilation follows:

##I TFCN 000001 10:44:42(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TUTL 000031 10:44:42(001) <main_program> The open files limit is 2000; raising to 2147483647.
##I TOSH 000002 10:44:42(002) <main_program> orchgeneral: loaded
##I TOSH 000002 10:44:42(003) <main_program> orchsort: loaded
##I TOSH 000002 10:44:42(004) <main_program> orchstats: loaded
##I TFSC 000001 10:44:42(007) <main_program> APT configuration file: /usr/DataStage01/Ascential/DataStage/Configurations/default.apt
##W TCOS 000049 10:44:44(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 10:44:44(002) <main_program> Error when checking composite operator: Subprocess command failed with exit status 32,512.
##E TFSR 000019 10:44:44(003) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 10:44:44(004) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W TBLD 000000 10:44:44(005) <main_program> Error when checking composite operator: Output from subprocess: sh: /usr/vacpp/bin/xlC_r: not found

##I TFCP 000000 10:44:44(006) <transform> Error when checking composite operator: /usr/vacpp/bin/xlC_r -O -I/usr/DataStage01/Ascential/DataStage/PXEngine/include -O -c -qspill=32704 /usr/DataStage01/Ascential/DataStage/Projects/E2EReporting/RT_BP33.O/V0S5_WaitForFile_Transformer_5.C -o /usr/DataStage01/Ascential/DataStage/Projects/E2EReporting/RT_BP33.O/V0S5_WaitForFile_Transformer_5.tmp.o.
##E TCOS 000029 10:44:44(007) <main_program> Creation of a step finished with status = FAILED. (WaitForFile.Transformer_5)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S5_WaitForFile_Transformer_5 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink3;
0007: outputname 0 DSLink6;
0008:
0009: initialize {
0010: // define our row rejected variable
0011: int8 RowRejected0;
0012:
0013: // define our null set variable
0014: int8 NullSetVar0;
0015:
0016: }
0017:
0018: mainloop {
0019: // initialise our row rejected variable
0020: RowRejected0 = 1;
0021:
0022: // evaluate columns (no constraints) for link: DSLink6
0023: DSLink6.F1 = (DSLink3.F1 + 5);
0024: writerecord 0;
0025: RowRejected0 = 0;
0026: }
0027:
0028: finish {
0029: }
0030:
*** End of Internal Generated Transformer Code

How I can fix that problem?
Thank you.
which version of C++ compiler have you installed in your unix server? sometimes compilers issues with the transformer stage is caused by incompatible versions of the C++ compilers or compiler options that were chosen.

Chin

Posted: Tue Dec 19, 2006 6:52 am
by DSguru2B
Thats why i asked, is this the only culprit job or other jobs with a transformer acting up too.

Posted: Tue Dec 19, 2006 2:25 pm
by ray.wurlod
Check your compiler options. In particular

Code: Select all

-I/usr/DataStage01/Ascential/DataStage/PXEngine/include
may require a space between the "I" and the "/".