Transformer Compilation Error
Posted: Wed Jun 13, 2007 6:02 am
Hi,
I am trying to call a C++ routine in a parellel job in a transformer. But I am getting an error as below. Please some one let me know how to create a C++ function,place it in what folder and how to call it step by step. It will be of great help.
Thanks in advance
Pavani Vithala
Error generated
Output from transformer compilation follows:
##I TFCN 000001 08:03:24(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved
##I TOSH 000002 08:03:25(000) <main_program> orchgeneral: loaded
##I TOSH 000002 08:03:25(001) <main_program> orchsort: loaded
##I TOSH 000002 08:03:25(002) <main_program> orchstats: loaded
##I TFSC 000001 08:03:25(005) <main_program> APT configuration file: /datahub/dsadm/Ascential/DataStage/Configurations/2node2scratchremote.apt
##W TCOS 000049 08:03:25(006) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TFCP 000003 08:03:25(008) <transform> Error when checking composite operator: Unexpected tokens: .; [line 6, character 20].
##E TFCP 000024 08:03:25(009) <transform> Error when checking composite operator: Incomplete function call ; [line 6, character 24].
##E TFCP 000038 08:03:25(010) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 24].
##E TFCP 000038 08:03:25(011) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 34].
##E TFCP 000038 08:03:25(012) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character -1].
##E TFCP 000038 08:03:25(013) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character 11].
##E TFCP 000038 08:03:25(014) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 0].
##E TFCP 000038 08:03:25(015) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 13].
##E TFCP 000038 08:03:25(016) <transform> Error when checking composite operator: Expected semi-colon; [line 29, character 34].
##E TFCP 000038 08:03:25(017) <transform> Error when checking composite operator: Expected semi-colon; [line 29, character 53].
##E TFSR 000019 08:03:25(018) <main_program> Could not check all operators because of previous error(s)
##E TCOS 000029 08:03:25(019) <main_program> Creation of a step finished with status = FAILED. (RangeCheck.stgXTrans)
*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S10_repos_stgXTrans transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern int32 libRange.so(int32 var1);
0007:
0008: // define our input/output link names
0009: inputname 0 DSLink3;
0010: outputname 0 DSLink4;
0011:
0012: initialize {
0013: // define our row rejected variable
0014: int8 RowRejected0;
0015:
0016: // define our null set variable
0017: int8 NullSetVar0;
0018:
0019: // Stage variable declaration and initialisation
0020: int32 StageVar0_RangeCheck;
0021: StageVar0_RangeCheck = 0;
0022: }
0023:
0024: mainloop {
0025: // initialise our row rejected variable
0026: RowRejected0 = 1;
0027:
0028: // evaluate the stage variables first
0029: StageVar0_RangeCheck = libRange.so(DSLink3.RangeValue);
0030:
0031: // evaluate constraint and columns for link: DSLink4
0032: if ((StageVar0_RangeCheck == 1))
0033: {
0034: writerecord 0;
0035: RowRejected0 = 0;
0036: }
0037: }
0038:
0039: finish {
0040: }
0041:
*** End of Internal Generated Transformer Code
I am trying to call a C++ routine in a parellel job in a transformer. But I am getting an error as below. Please some one let me know how to create a C++ function,place it in what folder and how to call it step by step. It will be of great help.
Thanks in advance
Pavani Vithala
Error generated
Output from transformer compilation follows:
##I TFCN 000001 08:03:24(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved
##I TOSH 000002 08:03:25(000) <main_program> orchgeneral: loaded
##I TOSH 000002 08:03:25(001) <main_program> orchsort: loaded
##I TOSH 000002 08:03:25(002) <main_program> orchstats: loaded
##I TFSC 000001 08:03:25(005) <main_program> APT configuration file: /datahub/dsadm/Ascential/DataStage/Configurations/2node2scratchremote.apt
##W TCOS 000049 08:03:25(006) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TFCP 000003 08:03:25(008) <transform> Error when checking composite operator: Unexpected tokens: .; [line 6, character 20].
##E TFCP 000024 08:03:25(009) <transform> Error when checking composite operator: Incomplete function call ; [line 6, character 24].
##E TFCP 000038 08:03:25(010) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 24].
##E TFCP 000038 08:03:25(011) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 34].
##E TFCP 000038 08:03:25(012) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character -1].
##E TFCP 000038 08:03:25(013) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character 11].
##E TFCP 000038 08:03:25(014) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 0].
##E TFCP 000038 08:03:25(015) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 13].
##E TFCP 000038 08:03:25(016) <transform> Error when checking composite operator: Expected semi-colon; [line 29, character 34].
##E TFCP 000038 08:03:25(017) <transform> Error when checking composite operator: Expected semi-colon; [line 29, character 53].
##E TFSR 000019 08:03:25(018) <main_program> Could not check all operators because of previous error(s)
##E TCOS 000029 08:03:25(019) <main_program> Creation of a step finished with status = FAILED. (RangeCheck.stgXTrans)
*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S10_repos_stgXTrans transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern int32 libRange.so(int32 var1);
0007:
0008: // define our input/output link names
0009: inputname 0 DSLink3;
0010: outputname 0 DSLink4;
0011:
0012: initialize {
0013: // define our row rejected variable
0014: int8 RowRejected0;
0015:
0016: // define our null set variable
0017: int8 NullSetVar0;
0018:
0019: // Stage variable declaration and initialisation
0020: int32 StageVar0_RangeCheck;
0021: StageVar0_RangeCheck = 0;
0022: }
0023:
0024: mainloop {
0025: // initialise our row rejected variable
0026: RowRejected0 = 1;
0027:
0028: // evaluate the stage variables first
0029: StageVar0_RangeCheck = libRange.so(DSLink3.RangeValue);
0030:
0031: // evaluate constraint and columns for link: DSLink4
0032: if ((StageVar0_RangeCheck == 1))
0033: {
0034: writerecord 0;
0035: RowRejected0 = 0;
0036: }
0037: }
0038:
0039: finish {
0040: }
0041:
*** End of Internal Generated Transformer Code