What is data type for Exp function

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
prams
Participant
Posts: 73
Joined: Mon Apr 02, 2007 11:26 pm

What is data type for Exp function

Post by prams »

Hi

i am getting below error when i used the Exp(number) function in expression.

please help me in this regards

the error below
========

Output from transformer compilation follows:

##I TFCN 000001 08:48:07(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 08:48:07(001) <main_program> The open files limit is 1024; raising to 10000.
##I TOSH 000002 08:48:08(000) <main_program> orchgeneral: loaded
##I TOSH 000002 08:48:08(001) <main_program> orchsort: loaded
##I TOSH 000002 08:48:08(002) <main_program> orchstats: loaded
##I TFSC 000001 08:48:08(005) <main_program> APT configuration file: /usr/local/etl/default.apt
##W TCOS 000049 08:48:12(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 08:48:23(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256.
##E TFSR 000019 08:48:23(001) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 08:48:23(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 08:48:23(003) <transform> Error when checking composite operator: Possible range limitation.
##W TFCP 000000 08:48:23(004) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##W TFCP 000025 08:48:23(005) <transform> Error when checking composite operator: Possible range limitation.
##W TFCP 000000 08:48:23(006) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##W TFCP 000025 08:48:23(007) <transform> Error when checking composite operator: Possible range limitation.
##W TFCP 000000 08:48:23(008) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##W TFCP 000025 08:48:23(009) <transform> Error when checking composite operator: Possible range limitation.
##W TFCP 000000 08:48:23(010) <transform> Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##W TFCP 000000 08:48:23(011) <transform> Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "DFloat".
##W TFCP 000025 08:48:23(012) <transform> Error when checking composite operator: Possible range/precision limitation.
##W TFCP 000000 08:48:23(013) <transform> Error when checking composite operator: Implicit conversion from source type "DFloat" to result type "Decimal".
##W TBLD 000000 08:48:23(014) <main_program> Error when checking composite operator: Output from subprocess: "/detld2/etl/ascential/Ascential/DataStage/Projects/BASEL_DW/RT_BP97.O/V0S93_etlDwhCR_auxfact_Erec_Detl_Transformer_93.C", line 561: Error: Overloading ambiguity between "std::exp(double)" and "std::exp(long double)".
1 Error(s) detected.

##I TFCP 000000 08:48:23(015) <transform> Error when checking composite operator: /auto/opt/Studio8/SUNWspro/bin/CC -KPIC -O -I/detld2/etl/ascential/Ascential/DataStage/PXEngine/include -dalign -O -PIC -library=iostream -c /detld2/etl/ascential/Ascential/DataStage/Projects/BASEL_DW/RT_BP97.O/V0S93_etlDwhCR_auxfact_Erec_Detl_Transformer_93.C -o /detld2/etl/ascential/Ascential/DataStage/Projects/BASEL_DW/RT_BP97.O/V0S93_etlDwhCR_auxfact_Erec_Detl_Transformer_93.tmp.o.
##E TCOS 000029 08:48:23(016) <main_program> Creation of a step finished with status = FAILED. (etlDwhCR_auxfact_Erec_Detl.Transformer_93)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S93_repos_Transformer_93 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 lnk_fnl_rdr_erec;
0007: outputname 0 DSLink95;
0008: outputname 1 DSLink104;
0009:
0010: initialize {
0011: // define our row rejected variable
0012: int8 RowRejected0;
0013:
0014: // define our null set variable
0015: int8 NullSetVar0;
0016:
0017: // Stage variable declaration and initialisation
0018: decimal[38,10] StageVar0_svmatadj;
0019: StageVar0_svmatadj = 0;
0020: decimal[38,10] StageVar0_svmf;
0021: StageVar0_svmf = 0;
0022: decimal[38,10] StageVar0_svmf1;
0023: StageVar0_svmf1 = 0;
0024: decimal[38,10] StageVar0_svmf2;
0025: StageVar0_svmf2 = 0;
0026: }
0027:
0028: mainloop {
0029: // initialise our row rejected variable
0030: RowRejected0 = 1;
0031:
0032: // declare our intermediate variables for this section
0033: dfloat InterVar0_0;
0034: dfloat InterVar0_1;
0035:
0036: // evaluate the stage variables first
0037: InterVar0_0 = lnk_fnl_rdr_erec.WGHTD_PD_BP;
0038: InterVar0_1 = 0.11852 - (0.05478 * log(InterVar0_0));
0039: StageVar0_svmatadj = pow(InterVar0_1 , 2);
0040: StageVar0_svmf = (1 - (1.5 * StageVar0_svmatadj));
0041: StageVar0_svmf1 = (((1 + lnk_fnl_rdr_erec.DAYS_TO_MATURITY) - (2.5 * 360)) / (360 * StageVar0_svmatadj));
0042: StageVar0_svmf2 = (StageVar0_svmf / StageVar0_svmf1);
0043:
0044: // evaluate columns (no constraints) for link: DSLink95
0045: DSLink95.MAT_ADJ = StageVar0_svmatadj;
0046: DSLink95.MF = StageVar0_svmf2;
0047: writerecord 0;
0048: RowRejected0 = 0;
0049: // evaluate columns (no constraints) for link: DSLink104
0050: DSLink104.sv = exp(50);
0051: writerecord 1;
0052: RowRejected0 = 0;
0053: }
0054:
0055: finish {
0056: }
0057:
*** End of Internal Generated Transformer Code


Thanks & Regards
prams
neena
Participant
Posts: 90
Joined: Mon Mar 31, 2003 4:32 pm

Post by neena »

Try changing the output link column datatype to Varchar in transformer and then use the function StringToDecimal.
If you want to use just one Transformer use Stage Variable and then use StringToDecimal Function in column derivation cell. Just my thoughts.
Post Reply