Compilation error of Transformer stage

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
KadetG
Participant
Posts: 30
Joined: Mon Nov 06, 2006 12:43 pm

Compilation error of Transformer stage

Post 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.
Alex
Nageshsunkoji
Participant
Posts: 222
Joined: Tue Aug 30, 2005 2:07 am
Location: pune
Contact:

Post 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 ?
NageshSunkoji

If you know anything SHARE it.............
If you Don't know anything LEARN it...............
KadetG
Participant
Posts: 30
Joined: Mon Nov 06, 2006 12:43 pm

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

Post 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 ?
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
KadetG
Participant
Posts: 30
Joined: Mon Nov 06, 2006 12:43 pm

Post by KadetG »

Hi All

Its integer type.

But I receive this error if I don`t use any transformation. Please help me.
Alex
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post 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?
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
johnthomas
Participant
Posts: 56
Joined: Mon Oct 16, 2006 7:32 am

Post by johnthomas »

Can try modify the expression as

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

which will handle null values .
JT
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Surely you mean

Code: Select all

If IsNull(DSLink3.F1) Then SetNull() Else DSLink3.F1+5
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
johnthomas
Participant
Posts: 56
Joined: Mon Oct 16, 2006 7:32 am

Post 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
JT
Chuah
Participant
Posts: 46
Joined: Thu May 18, 2006 9:13 pm
Location: Melbourne

Re: Compilation error of Transformer stage

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

Post by DSguru2B »

Thats why i asked, is this the only culprit job or other jobs with a transformer acting up too.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post 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 "/".
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply