error while compiling the job

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

pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

error while compiling the job

Post 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.
senthilt1
Participant
Posts: 134
Joined: Mon Nov 19, 2007 2:17 am

Re: error while compiling the job

Post 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
pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

Post by pravin1581 »

Thanks Senthil for the reply, i have not enabled the reject port in any of the stage used in the job.
keshav0307
Premium Member
Premium Member
Posts: 783
Joined: Mon Jan 16, 2006 10:17 pm
Location: Sydney, Australia

Post by keshav0307 »

Search for DSPXWorkingDir in this forum.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post 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.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

Post 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.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Then the routine is not the cause. Is your compiler licence still valid?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

Post 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.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post 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.
pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

Post by pravin1581 »

No, everything has been double checked,all the links are mapped and there is no unmapped output link.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post 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.
pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

Post by pravin1581 »

Yes , I have tried that it now refers to the new link name.
keshav0307
Premium Member
Premium Member
Posts: 783
Joined: Mon Jan 16, 2006 10:17 pm
Location: Sydney, Australia

Post 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);
pravin1581
Premium Member
Premium Member
Posts: 497
Joined: Sun Dec 17, 2006 11:52 pm
Location: Kolkata
Contact:

Post 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.
pneumalin
Premium Member
Premium Member
Posts: 125
Joined: Sat May 07, 2005 6:32 am

Post 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...
Post Reply