Creating a Parallel Routine.
Posted: Wed Oct 05, 2005 10:39 am
Hi,
I am trying to create a Parallel routine using a C++ code. I have the C++ code compiled and saved as a shared object string_one.o.
I have linked this object to the routine TestStripRoutine, but while trying to test this routine in a job, I get the following compilation error in the Transformer -
Output from transformer compilation follows:
##I TFCN 000001 12:14:31(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 12:14:31(001) <main_program> orchgeneral: loaded
##I TOSH 000002 12:14:31(002) <main_program> orchsort: loaded
##I TOSH 000002 12:14:31(003) <main_program> orchstats: loaded
##I TFSC 000001 12:14:31(006) <main_program> APT configuration file: /opt/etl/Ascential/DataStage/Configurations/default.apt
##W TCOS 000049 12:14:32(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##W TFCP 000000 12:14:32(002) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##E TFCP 000003 12:14:32(003) <transform> Error when checking composite operator: Unexpected tokens: string; [line 6, character 38].
##E TFCP 000038 12:14:32(004) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 44].
##E TFCP 000012 12:14:32(005) <transform> Error when checking composite operator: Invalid local variable declaration: string; [line 6, character 63].
##E TFCP 000038 12:14:32(006) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 77].
##E TFCP 000038 12:14:32(007) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character -1].
##E TFCP 000038 12:14:32(008) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character 11].
##E TFCP 000038 12:14:32(009) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 0].
##E TFCP 000038 12:14:32(010) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 13].
##E TFSR 000019 12:14:32(011) <main_program> Could not check all operators because of previous error(s)
##E TCOS 000029 12:14:32(012) <main_program> Creation of a step finished with status = FAILED. (TestBuildOp.Transformer_21)
*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S21_TestBuildOp_Transformer_21 transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern string stripinvalidchars(string string,string termstring,string replace);
0007:
0008: // define our input/output link names
0009: inputname 0 DSLink2;
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: // declare our intermediate variables for this section
0020: string InterVar0_0;
0021: string InterVar0_1;
0022:
0023: // initialise constant values which require conversion
0024: InterVar0_0 = "#";
0025: InterVar0_1 = "_";
0026: }
0027:
0028: mainloop {
0029: // initialise our row rejected variable
0030: RowRejected0 = 1;
0031:
0032: // declare our intermediate variables for this section
0033: string InterVar0_2;
0034:
0035: // evaluate columns (no constraints) for link: DSLink4
0036: InterVar0_2 = stripinvalidchars(DSLink2.Name , InterVar0_0 , InterVar0_1);
0037: DSLink4.Name = InterVar0_2;
0038: writerecord 0;
0039: RowRejected0 = 0;
0040: }
0041:
0042: finish {
0043: }
0044:
*** End of Internal Generated Transformer Code
In the C++ code, there are 3 arguements - string,termstring and replace.
The input field that I am trying to pass to this routine is "Name".
Can anyone tell what is happening? Or rather can someone give me a small detailing on how I can get this routine to be up and working?
I did try the manuals, but there very little infor provided there regarding this.
Thanks in advance.
Regards,
The Bird.
I am trying to create a Parallel routine using a C++ code. I have the C++ code compiled and saved as a shared object string_one.o.
I have linked this object to the routine TestStripRoutine, but while trying to test this routine in a job, I get the following compilation error in the Transformer -
Output from transformer compilation follows:
##I TFCN 000001 12:14:31(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 12:14:31(001) <main_program> orchgeneral: loaded
##I TOSH 000002 12:14:31(002) <main_program> orchsort: loaded
##I TOSH 000002 12:14:31(003) <main_program> orchstats: loaded
##I TFSC 000001 12:14:31(006) <main_program> APT configuration file: /opt/etl/Ascential/DataStage/Configurations/default.apt
##W TCOS 000049 12:14:32(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##W TFCP 000000 12:14:32(002) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##E TFCP 000003 12:14:32(003) <transform> Error when checking composite operator: Unexpected tokens: string; [line 6, character 38].
##E TFCP 000038 12:14:32(004) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 44].
##E TFCP 000012 12:14:32(005) <transform> Error when checking composite operator: Invalid local variable declaration: string; [line 6, character 63].
##E TFCP 000038 12:14:32(006) <transform> Error when checking composite operator: Expected semi-colon; [line 6, character 77].
##E TFCP 000038 12:14:32(007) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character -1].
##E TFCP 000038 12:14:32(008) <transform> Error when checking composite operator: Expected semi-colon; [line 9, character 11].
##E TFCP 000038 12:14:32(009) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 0].
##E TFCP 000038 12:14:32(010) <transform> Error when checking composite operator: Expected semi-colon; [line 10, character 13].
##E TFSR 000019 12:14:32(011) <main_program> Could not check all operators because of previous error(s)
##E TCOS 000029 12:14:32(012) <main_program> Creation of a step finished with status = FAILED. (TestBuildOp.Transformer_21)
*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S21_TestBuildOp_Transformer_21 transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern string stripinvalidchars(string string,string termstring,string replace);
0007:
0008: // define our input/output link names
0009: inputname 0 DSLink2;
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: // declare our intermediate variables for this section
0020: string InterVar0_0;
0021: string InterVar0_1;
0022:
0023: // initialise constant values which require conversion
0024: InterVar0_0 = "#";
0025: InterVar0_1 = "_";
0026: }
0027:
0028: mainloop {
0029: // initialise our row rejected variable
0030: RowRejected0 = 1;
0031:
0032: // declare our intermediate variables for this section
0033: string InterVar0_2;
0034:
0035: // evaluate columns (no constraints) for link: DSLink4
0036: InterVar0_2 = stripinvalidchars(DSLink2.Name , InterVar0_0 , InterVar0_1);
0037: DSLink4.Name = InterVar0_2;
0038: writerecord 0;
0039: RowRejected0 = 0;
0040: }
0041:
0042: finish {
0043: }
0044:
*** End of Internal Generated Transformer Code
In the C++ code, there are 3 arguements - string,termstring and replace.
The input field that I am trying to pass to this routine is "Name".
Can anyone tell what is happening? Or rather can someone give me a small detailing on how I can get this routine to be up and working?
I did try the manuals, but there very little infor provided there regarding this.
Thanks in advance.
Regards,
The Bird.