compilation problem with addition of otherwise constraints

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
yajuwendra
Participant
Posts: 10
Joined: Thu Mar 31, 2005 3:15 am

compilation problem with addition of otherwise constraints

Post by yajuwendra »

Hi

Need a urgent help from all PX Guru's 8)
I have got a situation, all of my jobs are compiling well except one its failing when I add a otherwise condition in constraints .
I have rejects set to a "@TRUE" Condition and "Otherwise" to Inserts in transformer ,when I validate my values in stage variable . I have tried most of combinations but it never works . Where as all the other job r working fine and all my conversions are right .
=============================
Without constraints this job compiles well
=============================
It Fails with following error :-

Output from transformer compilation follows:

##I TFCN 000001 17:19:18(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TUTL 000031 17:19:18(001) <main_program> The open files limit is 100; raising to 1000.
##I TOSH 000002 17:19:18(002) <main_program> orchgeneral: loaded
##I TOSH 000002 17:19:18(003) <main_program> orchsort: loaded
##I TOSH 000002 17:19:18(004) <main_program> orchstats: loaded
##I TFSC 000001 17:19:18(007) <main_program> APT configuration file: /opt/product/Ascential/DataStage/Configurations/FourOption.apt
##I TFSC 000000 17:19:18(008) <main_program>
This step has no datasets.

It has 1 operator:
op0[1p] {(sequential APT_CombinedOperatorController:
(APT_LicenseCountOp in APT_LicenseOperator)
(APT_LicenseCheckOp in APT_LicenseOperator)
) on nodes (
NumberOneOfTwo[op0,p0]
)}
It runs 1 process on 1 node.
##I TFOP 000094 17:19:20(000) <APT_LicenseCountOp in APT_LicenseOperator,0> Output 0 produced 1 records.
##I TLIC 000163 17:19:20(001) <APT_LicenseCheckOp in APT_LicenseOperator,0> Input 0 consumed 1 records.
##W TCOS 000049 17:19:20(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 17:32:29(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256.
##E TFSR 000019 17:32:29(001) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 17:32:29(002) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W TFCP 000025 17:32:29(003) <transform> Error when checking composite operator: Converting number to string.
##W TFCP 000000 17:32:29(004) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "String".
##W TFCP 000025 17:32:29(005) <transform> Error when checking composite operator: Converting number to string.
##W TFCP 000000 17:32:29(006) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "String".
##W TFCP 000025 17:32:29(007) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(008) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(009) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(010) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(011) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(012) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(013) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(014) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(015) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(016) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(017) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(018) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(019) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(020) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(021) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(022) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(023) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(024) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(025) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(026) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(027) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(028) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(029) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(030) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(031) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(032) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(033) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(034) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(035) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(036) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(037) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(038) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(039) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(040) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(041) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(042) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(043) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(044) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(045) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(046) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(047) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(048) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(049) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(050) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(051) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(052) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(053) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(054) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(055) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(056) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(057) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(058) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(059) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(060) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(061) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(062) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(063) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(064) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(065) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(066) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(067) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(068) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(069) <transform> Error when checking composite operator: Converting decimal to string.
##W TFCP 000000 17:32:29(070) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "String".
##W TFCP 000025 17:32:29(071) <transform> Error when checking composite operator: Converting string to decimal.
##W TFCP 000000 17:32:29(072) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "Decimal".
##W TFCP 000025 17:32:29(073) <transform> Error when checking composite operator: Converting number to string.
##W TFCP 000000 17:32:29(074) <transform> Error when checking composite operator: Implicit conversion from source type "UInt64" to result type "String".
##W TBLD 000000 17:32:29(075) <main_program> Error when checking composite operator: Output from subprocess: CC: Fatal error in iropt: Segmentation Fault

##I TFCP 000000 17:32:29(076) <transform> Error when checking composite operator: /opt/product/SUNWspro/bin/CC -KPIC -O -I/opt/product/Ascential/DataStage/PXEngine/include -dalign -O -PIC -library=iostream -c /opt/product/Ascential/DataStage/Projects/CHUB_Development/RT_BP318.O/V0S10_Contract_Validate_Fields_test_ValidateFields.C -o /opt/product/Ascential/DataStage/Projects/CHUB_Development/RT_BP318.O/V0S10_Contract_Validate_Fields_test_ValidateFields.tmp.o.
##E TCOS 000029 17:32:29(077) <main_program> Creation of a step finished with status = FAILED. (Contract_Validate_Fields_test.ValidateFields)


Regards
Yajuwendra :(
[/code]
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Hi,
let me know some more, r u making this arrangent in reject link?
of u make this in a stream link.
what happens when u give only otherwise in stream link.
if u just create a link and convert to reject it should work.

regards
kumar
yajuwendra
Participant
Posts: 10
Joined: Thu Mar 31, 2005 3:15 am

Post by yajuwendra »

kumar_s wrote:Hi,
let me know some more, r u making this arrangent in reject link?
of u make this in a stream link.
what happens when u give only otherwise in stream link.
if u just create a link and convert to reject it should work.

regards
kumar
Hi

Thanks Kumar ,
I have tried converting it to a reject link but it never worked .

And The arangement in transformer are as follow ;

Stage variable :- Set TO @true or @false :- condition1
Constraints :- If condition1=@true --- For Reject
If condition1=@False--- TO Insert Link

Note:- there are some 30 -condition1


Regards
Yajuwendra
ashwin2912
Participant
Posts: 57
Joined: Wed Jan 26, 2005 10:22 pm
Location: India

Post by ashwin2912 »

Yajuwendra,

Looks like the error is coming from one/more of your fields. Try to zero in to which ones and post them here.

P.S: I have had situations where I had 200-300 fields and such errors existed. I use divide and conquer approach to zero in to the problem 8)
Ashwin
yajuwendra
Participant
Posts: 10
Joined: Thu Mar 31, 2005 3:15 am

Post by yajuwendra »

ashwin2912 wrote:Yajuwendra,

Looks like the error is coming from one/more of your fields. Try to zero in to which ones and post them here.

P.S: I have had situations where I had 200-300 fields and such errors existed. I use divide and conquer approach to zero in to the problem 8)
Hi
Ashwin

As I said before this error only comes when i use all my constraints and
stage variable , without them everything is ok for this job ,it works and moreover similar kind of job develod work ok .

Thanks ashwin

Regards
Yajuwendra :roll:


Thanks ashwin
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Hi,
as aswin said, can u divide your constraints in to half and fild wether u get that in those feilds, if not u can try with other half, so that u can make sure which field causes the issue....

regards
kumar
rhys.jones@target.com
Participant
Posts: 24
Joined: Mon Mar 14, 2005 6:42 pm
Location: Minneapolis, Minnesota

Post by rhys.jones@target.com »

I've got a very similar error happening on one of my jobs right now. Funny thing is that I'm not using any constraints. The job had compiled and run successfully, until I changed one field so it was converting Null values. After that it wouldn't compile, and when I reverted the column back to the way it was before, it still wouldn't compile. The funny thing is the message regarding "DSPXWorkingDir" isn't a variable that I have specified ANYWHERE in the job, the stage, etc. I'm suspicious that we've hit some kind of 7.5.1-induced bug here.

Output from transformer compilation follows:

##I TFCN 000001 20:07:04(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TUTL 000031 20:07:04(001) <main_program> The open files limit is 500; raising to 65536.
##I TOSH 000002 20:07:04(002) <main_program> orchgeneral: loaded
##I TOSH 000002 20:07:04(003) <main_program> orchsort: loaded
##I TOSH 000002 20:07:04(004) <main_program> orchstats: loaded
##I TFSC 000001 20:07:04(007) <main_program> APT configuration file: /apps/Ascential/DataStage/Configurations/default.apt
##W TFPA 000017 20:07:04(008) <main_program> Warning: the value of the PWD environment variable (/apps/Ascential/DataStage/DSEngine/bin) does not appear to be a synonym for the current working directory (/apps/Ascential/Projects/KPM). The current working directory will be used, but if your ORCHESTRATE job does not start up correctly, you should set your PWD environment variable to a value that will work on all nodes of your system.
##W TCOS 000049 20:07:05(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir (PMTPJNIKU01_OLD.TRNS_PROJ_OBS)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S8_repos_TRNS_PROJ_OBS transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 Into_TRNS_PROJ_OBS;
0007: outputname 0 Into_JOIN_PROJ_FROM_TRNS;
0008: outputname 1 Into_FUNL_FROM_TRNS;
0009:
0010: initialize {
0011: // define our row rejected variable
0012: int8 RowRejected0;
0013:
0014: // define our null set variable
0015: int8 NullSetVar0;
0016:
0017: // declare our intermediate variables for this section
0018: decimal InterVar0_1;
0019: string InterVar0_3;
0020: string InterVar0_4;
0021: string InterVar0_5;
0022: string InterVar0_11;
0023:
0024: // initialise constant values which require conversion
0025: InterVar0_1 = 0;
0026: InterVar0_3 = ".";
0027: InterVar0_4 = "|";
0028: InterVar0_5 = "";
0029: InterVar0_11 = "<NULL>";
0030: // Stage variable declaration and initialisation
0031: date StageVar0_DATE;
0032: StageVar0_DATE = current_date();
0033: string StageVar0_LEVEL1UNITID;
0034: StageVar0_LEVEL1UNITID = "";
0035: string StageVar0_LEVEL1NAME;
0036: StageVar0_LEVEL1NAME = "";
0037: string StageVar0_LEVEL2UNITID;
0038: StageVar0_LEVEL2UNITID = "";
0039: string StageVar0_LEVEL2NAME;
0040: StageVar0_LEVEL2NAME = "";
0041: string StageVar0_LEVEL3UNITID;
0042: StageVar0_LEVEL3UNITID = "";
0043: string StageVar0_LEVEL3NAME;
0044: StageVar0_LEVEL3NAME = "";
0045: string StageVar0_LEVEL4UNITID;
0046: StageVar0_LEVEL4UNITID = "";
0047: string StageVar0_LEVEL4NAME;
0048: StageVar0_LEVEL4NAME = "";
0049: string StageVar0_LEVEL5UNITID;
0050: StageVar0_LEVEL5UNITID = "";
0051: string StageVar0_LEVEL5NAME;
0052: StageVar0_LEVEL5NAME = "";
0053: string StageVar0_LEVEL6UNITID;
0054: StageVar0_LEVEL6UNITID = "";
0055: string StageVar0_LEVEL6NAME;
0056: StageVar0_LEVEL6NAME = "";
0057: }
0058:
0059: mainloop {
0060: // initialise our row rejected variable
0061: RowRejected0 = 1;
0062:
0063: // declare our intermediate variables for this section
0064: decimal InterVar0_0;
0065: string InterVar0_2;
0066: decimal InterVar0_6;
0067: decimal InterVar0_7;
0068: decimal InterVar0_8;
0069: decimal InterVar0_9;
0070: decimal InterVar0_10;
0071:
0072: // evaluate the stage variables first
0073: StageVar0_DATE = current_date();
0074: if (notnull(Into_TRNS_PROJ_OBS.LEVEL1_UNIT_ID)) {
0075: InterVar0_0 = Into_TRNS_PROJ_OBS.LEVEL1_UNIT_ID;
0076: } else {
0077: InterVar0_0 = InterVar0_1;
0078: }
0079: if ((InterVar0_0 > InterVar0_1)) {
0080: InterVar0_2 = Into_TRNS_PROJ_OBS.LEVEL1_UNIT_ID;
0081: StageVar0_LEVEL1UNITID = (trimc_string(InterVar0_2 , InterVar0_3) + InterVar0_4);
0082: } else {
0083: StageVar0_LEVEL1UNITID = InterVar0_5;
0084: }
0085: //;
0086: if (null(Into_TRNS_PROJ_OBS.LEVEL1_NAME)) {
0087: StageVar0_LEVEL1NAME = InterVar0_5;
0088: } else {
0089: if ((string_length(trimc_string(Into_TRNS_PROJ_OBS.LEVEL1_NAME)) == 0)) {
0090: StageVar0_LEVEL1NAME = InterVar0_5;
0091: } else {
0092: StageVar0_LEVEL1NAME = (left_substring(Into_TRNS_PROJ_OBS.LEVEL1_NAME , 50) + InterVar0_4);
0093: }
0094: //;
0095: }
0096: //;
0097: if (notnull(Into_TRNS_PROJ_OBS.LEVEL2_UNIT_ID)) {
0098: InterVar0_6 = Into_TRNS_PROJ_OBS.LEVEL2_UNIT_ID;
0099: } else {
0100: InterVar0_6 = InterVar0_1;
0101: }
0102: if ((InterVar0_6 > InterVar0_1)) {
0103: InterVar0_2 = Into_TRNS_PROJ_OBS.LEVEL2_UNIT_ID;
0104: StageVar0_LEVEL2UNITID = (trimc_string(InterVar0_2 , InterVar0_3) + InterVar0_4);
0105: } else {
0106: StageVar0_LEVEL2UNITID = InterVar0_5;
0107: }
0108: //;
0109: if (null(Into_TRNS_PROJ_OBS.LEVEL2_NAME)) {
0110: StageVar0_LEVEL2NAME = InterVar0_5;
0111: } else {
0112: if ((string_length(trimc_string(Into_TRNS_PROJ_OBS.LEVEL2_NAME)) == 0)) {
0113: StageVar0_LEVEL2NAME = InterVar0_5;
0114: } else {
0115: StageVar0_LEVEL2NAME = (left_substring(Into_TRNS_PROJ_OBS.LEVEL2_NAME , 50) + InterVar0_4);
0116: }
0117: //;
0118: }
0119: //;
0120: if (notnull(Into_TRNS_PROJ_OBS.LEVEL3_UNIT_ID)) {
0121: InterVar0_7 = Into_TRNS_PROJ_OBS.LEVEL3_UNIT_ID;
0122: } else {
0123: InterVar0_7 = InterVar0_1;
0124: }
0125: if ((InterVar0_7 > InterVar0_1)) {
0126: InterVar0_2 = Into_TRNS_PROJ_OBS.LEVEL3_UNIT_ID;
0127: StageVar0_LEVEL3UNITID = (trimc_string(InterVar0_2 , InterVar0_3) + InterVar0_4);
0128: } else {
0129: StageVar0_LEVEL3UNITID = InterVar0_5;
0130: }
0131: //;
0132: if (null(Into_TRNS_PROJ_OBS.LEVEL3_NAME)) {
0133: StageVar0_LEVEL3NAME = InterVar0_5;
0134: } else {
0135: if ((string_length(trimc_string(Into_TRNS_PROJ_OBS.LEVEL3_NAME)) == 0)) {
0136: StageVar0_LEVEL3NAME = InterVar0_5;
0137: } else {
0138: StageVar0_LEVEL3NAME = (left_substring(Into_TRNS_PROJ_OBS.LEVEL3_NAME , 50) + InterVar0_4);
0139: }
0140: //;
0141: }
0142: //;
0143: if (notnull(Into_TRNS_PROJ_OBS.LEVEL4_UNIT_ID)) {
0144: InterVar0_8 = Into_TRNS_PROJ_OBS.LEVEL4_UNIT_ID;
0145: } else {
0146: InterVar0_8 = InterVar0_1;
0147: }
0148: if ((InterVar0_8 > InterVar0_1)) {
0149: InterVar0_2 = Into_TRNS_PROJ_OBS.LEVEL4_UNIT_ID;
0150: StageVar0_LEVEL4UNITID = (trimc_string(InterVar0_2 , InterVar0_3) + InterVar0_4);
0151: } else {
0152: StageVar0_LEVEL4UNITID = InterVar0_5;
0153: }
0154: //;
0155: if (null(Into_TRNS_PROJ_OBS.LEVEL4_NAME)) {
0156: StageVar0_LEVEL4NAME = InterVar0_5;
0157: } else {
0158: if ((string_length(trimc_string(Into_TRNS_PROJ_OBS.LEVEL4_NAME)) == 0)) {
0159: StageVar0_LEVEL4NAME = InterVar0_5;
0160: } else {
0161: StageVar0_LEVEL4NAME = (left_substring(Into_TRNS_PROJ_OBS.LEVEL4_NAME , 50) + InterVar0_4);
0162: }
0163: //;
0164: }
0165: //;
0166: if (notnull(Into_TRNS_PROJ_OBS.LEVEL5_UNIT_ID)) {
0167: InterVar0_9 = Into_TRNS_PROJ_OBS.LEVEL5_UNIT_ID;
0168: } else {
0169: InterVar0_9 = InterVar0_1;
0170: }
0171: if ((InterVar0_9 > InterVar0_1)) {
0172: InterVar0_2 = Into_TRNS_PROJ_OBS.LEVEL5_UNIT_ID;
0173: StageVar0_LEVEL5UNITID = (trimc_string(InterVar0_2 , InterVar0_3) + InterVar0_4);
0174: } else {
0175: StageVar0_LEVEL5UNITID = InterVar0_5;
0176: }
0177: //;
0178: if (null(Into_TRNS_PROJ_OBS.LEVEL5_NAME)) {
0179: StageVar0_LEVEL5NAME = InterVar0_5;
0180: } else {
0181: if ((string_length(trimc_string(Into_TRNS_PROJ_OBS.LEVEL5_NAME)) == 0)) {
0182: StageVar0_LEVEL5NAME = InterVar0_5;
0183: } else {
0184: StageVar0_LEVEL5NAME = (left_substring(Into_TRNS_PROJ_OBS.LEVEL5_NAME , 50) + InterVar0_4);
0185: }
0186: //;
0187: }
0188: //;
0189: if (notnull(Into_TRNS_PROJ_OBS.LEVEL6_UNIT_ID)) {
0190: InterVar0_10 = Into_TRNS_PROJ_OBS.LEVEL6_UNIT_ID;
0191: } else {
0192: InterVar0_10 = InterVar0_1;
0193: }
0194: if ((InterVar0_10 > InterVar0_1)) {
0195: InterVar0_2 = Into_TRNS_PROJ_OBS.LEVEL6_UNIT_ID;
0196: StageVar0_LEVEL6UNITID = (trimc_string(InterVar0_2 , InterVar0_3) + InterVar0_4);
0197: } else {
0198: StageVar0_LEVEL6UNITID = InterVar0_5;
0199: }
0200: //;
0201: if (null(Into_TRNS_PROJ_OBS.LEVEL6_NAME)) {
0202: StageVar0_LEVEL6NAME = InterVar0_5;
0203: } else {
0204: if ((string_length(trimc_string(Into_TRNS_PROJ_OBS.LEVEL6_NAME)) == 0)) {
0205: StageVar0_LEVEL6NAME = InterVar0_5;
0206: } else {
0207: StageVar0_LEVEL6NAME = (left_substring(Into_TRNS_PROJ_OBS.LEVEL6_NAME , 50) + InterVar0_4);
0208: }
0209: //;
0210: }
0211: //;
0212:
0213: // evaluate columns (no constraints) for link: Into_JOIN_PROJ_FROM_TRNS
0214: if (notnull(Into_TRNS_PROJ_OBS.UNIQUE_NAME)) {
0215: Into_JOIN_PROJ_FROM_TRNS.UNIQUE_NAME = Into_TRNS_PROJ_OBS.UNIQUE_NAME;
0216: } else {
0217: Into_JOIN_PROJ_FROM_TRNS.UNIQUE_NAME = InterVar0_11;
0218: }
0219: //;
0220: Into_JOIN_PROJ_FROM_TRNS.IS_ACTIVE = Into_TRNS_PROJ_OBS.IS_ACTIVE;
0221: Into_JOIN_PROJ_FROM_TRNS.Date = StageVar0_DATE;
0222: Into_JOIN_PROJ_FROM_TRNS.CURRDATE = julian_day_from_date(StageVar0_DATE);
0223: if (notnull(julian_day_from_date(date_from_string(string_from_timestamp(Into_TRNS_PROJ_OBS.PRSTART))))) {
0224: Into_JOIN_PROJ_FROM_TRNS.PRSTART = julian_day_from_date(date_from_string(string_from_timestamp(Into_TRNS_PROJ_OBS.PRSTART)));
0225: } else {
0226: Into_JOIN_PROJ_FROM_TRNS.PRSTART = 0;
0227: }
0228: //;
0229: if (notnull(julian_day_from_date(date_from_string(string_from_timestamp(Into_TRNS_PROJ_OBS.PRFINISH))))) {
0230: Into_JOIN_PROJ_FROM_TRNS.PRFINISH = julian_day_from_date(date_from_string(string_from_timestamp(Into_TRNS_PROJ_OBS.PRFINISH)));
0231: } else {
0232: Into_JOIN_PROJ_FROM_TRNS.PRFINISH = 0;
0233: }
0234: //;
0235: if (notnull(Into_TRNS_PROJ_OBS.ACTUAL_HOURS)) {
0236: Into_JOIN_PROJ_FROM_TRNS.ACTUAL_HOURS = Into_TRNS_PROJ_OBS.ACTUAL_HOURS;
0237: } else {
0238: Into_JOIN_PROJ_FROM_TRNS.ACTUAL_HOURS = InterVar0_1;
0239: }
0240: //;
0241: if (notnull(Into_TRNS_PROJ_OBS.ETC_HOURS)) {
0242: Into_JOIN_PROJ_FROM_TRNS.ETC_HOURS = Into_TRNS_PROJ_OBS.ETC_HOURS;
0243: } else {
0244: Into_JOIN_PROJ_FROM_TRNS.ETC_HOURS = InterVar0_1;
0245: }
0246: //;
0247: if (notnull(Into_TRNS_PROJ_OBS.NAME_CMN)) {
0248: Into_JOIN_PROJ_FROM_TRNS.NAME = Into_TRNS_PROJ_OBS.NAME_CMN;
0249: } else {
0250: Into_JOIN_PROJ_FROM_TRNS.NAME = InterVar0_11;
0251: }
0252: //;
0253: writerecord 0;
0254: RowRejected0 = 0;
0255: // evaluate columns (no constraints) for link: Into_FUNL_FROM_TRNS
0256: Into_FUNL_FROM_TRNS.ENTIRE_LINE = (((((((((((((StageVar0_LEVEL1UNITID + StageVar0_LEVEL1NAME) + StageVar0_LEVEL2UNITID) + StageVar0_LEVEL2NAME) + StageVar0_LEVEL3UNITID) + StageVar0_LEVEL3NAME) + StageVar0_LEVEL4UNITID) + StageVar0_LEVEL4NAME) + StageVar0_LEVEL5UNITID) + StageVar0_LEVEL5NAME) + StageVar0_LEVEL6UNITID) + StageVar0_LEVEL6NAME) + Into_TRNS_PROJ_OBS.UNIQUE_NAME) + InterVar0_4);
0257: if (notnull(left_substring(Into_TRNS_PROJ_OBS.NAME , 50))) {
0258: Into_FUNL_FROM_TRNS.NAME = left_substring(Into_TRNS_PROJ_OBS.NAME , 50);
0259: } else {
0260: Into_FUNL_FROM_TRNS.NAME = InterVar0_11;
0261: }
0262: //;
0263: writerecord 1;
0264: RowRejected0 = 0;
0265: }
0266:
0267: finish {
0268: }
0269:
*** End of Internal Generated Transformer Code
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Hi,
Could you make sure that you are not getting any yellow exclaimation mark on your transformer? or any red indicator on the mapped column inside the transformer.
I suspect some of the stage variable you use for the check of Nullability might be wrongly initialized. :roll:

regards
kumar
rhys.jones@target.com
Participant
Posts: 24
Joined: Mon Mar 14, 2005 6:42 pm
Location: Minneapolis, Minnesota

Post by rhys.jones@target.com »

Kumar_s:
Thanks for the reply. Sorry it took so long to get back. The syntax I was using within the transformer was fine - there were no red indicators on any of the columns, nor a yellow exclamation mark on the transformer.

Anyway, I figured out the problem. I was trying to do my null handling in the wrong order. I had a stage variable that was doing flow control on the incoming column (if then else) and assigning an appropriate value depending on the input. I was then trying to do the null handling at the outgoing column level on the stage variable. That's what happens when you've been up all night on lots of caffeine and not thinking clearly.... :oops:

Needless to say the error during the compile (or lack thereof) was useless and could really use some polishing on IBMs part...
Post Reply