I have been using 7.5.x for quite some time and never came across this problem which was trobling me a big time.
I have a transformer in the job with a good number of transformations and conversions, the problem is transformer just wont compile and the reason it gives is crazy
0000 05:16:15(682) <main_program> Error when checking composite operator: Output from subprocess: "/data/ds/Projects/dpr_gwd_dev/RT_BP340.O/V52S0_CopyOfdjpBIR2XFMOHC_WhirlAMBS2A_16_tfpAMBS2.C", line 1520.13: 1540-0825 (W) The character "^@" is not allowed.
"/data/ds/Projects/dpr_gwd_dev/RT_BP340.O/V52S0_CopyOfdjpBIR2XFMOHC_WhirlAMBS2A_16_tfpAMBS2.C", line 1520.22: 1540-0825 (W) The character "^A" is not allowed.
##W TBLD 000000 05:16:15(683) <main_program> Error when checking composite operator: Output from subprocess: "/data/ds/Projects/dpr_gwd_dev/RT_BP340.O/V52S0_CopyOfdjpBIR2XFMOHC_WhirlAMBS2A_16_tfpAMBS2.C", line 1520.14: 1540-0063 (S) The text "710" is unexpected.
##I TFCP 000000 05:16:15(684) <transform> Error when checking composite operator: /usr/vacpp/bin/xlC_r -O -I/dstage/dsadm/Ascential/DataStage/PXEngine/include -O -c -qspill=32704 /data/ds/Projects/dpr_gwd_dev/RT_BP340.O/V52S0_CopyOfdjpBIR2XFMOHC_WhirlAMBS2A_16_tfpAMBS2.C -o /data/ds/Projects/dpr_gwd_dev/RT_BP340.O/V52S0_CopyOfdjpBIR2XFMOHC_WhirlAMBS2A_16_tfpAMBS2.tmp.o.
##E TCOS 000029 05:16:15(685) <main_program> Creation of a step finished with status = FAILED. (CopyOfdjpBIR2XFMOHC_WhirlAMBS2A_16.tfpAMBS2)
I sneaked into the generated .C file and i am bewildered indeed to find the ^A characters. This is the third or fourth time we are facing this prob, and every time we did some adhoc solutions like recoding the job or moving some older correct version etc etc, but the solution or the cause of the problem is not found.
The lines of .C file i will paste here
+1515 if(input0DecimalAMBS_DATE_OPENED[0]!=stage0InterVar0_0)
+1516 {
+1517 local0InterVar0_1=APT_ConvertFromString(input0DecimalAMBS_DATE_OPENED[0].asString());
+1518 localVar1690 =local0InterVar0_1;
+1519 localVar1690.trimPadding(UChar(' '), APT_UString::eBeginning);
+1520 localVar710 =loc^AlVar1690;
+1521 localVar1710.trimPadding(UChar(' '), APT_UString::eEnd);
+1522 localVar1730 =localVar1710;
+1523 localVar1740=((1>=1)?localVar1730.substring(1-1,4):APT_UString(""));
+1524 local0InterVar0_2=APT_strtod(localVar1740,&pUCharBuf);
As I have already said, I am lost in no mans land.
Any idea ,Where can I raise a ticket to IBM DS product support group?
Crazy Transformer error. Any help is greatly appreciated
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Through your support provider, probably the folks who sold DataStage to you. The variable names localVarxxx are generated names in the code, and should not have ^A (presumably Ctrl-A) instead of a. Ctrl-@ is one way to represent NUL (0x00); it's not clear from what you posted where this is occurring, but suggests that some string has been terminated abnormally early in the generated source code.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Hi Ray,
I generally occurs in one of the stage variable definitions. And I can confidently say that there is noting malicious in the stage variable definition that should have caused this. FYR, I am pasting "the" stage variable definition that's causing the problem "this" time,
If lnkjonAmbs.AMBS_DATE_OPENED <>0 Then If TrimB( TrimF (lnkjonAmbs.AMBS_DATE_OPENED)) [1,4] /4 =0 Then If TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] > 0 And TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] <367 Then 1 Else 0 Else If TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] >0 And TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] <366 Then 1 Else 0 Else 0
As you can easily see , I am checking for a date which comes as Dec(7) in the YYYYXXX format, where XXX is the offset of days from starting of the year
I generally occurs in one of the stage variable definitions. And I can confidently say that there is noting malicious in the stage variable definition that should have caused this. FYR, I am pasting "the" stage variable definition that's causing the problem "this" time,
If lnkjonAmbs.AMBS_DATE_OPENED <>0 Then If TrimB( TrimF (lnkjonAmbs.AMBS_DATE_OPENED)) [1,4] /4 =0 Then If TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] > 0 And TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] <367 Then 1 Else 0 Else If TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] >0 And TrimLeadingTrailing(lnkjonAmbs.AMBS_DATE_OPENED) [5,7] <366 Then 1 Else 0 Else 0
As you can easily see , I am checking for a date which comes as Dec(7) in the YYYYXXX format, where XXX is the offset of days from starting of the year