Page 1 of 1

problem loading a parallel routine in the transfomer

Posted: Tue Feb 12, 2008 12:52 pm
by kirankota79
Hi,

I have written a c++ routine and i added it as a parallel routine to the datastage palette under the category routines. When i try to load the routine for a particular operation in the transformer stage, i am not able to see the routine in the list.....but iam able to see all the previous routines in the drop down list. i have given the path of the object file correctly in the newly created parallel routine. Can someone tell me the reason why iam not able to see this particular routine?

Thanks in advance.

Posted: Tue Feb 12, 2008 7:10 pm
by jhmckeever
Does your transformer compile if you enter the name of the parallel routine into your transformer derivation manually? If not, what error message do you receive?

John.

Posted: Wed Feb 13, 2008 10:33 am
by kirankota79
it is accepting if i enter the routine manually ( i mean it is able to link the input column)......but still it is in red color and when i validate the derivation...it says , it does not have enough arguments.

my routine looks like char convert(char *instr, char *outstr).

instr is the input value from the input file and outstr is the stagevariable that i use in the transformer.

Posted: Wed Feb 13, 2008 10:35 am
by ArndW
Since "convert" is already a function, perhaps choosing another name might help.

Posted: Wed Feb 13, 2008 10:57 am
by kirankota79
Thanks....that was a silly mistake from myside. i have changed the function name and it is showing up in the transformer...however the job is not compiling . what could be the reason?

i am getting all this when i press the more button:

Output from transformer compilation follows:

##I TFCN 000001 11:54:22(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TOSH 000002 11:54:22(001) <main_program> orchgeneral: loaded
##I TOSH 000002 11:54:22(002) <main_program> orchsort: loaded
##I TOSH 000002 11:54:22(003) <main_program> orchstats: loaded
##E TBLD 000000 11:54:25(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 24576
##E TFSR 000019 11:54:25(001) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 11:54:25(002) <transform> Error when checking composite operator: The number of reject datasets "0"is less than the number of input datasets "1".
##I TBLD 000000 11:54:25(003) <main_program> Error when checking composite operator: Output from subprocess: D:\Ascential\DataStage\Projects\Awas_test_james\RT_BP14.O\V0S2_PAYROLL_TEST_Transformer_2.C(238) : warning C4244: '=' : conversion from 'APT_Int64' to 'int', possible loss of data

##I TFCP 000008 11:54:25(004) <transform> Error when checking composite operator: cxx -LD:/Ascential/DataStage/Projects/Awas_test_james/RT_BP14.O/ -LD:/Ascential/DataStage/PXEngine/lib -LD:/Ascential/DataStage/PXEngine/user_lib -W/TP -W/dll -W/base:0x50000000 -lliborchnt -lliborchcorent -lliborchbuildopnt D:\\DataMasking\\AWAS\\convertstring.o D:/Ascential/DataStage/Projects/Awas_test_james/RT_BP14.O/V0S2_PAYROLL_TEST_Transformer_2.tmp.o -o D:/Ascential/DataStage/Projects/Awas_test_james/RT_BP14.O/V0S2_PAYROLL_TEST_Transformer_2.dll
##I TBLD 000000 11:54:25(005) <main_program> Error when checking composite operator: Output from subprocess: LINK : warning LNK4224: /DEBUGTYPE:BOTH is no longer supported; ignored

##I TBLD 000000 11:54:25(006) <main_program> Error when checking composite operator: Output from subprocess: V0S2_PAYROLL_TEST_Transformer_2.tmp.o : error LNK2019: unresolved external symbol "char * __cdecl convertstring(char *,char *)" (?convertstring@@YAPADPAD0@Z) referenced in function "protected: virtual void __thiscall APT_TransformOperatorImplV0S2_PAYROLL_TEST_Transformer_2::processInputRecord(int)" (?processInputRecord@APT_TransformOperatorImplV0S2_PAYROLL_TEST_Transformer_2@@MAEXH@Z)
D:\Ascential\DataStage\Projects\Awas_test_james\RT_BP14.O\V0S2_PAYROLL_TEST_Transformer_2.dll : fatal error LNK1120: 1 unre
##I TBLD 000000 11:54:25(007) <main_program> Error when checking composite operator: Output from subprocess: solved externals

##E TCOS 000029 11:54:25(008) <main_program> Creation of step finished with status = FAILED (PAYROLL_TEST.Transformer_2)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S2_PAYROLL_TEST_Transformer_2 transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern string convertstring(string instr,string outstr);
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: string StageVar0_StageVar;
0021: StageVar0_StageVar = "";
0022: }
0023:
0024: mainloop {
0025: // initialise our row rejected variable
0026: RowRejected0 = 1;
0027:
0028: // declare our intermediate variables for this section
0029: string InterVar0_0;
0030:
0031: // evaluate the stage variables first
0032: InterVar0_0 = convertstring(DSLink3.vzid , StageVar0_StageVar);
0033: StageVar0_StageVar = InterVar0_0;
0034:
0035: // evaluate columns (no constraints) for link: DSLink4
0036: DSLink4.vzid_out = StageVar0_StageVar;
0037: writerecord 0;
0038: RowRejected0 = 0;
0039: }
0040:
0041: finish {
0042: }
0043:
*** End of Internal Generated Transformer Code

Posted: Wed Feb 13, 2008 11:13 am
by chulett
New problem = new post.