compile transformer error when a constraint is used

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
kirankota79
Premium Member
Premium Member
Posts: 315
Joined: Tue Oct 31, 2006 3:38 pm

compile transformer error when a constraint is used

Post by kirankota79 »

Hi,

i am getting the compilation error when i use a constraint in the transformer .
The constraint is a null constraint and i am using the function Isnull or Isnotnull on a particular column. what could be the reason?


Thanks
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Perhaps if you posted both the constraint and the compiler error it generates?
-craig

"You can never have too many knives" -- Logan Nine Fingers
kirankota79
Premium Member
Premium Member
Posts: 315
Joined: Tue Oct 31, 2006 3:38 pm

Post by kirankota79 »

the constraint is

isnotnull(trim(ToNullTransformer.STATE))


error is

Output from transformer compilation follows:

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


##I TOSH 000002 14:02:13(001) <main_program> orchgeneral: loaded
##I TOSH 000002 14:02:13(002) <main_program> orchsort: loaded
##I TOSH 000002 14:02:13(003) <main_program> orchstats: loaded
##W TFPA 000012 14:02:13(006) <main_program> Warning: the PWD environment variable is not defined. Remote process startup may be unsuccessful as a result.If your ORCHESTRATE job does not start up correctly, please set your PWD variable to a value that will work on all nodes of your system.
##F TFPM 000281 14:02:13(008) <main_program> Fatal Error: Caught unknown exception in main program: terminating.
(PS_BANK_BRANCH_TBL2.NullTransformer)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S1_repos_NullTransformer transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern string convertaddress(string inaddress,string outaddress);
0007: extern string convertbank(string inbankcd,string outbankcd);
0008:
0009: // define our input/output link names
0010: inputname 0 ToNullTransformer;
0011: outputname 0 ToMaskState;
0012:
0013: initialize {
0014: // define our row rejected variable
0015: int8 RowRejected0;
0016:
0017: // define our null set variable
0018: int8 NullSetVar0;
0019:
0020: // Stage variable declaration and initialisation
0021: string StageVar0_Address1Convert;
0022: StageVar0_Address1Convert = "";
0023: string StageVar0_CityConvert;
0024: StageVar0_CityConvert = "";
0025: string StageVar0_CountyConvert;
0026: StageVar0_CountyConvert = "";
0027: string StageVar0_PostalConvert;
0028: StageVar0_PostalConvert = "";
0029: string StageVar0_BankConvert;
0030: StageVar0_BankConvert = "";
0031: string StageVar0_PhoneConvert;
0032: StageVar0_PhoneConvert = "";
0033: }
0034:
0035: mainloop {
0036: // initialise our row rejected variable
0037: RowRejected0 = 1;
0038:
0039: // declare our intermediate variables for this section
0040: string InterVar0_0;
0041:
0042: // evaluate the stage variables first
0043: InterVar0_0 = convertaddress(ToNullTransformer.ADDRESS1 , StageVar0_Address1Convert);
0044: StageVar0_Address1Convert = InterVar0_0;
0045: InterVar0_0 = convertaddress(ToNullTransformer.CITY , StageVar0_CityConvert);
0046: StageVar0_CityConvert = InterVar0_0;
0047: InterVar0_0 = convertaddress(ToNullTransformer.COUNTY , StageVar0_CountyConvert);
0048: StageVar0_CountyConvert = InterVar0_0;
0049: InterVar0_0 = convertaddress(ToNullTransformer.POSTAL , StageVar0_PostalConvert);
0050: StageVar0_PostalConvert = InterVar0_0;
0051: InterVar0_0 = convertbank(ToNullTransformer.BANK_CD , StageVar0_BankConvert);
0052: StageVar0_BankConvert = InterVar0_0;
0053: InterVar0_0 = convertaddress(ToNullTransformer.PHONE , StageVar0_PhoneConvert);
0054: StageVar0_PhoneConvert = InterVar0_0;
0055:
0056: // evaluate constraint and columns for link: ToMaskState
0057: if (notnull(trimc_string(ToNullTransformer.STATE)))
0058: {
0059: ToMaskState.BANK_CD = StageVar0_BankConvert;
0060: ToMaskState.ADDRESS1 = StageVar0_Address1Convert;
0061: ToMaskState.CITY = StageVar0_CityConvert;
0062: ToMaskState.COUNTY = StageVar0_CountyConvert;
0063: ToMaskState.STATE = trimc_string(ToNullTransformer.STATE);
0064: ToMaskState.POSTAL = StageVar0_PostalConvert;
0065: ToMaskState.PHONE = StageVar0_PhoneConvert;
0066: writerecord 0;
0067: RowRejected0 = 0;
0068: }
0069: }
0070:
0071: finish {
0072: }
0073:
*** End of Internal Generated Transformer Code
Minhajuddin
Participant
Posts: 467
Joined: Tue Mar 20, 2007 6:36 am
Location: Chennai
Contact:

Post by Minhajuddin »

Do a Trim(IsNotNull()) instead of a IsNotNull(Trim())
Minhajuddin

<a href="http://feeds.feedburner.com/~r/MyExperi ... ~6/2"><img src="http://feeds.feedburner.com/MyExperienc ... lrow.3.gif" alt="My experiences with this DLROW" border="0"></a>
keshav0307
Premium Member
Premium Member
Posts: 783
Joined: Mon Jan 16, 2006 10:17 pm
Location: Sydney, Australia

Post by keshav0307 »

because you can not trim a null value
Post Reply