Page 1 of 2

error while compiling the job

Posted: Wed Jul 02, 2008 9:27 pm
by pravin1581
Hi All,

I am getting the following error while compiling the job :-





Output from transformer compilation follows:

##I IIS-DSEE-TFCN-00001 19:49:44(000) <main_program>
IBM WebSphere DataStage Enterprise Edition 8.0.1.4447
Copyright (c) 2001, 2005-2007 IBM Corporation. All rights reserved



##I IIS-DSEE-TUTL-00031 19:49:44(001) <main_program> The open files limit is 8192; raising to 65535.
##I IIS-DSEE-TOSH-00002 19:49:44(002) <main_program> orchgeneral: loaded
##I IIS-DSEE-TOSH-00002 19:49:44(003) <main_program> orchsort: loaded
##I IIS-DSEE-TOSH-00002 19:49:44(004) <main_program> orchstats: loaded
##W IIS-DSEE-TOSH-00049 19:49:44(007) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##W IIS-DSEE-TFTM-00012 19:49:44(009) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##E IIS-DSEE-TFPS-00039 19:49:44(010) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 55, character 25].
##E IIS-DSEE-TFFN-00003 19:49:44(011) <transform> Error when checking composite operator: Expected compatible types for function arguments; [line 55, character 25].
##E IIS-DSEE-TFPS-00039 19:49:44(012) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 63, character 22].
##E IIS-DSEE-TFPS-00039 19:49:44(013) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 64, character 22].
##E IIS-DSEE-TFPS-00039 19:49:44(014) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 65, character 26].
##E IIS-DSEE-TFFN-00003 19:49:44(015) <transform> Error when checking composite operator: Expected compatible types for function arguments; [line 65, character 26].
##E IIS-DSEE-TFPS-00041 19:49:44(016) <transform> Error when checking composite operator: The field must be an output field; [line 66, character 30].
##E IIS-DSEE-TFPS-00041 19:49:44(017) <transform> Error when checking composite operator: The field must be an output field; [line 69, character 21].
##E IIS-DSEE-TFPS-00039 19:49:44(018) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 70, character 27].
##E IIS-DSEE-TFPS-00039 19:49:44(019) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 71, character 26].
##E IIS-DSEE-TFPS-00039 19:49:44(020) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 75, character 26].
##E IIS-DSEE-TFPS-00039 19:49:44(021) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 76, character 20].
##E IIS-DSEE-TFPS-00039 19:49:44(022) <transform> Error when checking composite operator: This field was not found: DSLink18; [line 79, character 26].
##E IIS-DSEE-TFFN-00003 19:49:44(023) <transform> Error when checking composite operator: Expected compatible types for function arguments; [line 79, character 26].
##E IIS-DSEE-TFPS-00041 19:49:44(024) <transform> Error when checking composite operator: The field must be an output field; [line 82, character 19].
##E IIS-DSEE-TFSR-00019 19:49:44(025) <main_program> Could not check all operators because of previous error(s)
##E IIS-DSEE-TCOS-00029 19:49:44(026) <main_program> Creation of a step finished with status = FAILED. (Test_CCD.TRM_zip_cd_fst_name1)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V27S5_Test_CCD_TRM_zip_cd_fst_name1 transform operator.
0003: //
0004:
0005: // define external functions used
0006: extern string re_replace(string InputString,string Pattern,string Replacing_string);
0007:
0008: // define our input/output link names
0009: inputname 0 DSLink18;
0010: outputname 0 DSLink25;
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: string InterVar0_3;
0023: string InterVar0_4;
0024: string InterVar0_5;
0025: string InterVar0_6;
0026: string InterVar0_7;
0027: string InterVar0_8;
0028:
0029: // initialise constant values which require conversion
0030: InterVar0_0 = "MR";
0031: InterVar0_1 = " ";
0032: InterVar0_3 = "MS";
0033: InterVar0_4 = "MI";
0034: InterVar0_5 = "0";
0035: InterVar0_6 = "3001-01-01";
0036: InterVar0_7 = "P";
0037: InterVar0_8 = "-";
0038: // Stage variable declaration and initialisation
0039: string[255] StageVar0_rep1;
0040: StageVar0_rep1 = "";
0041: string[255] StageVar0_rep2;
0042: StageVar0_rep2 = "";
0043: string[255] StageVar0_rep3;
0044: StageVar0_rep3 = "";
0045: }
0046:
0047: mainloop {
0048: // initialise our row rejected variable
0049: RowRejected0 = 1;
0050:
0051: // declare our intermediate variables for this section
0052: string InterVar0_2;
0053:
0054: // evaluate the stage variables first
0055: InterVar0_2 = re_replace(DSLink18.principal_name , InterVar0_0 , InterVar0_1);
0056: StageVar0_rep1 = InterVar0_2;
0057: InterVar0_2 = re_replace(StageVar0_rep1 , InterVar0_3 , InterVar0_1);
0058: StageVar0_rep2 = InterVar0_2;
0059: InterVar0_2 = re_replace(StageVar0_rep2 , InterVar0_4 , InterVar0_1);
0060: StageVar0_rep3 = InterVar0_2;
0061:
0062: // evaluate columns (no constraints) for link: DSLink25
0063: DSLink25.birth_date = DSLink18.sec_birth_date;
0064: DSLink25.full_name = DSLink18.principal_name;
0065: InterVar0_2 = re_replace(DSLink18.pri_ssn , InterVar0_1 , InterVar0_5);
0066: DSLink25.social_security_nbr = InterVar0_2;
0067: DSLink25.middle_nm = InterVar0_1;
0068: DSLink25.last_nm = InterVar0_1;
0069: DSLink25.dw_disc_dt = InterVar0_6;
0070: DSLink25.home_phone_nbr = DSLink18.telephone_nbr;
0071: DSLink25.bus_phone_nbr = DSLink18.second_tele_nbr;
0072: DSLink25.ins_dt = InterVar0_1;
0073: DSLink25.applicant_type = InterVar0_7;
0074: DSLink25.first_nm = StageVar0_rep3;
0075: DSLink25.street_addr_1 = DSLink18.addr_line_1;
0076: DSLink25.city_nm = DSLink18.city;
0077: DSLink25.street_addr_2 = InterVar0_1;
0078: DSLink25.foreign_zip = InterVar0_1;
0079: InterVar0_2 = re_replace(DSLink18.zip_cd , InterVar0_1 , InterVar0_5);
0080: DSLink25.zip_cd = InterVar0_2;
0081: DSLink25.dw_eff_dt = ((substring_1(DSLink18.dw_eff_dt , 7 , 4) + InterVar0_8) + substring_1(DSLink18.dw_eff_dt , 1 , 5));
0082: DSLink25.state_cd = InterVar0_1;
0083: writerecord 0;
0084: RowRejected0 = 0;
0085: }
0086:
0087: finish {
0088: }
0089:
*** End of Internal Generated Transformer Code




I am using a user defined routine in the transformer and the stage variable of the transformer and that routine has been tested in other jobs and it works fine, even after removing the routine i get the compilation error.

Thanks in advance.

Re: error while compiling the job

Posted: Wed Jul 02, 2008 9:39 pm
by senthilt1
HI Pravin,

It seems in your job at some stages you enabled Reject Mode=Output, but you have not given the reject link.
If you dont want reject output, make it as "Continue". If you want the Reject then provide the reject link to that stage keeping Reject Mode=Output.

Thanks,

Senthil P

Posted: Wed Jul 02, 2008 10:05 pm
by pravin1581
Thanks Senthil for the reply, i have not enabled the reject port in any of the stage used in the job.

Posted: Wed Jul 02, 2008 10:22 pm
by keshav0307
Search for DSPXWorkingDir in this forum.

Posted: Thu Jul 03, 2008 12:38 am
by ray.wurlod
Can you compile other Transformer stages? Can you compile this one without the routine reference?

This error is sometimes seen if the compiler license is expired or exceeded.

Posted: Thu Jul 03, 2008 7:58 am
by pravin1581
Thanks for the reply, I have tried that also, removing the routine and then compiling the job, but still it throws the error.

Posted: Thu Jul 03, 2008 4:15 pm
by ray.wurlod
Then the routine is not the cause. Is your compiler licence still valid?

Posted: Sat Jul 05, 2008 6:47 pm
by pravin1581
Yes its valid, because we are using the transformer stage is other jobs which are running fine and even user defined routines are also used, even the same routine used in this particular job has been tested in other test jobs on the sample data.

Posted: Sun Jul 06, 2008 5:29 am
by ArndW
If you open up the transform in the designer are the links red? The error messages regarding "DSLink18" would tend to indicate a naming error.

Posted: Sun Jul 06, 2008 6:19 am
by pravin1581
No, everything has been double checked,all the links are mapped and there is no unmapped output link.

Posted: Sun Jul 06, 2008 6:37 am
by ArndW
Ok, then go into your job and change DSLink18 and DSLink25 into something different (and hopefully better) and see if the error message still refers to DSLink18 or to the "new" link name.

Posted: Tue Jul 08, 2008 1:31 pm
by pravin1581
Yes , I have tried that it now refers to the new link name.

Posted: Tue Jul 08, 2008 6:18 pm
by keshav0307
what Re_Replace function used in the transformer stage for the stage variable InterVar0_2 derivation??

InterVar0_2 = re_replace(DSLink18.principal_name , InterVar0_0 , InterVar0_1);

Posted: Wed Jul 09, 2008 8:41 am
by pravin1581
Re_replace is user defined PX routine which is called in the transformer, and it has been tested in a separate job in the same way it is invoked in this particluar job and it works fine there. Even after removing the routines this error persists.

Posted: Wed Jul 09, 2008 10:08 am
by pneumalin
This compiler error is nothing to do with your PX Routine based on the error message you posted. Your Transformer Stage is possibly corrupted by RCP option in Output link. Try the followings:
1. Remove the Transformer Stage, Drag a new one to designer, and remap all the Output link columns.
2. Ensure to uncheck the RCP ooption in Output Link.

Let me know if you can compile...