We receive a compiler error when compiling a job that includes transformer stage. The error message is as follows:
"TransformerTest_Transformer_2.C", line 404: Error: u_print_warning is not a member of APT_TOFunctions."
APT_TOFunctions is listed in the tfmop_functions.h file, but I do not see a method named u_print_warning. This leads me to suspect that we have outdated library files.
Also, this error message is kind of deceptive, as I infer from the generated code below that u_print_warning is really a "method" not a "member" of APT_TOFunctions.
Generated code is as follows:
void APT_TransformOperatorImplV0S16_lovTest1_Transformer_16::processRejectRecord(const APT_UString &errMsg,
const APT_UString &warningMsg,
APT_Int32 rejectDs)
{
// Output the log if we are not to the limit or if
// always log (any negative value) is set
if (rejectLogCount < maxRejectLogs ||
maxRejectLogs < 0)
{
APT_TOFunctions::get().u_print_warning(errMsg);
rejectLogCount++;
if (rejectLogCount == maxRejectLogs)
{
// output a log warning that this is the last reject log you will see
APT_TOFunctions::get().u_print_warning(warningMsg);
}
}
// Set the value of the reject column
if (rejectDs > 0)
transferAndPutRecord(rejectDs);
}
We are running EE 7.1r2 on SunOS 5.8.
Thank you for any assistance,
Larry
u_print_warning is not a member of APT_TOFunctions
Moderators: chulett, rschirm, roy
-
- Premium Member
- Posts: 385
- Joined: Tue Oct 07, 2003 4:55 am
See,Amos.Rosmarin wrote:Hi there,
It is hard to say without looking at the job but I'm quite sure it as nothing to do with the compiler settings.
Is this error specific to this job or to any PX job (that uses transformer)
It looks like you have a problem of using reject link option.
Check your constraints.
HTH
I am not so sure, because why would DataStage be generating C++ code that does not compile? The method name that it is complaining about seems like a logical method name - it seems reasonable that this method would exist in the class APT_TOFunctions.
What I was really hoping, was that someone with EE v 7.1 would check the contents of their tfmop_functions.h file; and that they would tell me whether or not u_print_warning() existed as a method of the class APT_TOFunctions in their version of the file. This would tell me whether I have the wrong version of that file or not.
The file is located under (install directory)/Ascential/DataStage/PXEngine/include/apt_framework/ on my solaris server.
Thank you for your feedback though, I really appreciate it.
Larry
Hi Larry,
mine is not an assistance... just a thought.
The tfmop_functions.h file on my system DOES contain the prototype of u_print_warning method of the class APT_TOFunctions.
I am working on version EE 7.5 for Windows, but the maintenance log of the header file does not show any change related to that method.
I only can figure out 2 possibilities:
1) The header file (if so, also the source one) are different between Unix and Windows version, just for that method;
2) There are unregistered changes between releases 7.1 and 7.5, just for that method.
Stefano
mine is not an assistance... just a thought.
The tfmop_functions.h file on my system DOES contain the prototype of u_print_warning method of the class APT_TOFunctions.
I am working on version EE 7.5 for Windows, but the maintenance log of the header file does not show any change related to that method.
I only can figure out 2 possibilities:
1) The header file (if so, also the source one) are different between Unix and Windows version, just for that method;
2) There are unregistered changes between releases 7.1 and 7.5, just for that method.
Stefano
Stefano,
Thank you so much for your feedback. It will be very helpful as I suspected that tfmop_functions.h should have contained the prototype.
Thank you so much for your feedback. It will be very helpful as I suspected that tfmop_functions.h should have contained the prototype.
ElBandido wrote:Hi Larry,
mine is not an assistance... just a thought.
The tfmop_functions.h file on my system DOES contain the prototype of u_print_warning method of the class APT_TOFunctions.
I am working on version EE 7.5 for Windows, but the maintenance log of the header file does not show any change related to that method.
I only can figure out 2 possibilities:
1) The header file (if so, also the source one) are different between Unix and Windows version, just for that method;
2) There are unregistered changes between releases 7.1 and 7.5, just for that method.
Stefano