Compiler Issue with Transformer

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
swapnilverma
Participant
Posts: 135
Joined: Tue Aug 14, 2007 4:27 am
Location: Mumbai

Compiler Issue with Transformer

Post by swapnilverma »

I made few changes in existing compiled job. The changes are

1)Added a new stage variable
2) Added few more if else in existing derivation
3) change in data type from var-char to char for two columns


After saving the changes when I compile the job I get below error :-

Output from transformer compilation follows:

##I IIS-DSEE-TFCN-00001 08:01:30(000) <main_program>
IBM WebSphere DataStage Enterprise Edition 8.5.0.6152
Copyright (c) 2001, 2005-2008 IBM Corporation. All rights reserved



##I IIS-DSEE-TFCN-00006 08:01:30(001) <main_program> conductor uname: -s=Windows_NT; -r=1; -v=6;
-n=CLTDEVLAB90; -m=Pentium
##I IIS-DSEE-TOSH-00002 08:01:30(002) <main_program> orchgeneral: loaded
##I IIS-DSEE-TOSH-00002 08:01:30(003) <main_program> orchsort: loaded
##I IIS-DSEE-TOSH-00002 08:01:30(004) <main_program> orchstats: loaded
##I IIS-DSEE-TCOS-00021 08:01:30(007) <main_program> Echo:
transform -inputschema record
(
INSERT_UPDATE:string[1];
COLLTN_BTCH_PRFL_ID:int32;
BANK_TRNST_RT_PRFL_ID:int32;
COLLTN_FILE_PRFL_ID:int32;
CUST_PRFL_ID:int32;
COLLTN_POINT_NM_LKP:string[9];
COLLTN_POINT_NM:ustring[9];
COLLTN_APPL_ID:ustring[9];
COLLTN_APPL_TYPE_NM:ustring[6];
DATA_SRC_ID:int16;
CUST_PRFL_ID_REF:nullable int32;
COLLTN_POINT_NM_REF:nullable ustring[9];
TRD_PARTY_SNDR_FLG:nullable string[1];
CUST_PRFL_ID_VLDT:nullable int32;
COLLTN_APPL_ID_REF:nullable ustring[9];
COLLTN_APPL_TYPE_NM_REF:nullable ustring[6];
)
-outputschema record
(
BANK_TRNST_RT_PRFL_ID:int32;
CUST_PRFL_ID:int32;
COLLTN_FILE_PRFL_ID:int32;
COLLTN_POINT_NM:ustring[9];
COLLTN_APPL_ID:ustring[9];
COLLTN_APPL_TYPE_NM:ustring[6];
DATA_SRC_ID:int16;
ADD_TMS:timestamp;
MAINT_TMS:timestamp;
)
-outputschema record
(
COLLTN_BTCH_PRFL_ID:int32;
BANK_TRNST_RT_PRFL_ID:int32;
CUST_PRFL_ID:int32;
COLLTN_FILE_PRFL_ID:int32;
COLLTN_POINT_NM:ustring[9];
MAINT_TMS:timestamp;
)
-outputschema record
(
ABORT:string[max=500];
INSERT_UPDATE:string[1];
COLLTN_BTCH_PRFL_ID:int32;
BANK_TRNST_RT_PRFL_ID:int32;
COLLTN_FILE_PRFL_ID:int32;
CUST_PRFL_ID:int32;
COLLTN_POINT_NM:ustring[9];
COLLTN_APPL_ID:ustring[9];
COLLTN_APPL_TYPE_NM:ustring[6];
DATA_SRC_ID:int16;
CUST_PRFL_ID_REF:nullable int32;
COLLTN_POINT_NM_REF:nullable ustring[9];
TRD_PARTY_SNDR_FLG:nullable string[1];
CUST_PRFL_ID_VLDT:nullable int32;
COLLTN_APPL_ID_REF:nullable ustring[9];
COLLTN_APPL_TYPE_NM_REF:nullable ustring[6];
)
-expressionfile RT_SC151/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.trx
-flag compile
-compiler 'cxx'
-compileopt '-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t-'
-linker 'cxx'
-linkopt '-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-'
-name V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt
-dir C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O
.
##I IIS-DSEE-TCOS-00022 08:01:30(009) <main_program> Explanation:
Step has 1 operator.
???, invoked with args: -inputschema record ( INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM_LKP: string[9]; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; ) -outputschema record ( BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; ADD_TMS: timestamp; MAINT_TMS: timestamp; ) -outputschema record ( COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; MAINT_TMS: timestamp; ) -outputschema record ( ABORT: string[max=500]; INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; ) -expressionfile RT_SC151/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.trx -flag compile -compiler cxx -compileopt -W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t- -linker cxx -linkopt -s -W/dll -W/base:0x50000000 -W/Zc:wchar_t- -name V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt -dir C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O

Step has 0 data entities.
.
##I IIS-DSEE-TCOS-00023 08:01:30(010) <main_program> Dump:
{
text="transform -inputschema record ( INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM_LKP: string[9]; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; )\r\n-outputschema record ( BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; ADD_TMS: timestamp; MAINT_TMS: timestamp; )\r\n-outputschema record ( COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; MAINT_TMS: timestamp; )\r\n-outputschema record ( ABORT: string[max=500]; INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; )\r\n-expressionfile RT_SC151/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.trx\r\n-flag compile\r\n-compiler 'cxx'\r\n-compileopt '-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t-'\r\n-linker 'cxx'\r\n-linkopt '-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-'\r\n-name V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt\r\n-dir C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O",
line=1, column=1, name="", qualname="",
op={
text="transform -inputschema record ( INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM_LKP: string[9]; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; )\r\n-outputschema record ( BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; ADD_TMS: timestamp; MAINT_TMS: timestamp; )\r\n-outputschema record ( COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; MAINT_TMS: timestamp; )\r\n-outputschema record ( ABORT: string[max=500]; INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; )\r\n-expressionfile RT_SC151/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.trx\r\n-flag compile\r\n-compiler 'cxx'\r\n-compileopt '-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t-'\r\n-linker 'cxx'\r\n-linkopt '-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-'\r\n-name V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt\r\n-dir C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O",
line=1, column=1, name=transform, qualname=transform,
wrapout={},
wrapperfile=transform, kind=non_wrapper_cdi_op, exec_mode=none,
args="'record ( INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM_LKP: string[9]; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; )'-outputschema'record ( BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; ADD_TMS: timestamp; MAINT_TMS: timestamp; )'-outputschema'record ( COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; MAINT_TMS: timestamp; )'-outputschema'record ( ABORT: string[max=500]; INSERT_UPDATE: string[1]; COLLTN_BTCH_PRFL_ID: int32; BANK_TRNST_RT_PRFL_ID: int32; COLLTN_FILE_PRFL_ID: int32; CUST_PRFL_ID: int32; COLLTN_POINT_NM: ustring[9]; COLLTN_APPL_ID: ustring[9]; COLLTN_APPL_TYPE_NM: ustring[6]; DATA_SRC_ID: int16; CUST_PRFL_ID_REF: nullable int32; COLLTN_POINT_NM_REF: nullable ustring[9]; TRD_PARTY_SNDR_FLG: nullable string[1]; CUST_PRFL_ID_VLDT: nullable int32; COLLTN_APPL_ID_REF: nullable ustring[9]; COLLTN_APPL_TYPE_NM_REF: nullable ustring[6]; )'-expressionfile'RT_SC151/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.trx'-flag'compile'-compiler'cxx'-compileopt'-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t-'-linker'cxx'-linkopt'-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-'-name'V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt'-dir'C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O'"
}
}
.
##E IIS-DSEE-TBLD-00076 08:01:33(001) <main_program> Error when checking composite operator: Subprocess command failed with exit status 40,192.
##E IIS-DSEE-TFSR-00019 08:01:33(002) <main_program> Could not check all operators because of previous error(s)
##W IIS-DSEE-TFTM-00012 08:01:33(003) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##I IIS-DSEE-TBLD-00000 08:01:33(004) <main_program> Error when checking composite operator: Output from subprocess: E:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include\exception(85) : warning C4985: 'strcpy_s': attributes not present on previous declaration.
C:/PROGRA~2/MKSTOO~1/include\string.h(90) : see declaration of 'strcpy_s'
C:\PROGRA~1\IBM\InformationServer\Server\PXEngine\include\apt_util/keylookup.h(1151) : warning C4251: 'APT_KeyLookupRange::rangeOptions_' : class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'APT_KeyLookupRange'
with
[

##I IIS-DSEE-TBLD-00000 08:01:33(005) <main_program> Error when checking composite operator: Output from subprocess: _Ty=APT_KeyLookupRange::rangeOption
]
C:\PROGRA~1\IBM\InformationServer\Server\PXEngine\include\apt_components/transformop/transformbase.h(185) : warning C4244: 'argument' : conversion from 'APT_UInt64' to 'unsigned int', possible loss of data
C:\PROGRA~1\IBM\InformationServer\Server\PXEngine\include\apt_components/transformop/transformbase.h(185) : warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
C:\PROGRA~1\IBM\InformationServer\
##W IIS-DSEE-TFEV-00025 08:01:33(006) <transform> Error when checking composite operator: Converting number to ustring.
##W IIS-DSEE-TFEV-00023 08:01:33(007) <transform> Error when checking composite operator: Implicit conversion from source type "UInt64" to result type "UString".
##I IIS-DSEE-TBLD-00000 08:01:33(008) <main_program> Error when checking composite operator: Output from subprocess: Server\PXEngine\include\apt_components/transformop/transformbase.h(185) : warning C4800: 'unsigned __int64' : forcing value to bool 'true' or 'false' (performance warning)
C:\PROGRA~1\IBM\InformationServer\Server\PXEngine\include\apt_components/transformop/transformbase.h(186) : warning C4244: 'argument' : conversion from 'APT_UInt64' to 'unsigned int', possible loss of data
C:\PROGRA~1\IBM\InformationServer\Server\PXEngine\include\apt_components/transformop/transformbase.h(186) : warning C4334: '<<' : re
##I IIS-DSEE-TBLD-00000 08:01:33(009) <main_program> Error when checking composite operator: Output from subprocess: sult of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
C:\PROGRA~1\IBM\InformationServer\Server\PXEngine\include\apt_components/transformop/transformbase.h(187) : warning C4244: 'argument' : conversion from 'APT_UInt64' to 'unsigned int', possible loss of data
C:\PROGRA~1\IBM\InformationServer\Server\Projects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.C(252) : warning C4101: 'output' : unreferenced local variable
C:\PROGRA~1\IBM\InformationServer\Server\P
##W IIS-DSEE-TFEV-00023 08:01:33(010) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##W IIS-DSEE-TFEV-00023 08:01:33(011) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "UString".
##I IIS-DSEE-TBLD-00000 08:01:33(012) <main_program> Error when checking composite operator: Output from subprocess: rojects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.C(245) : warning C4101: 'input' : unreferenced local variable
C:\PROGRA~1\IBM\InformationServer\Server\Projects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.C(468) : error C2059: syntax error : ')'
C:\PROGRA~1\IBM\InformationServer\Server\Projects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.C(482) : error C2059: syntax error : ')'

##I IIS-DSEE-TBLD-00079 08:01:33(013) <transform> Error when checking composite operator: cxx -LC:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O/ -LC:/PROGRA~1/IBM/InformationServer/Server/PXEngine/lib -LC:/PROGRA~1/IBM/InformationServer/Server/PXEngine/user_lib -s -W/dll -W/base:0x50000000 -W/Zc:wchar_t- -lliborchnt -lliborchcorent -lliborchbuildopnt C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.tmp.o -o C:/PROGRA~1/IBM/InformationServer/Server/Projects/PV_Reporter_ACH/RT_BP151.O/V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.dll.
##I IIS-DSEE-TBLD-00000 08:01:33(014) <main_program> Error when checking composite operator: Output from subprocess: LINK : fatal error LNK1181: cannot open input file 'C:\PROGRA~1\IBM\InformationServer\Server\Projects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.tmp.o'

##E IIS-DSEE-TCOS-00029 08:01:33(015) <main_program> Creation of a step finished with status = FAILED. (COLLTN_BTCH_PRFL.Xfmr_Final_Vldt)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 Main;
0007: outputname 0 Insert;
0008: outputname 1 Update;
0009: outputname 2 ABORT_F;
0010:
0011: initialize {
0012: // define our control variables
0013: int8 RowRejected0;
0014: int8 NullSetVar0;
0015:
0016: // define and initialise each link row count variable required
0017: uint64 RowCount0_2;
0018: RowCount0_2 = 0;
0019:
0020: // declare our intermediate variables for this section
0021: int16 InterVar0_0;
0022: int16 InterVar0_1;
0023: string InterVar0_2;
0024: string InterVar0_3;
0025: int16 InterVar0_4;
0026: string InterVar0_5;
0027: string InterVar0_7;
0028: string InterVar0_8;
0029: string InterVar0_9;
0030: string InterVar0_10;
0031: string InterVar0_11;
0032: string InterVar0_12;
0033: string InterVar0_13;
0034: string InterVar0_14;
0035: string InterVar0_15;
0036:
0037: // initialise constant values which require conversion
0038: InterVar0_0 = 1;
0039: InterVar0_1 = 0;
0040: InterVar0_2 = "N";
0041: InterVar0_3 = "U";
0042: InterVar0_4 = 2;
0043: InterVar0_5 = "I";
0044: InterVar0_7 = " BAD CUST_PRFL_ID --> ID not found in CUST_PRFL table. ";
0045: InterVar0_8 = " BAD BANK_TRNST_RT_PRFL_ID --> ID not found in table ";
0046: InterVar0_9 = "COLLTN_FILE_PRFL_ID AND COLLTN_POINT_NM COMBINATION not found in COLLTN_FILE_PRFL TABLE ";
0047: InterVar0_10 = "BAD CUST_PRFL_ID . For given COLLTN_FILE_PRFL_ID AND COLLTN_POINT_NM COMBINATION CUST_PRFL_ID should be as same as in COLLTN_FILE_PRFL table ";
0048: InterVar0_11 = " BAD COLLTN_FILE_PRFL_ID. ID Not found in table ";
0049: InterVar0_12 = " BAD COLLTN_BTCH_PRFL_ID --> ID not found in table . Please provide a valid COLLTN_BTCH_PRFL_ID for update";
0050: InterVar0_13 = " For given COLLTN_BTCH_PRFL_ID COLLTN_APPL_ID did not match with table . Note--> COLLTN_APPL_ID, COLLTN_APPL_TYPE_NM Can not be updated ";
0051: InterVar0_14 = " For given COLLTN_BTCH_PRFL_ID COLLTN_APPL_TYPE_NM did not match with table . Note--> COLLTN_APPL_ID, COLLTN_APPL_TYPE_NM Can not be updated ";
0052: InterVar0_15 = " Records with Insert Update Flags other than I (for inserts) U (for updates) will be ignored ";
0053: // Stage variable declaration and initialisation
0054: int16 StageVar0_ChkColltnPointNm;
0055: StageVar0_ChkColltnPointNm = 0;
0056: int16 StageVar0_VALIDATION_2;
0057: StageVar0_VALIDATION_2 = 0;
0058: int16 StageVar0_VldCustPrfl;
0059: StageVar0_VldCustPrfl = 0;
0060: int16 StageVar0_VldBnkTrnstRtPrfId;
0061: StageVar0_VldBnkTrnstRtPrfId = 0;
0062: int16 StageVar0_VldUpdate;
0063: StageVar0_VldUpdate = 0;
0064: int16 StageVar0_VldUpdate_1;
0065: StageVar0_VldUpdate_1 = 0;
0066: }
0067:
0068: mainloop {
0069:
0070: // declare our intermediate variables for this section
0071: int64 InterVar0_6;
0072:
0073: // evaluate the stage variables first
0074: if (null(Main.COLLTN_POINT_NM_REF)) {
0075: StageVar0_ChkColltnPointNm = InterVar0_0;
0076: } else {
0077: StageVar0_ChkColltnPointNm = InterVar0_1;
0078: }
0079: //;
0080: if (null(Main.TRD_PARTY_SNDR_FLG)) {
0081: StageVar0_VALIDATION_2 = InterVar0_0;
0082: } else {
0083: if (((upper_case(Main.TRD_PARTY_SNDR_FLG) == InterVar0_2) && (Main.CUST_PRFL_ID != Main.CUST_PRFL_ID_VLDT))) {
0084: StageVar0_VALIDATION_2 = InterVar0_0;
0085: } else {
0086: StageVar0_VALIDATION_2 = InterVar0_1;
0087: }
0088: //;
0089: }
0090: //;
0091: if (null(Main.CUST_PRFL_ID_REF)) {
0092: StageVar0_VldCustPrfl = InterVar0_0;
0093: } else {
0094: StageVar0_VldCustPrfl = InterVar0_1;
0095: }
0096: //;
0097: if (null(Main.BANK_TRNST_RT_PRFL_ID)) {
0098: StageVar0_VldBnkTrnstRtPrfId = InterVar0_0;
0099: } else {
0100: StageVar0_VldBnkTrnstRtPrfId = InterVar0_1;
0101: }
0102: //;
0103: if ((null(Main.COLLTN_APPL_TYPE_NM_REF) && (Main.INSERT_UPDATE == InterVar0_3))) {
0104: StageVar0_VldUpdate = InterVar0_0;
0105: } else {
0106: StageVar0_VldUpdate = InterVar0_1;
0107: }
0108: //;
0109: if (((Main.INSERT_UPDATE == InterVar0_3) && (Main.COLLTN_APPL_ID != u_left_substring((u_trimc_string(Main.COLLTN_APPL_ID_REF) + u_string_of_space(9)) , 9)))) {
0110: StageVar0_VldUpdate_1 = InterVar0_0;
0111: } else {
0112: if (((Main.INSERT_UPDATE == InterVar0_3) && (Main.COLLTN_APPL_TYPE_NM != u_left_substring((u_trimc_string(Main.COLLTN_APPL_TYPE_NM_REF) + u_string_of_space(6)) , 6)))) {
0113: StageVar0_VldUpdate_1 = InterVar0_4;
0114: } else {
0115: StageVar0_VldUpdate_1 = InterVar0_1;
0116: }
0117: //;
0118: }
0119: //;
0120:
0121: // initialise the rejected row variable
0122: RowRejected0 = 1;
0123:
0124: // evaluate constraint and columns for link: Insert
0125: if (((upper_case(Main.INSERT_UPDATE) == InterVar0_5) && ((((StageVar0_VldCustPrfl == InterVar0_1) && (StageVar0_VALIDATION_2 == InterVar0_1)) && (StageVar0_VldCustPrfl == InterVar0_1)) && (StageVar0_ChkColltnPointNm == InterVar0_1))))
0126: {
0127: Insert.COLLTN_POINT_NM = u_left_substring((Main.COLLTN_POINT_NM + u_string_of_space(9)) , 9);
0128: Insert.ADD_TMS = current_timestamp();
0129: Insert.MAINT_TMS = current_timestamp();
0130: writerecord 0;
0131: RowRejected0 = 0;
0132: }
0133: // evaluate constraint and columns for link: Update
0134: if (((upper_case(Main.INSERT_UPDATE) == InterVar0_3) && ((((((StageVar0_VldCustPrfl == InterVar0_1) && (StageVar0_VALIDATION_2 == InterVar0_1)) && (StageVar0_VldCustPrfl == InterVar0_1)) && (StageVar0_ChkColltnPointNm == InterVar0_1)) && (StageVar0_VldUpdate == InterVar0_1)) && (StageVar0_VldUpdate_1 == InterVar0_1))))
0135: {
0136: Update.MAINT_TMS = current_timestamp();
0137: writerecord 1;
0138: RowRejected0 = 0;
0139: }
0140: // evaluate constraint and columns for link: ABORT_F
0141: InterVar0_6 = RowRejected0;
0142: if (InterVar0_6)
0143: {
0144: if ((StageVar0_VldCustPrfl == InterVar0_0)) {
0145: ABORT_F.ABORT = InterVar0_7;
0146: } else {
0147: if ((StageVar0_VldBnkTrnstRtPrfId == InterVar0_0)) {
0148: ABORT_F.ABORT = InterVar0_8;
0149: } else {
0150: if (((StageVar0_VALIDATION_2 == InterVar0_0) && null(Main.TRD_PARTY_SNDR_FLG))) {
0151: ABORT_F.ABORT = InterVar0_9;
0152: } else {
0153: if ((StageVar0_VALIDATION_2 == InterVar0_0)) {
0154: ABORT_F.ABORT = InterVar0_10;
0155: } else {
0156: if ((StageVar0_ChkColltnPointNm == InterVar0_0)) {
0157: ABORT_F.ABORT = InterVar0_11;
0158: } else {
0159: if ((StageVar0_VldUpdate == InterVar0_0)) {
0160: ABORT_F.ABORT = InterVar0_12;
0161: } else {
0162: if ((StageVar0_VldUpdate_1 == InterVar0_0)) {
0163: ABORT_F.ABORT = InterVar0_13;
0164: } else {
0165: if ((StageVar0_VldUpdate_1 == InterVar0_4)) {
0166: ABORT_F.ABORT = InterVar0_14;
0167: } else {
0168: ABORT_F.ABORT = InterVar0_15;
0169: }
0170: //;
0171: }
0172: //;
0173: }
0174: //;
0175: }
0176: //;
0177: }
0178: //;
0179: }
0180: //;
0181: }
0182: //;
0183: }
0184: //;
0185: ABORT_F.COLLTN_POINT_NM = u_left_substring((Main.COLLTN_POINT_NM + u_string_of_space(9)) , 9);
0186: writerecord 2;
0187: RowRejected0 = 0;
0188: RowCount0_2 = RowCount0_2 + 1;
0189: }
0190: }
0191:
0192: finish {
0193: // Log warnings for any reject links
0194: ustring LogMsg0;
0195: ustring LogLink0;
0196: if (RowCount0_2 > 0) {
0197: LogMsg0 = RowCount0_2;
0198: LogLink0 = " rows written to reject link: ";
0199: LogMsg0 = LogMsg0 + LogLink0;
0200: LogLink0 = "ABORT_F";
0201: LogMsg0 = LogMsg0 + LogLink0;
0202: u_print_message(LogMsg0);
0203: }
0204:
0205: }
0206:
*** End of Internal Generated Transformer Code

I searched the forum for similar error but all those are pointing to compiler issue which I doubt to be true in this case.
I am able to compile any other job with transformers.


Please help.
Thanks
Swapnil

"Whenever you find whole world against you just turn around and Lead the world"
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

The first error points to "strcopy" and I would check the changes from varchar to char first (make a copy of the job, remove those derivations and see if it compiles).

Often with big transform stages I give up trying to find the cause in the compiler output but just remove columns until the problem goes away and then examining the last column I removed.
ankursaxena.2003
Participant
Posts: 96
Joined: Mon May 14, 2012 1:30 pm

Post by ankursaxena.2003 »

Hi,

I have never debugged this big error. So, I don't know if I can be wrong.
But, looking at the error below. I think that you might be missing right parenthesis some where in the code.
And there are many warnings for type conversion. You can read it few lines above where it says "*** Internal Generated Transformer Code follows: "

C:\PROGRA~1\IBM\InformationServer\Server\Projects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.C(468) : error C2059: syntax error : ')'
C:\PROGRA~1\IBM\InformationServer\Server\Projects\PV_Reporter_ACH\RT_BP151.O\V0S13_COLLTN_BTCH_PRFL_Xfmr_Final_Vldt.C(482) : error C2059: syntax error : ')'
swapnilverma
Participant
Posts: 135
Joined: Tue Aug 14, 2007 4:27 am
Location: Mumbai

Post by swapnilverma »

Thanks for the response guys ...

Here is the erroneous code which causing this issue:-

I have a stage variable which has below code ..

(All input fields are of CHAR data type . Stage variable is small int )

If
Main.INSERT_UPDATE = "U" AND
Main.COLLTN_APPL_ID <> LEFT((TRIM(Main.COLLTN_APPL_ID_REF) : Space(9)), 9) Then 1 Else
If Main.INSERT_UPDATE = "U" AND
Main.COLLTN_APPL_TYPE_NM <> LEFT((TRIM(Main.COLLTN_APPL_TYPE_NM_REF) : Space(6)), 6)
THEN 2 Else 0

If I remove above logic job get compile .

Am I missing some thing in above logic or doing it in correctly ?
Thanks
Swapnil

"Whenever you find whole world against you just turn around and Lead the world"
ankursaxena.2003
Participant
Posts: 96
Joined: Mon May 14, 2012 1:30 pm

Post by ankursaxena.2003 »

What is the data type of INSERT_UPDATE. If it is Strings then shouldn't U be in single quotes?

Main.INSERT_UPDATE = 'U'
swapnilverma
Participant
Posts: 135
Joined: Tue Aug 14, 2007 4:27 am
Location: Mumbai

Post by swapnilverma »

As mentioned in previous post ... all input data type is of char ...

Double quotes works like charm with Varchar and char ... it is working in all my previous jobs and other stage variables in this job so that can not be the root cause of this.
Thanks
Swapnil

"Whenever you find whole world against you just turn around and Lead the world"
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I hope you realize that you cannot TRIM a CHAR() field. A CHAR(6) filled with spaces is 6 spaces long after a TRIM. I don'T see a stage variable in the IF clause. I assume the COLLTN_APPL_ID and COLLTN_APPL_ID_REF are both Char(9) and COLLTN_APP_TYPE_NM and COLLTN_APPL_TYPE_NM_REF are char(6).

Code: Select all

If 
Main.INSERT_UPDATE = "U" AND 
Main.COLLTN_APPL_ID <> Main.COLLTN_APPL_ID_REF
Then 1 Else 
If Main.INSERT_UPDATE = "U" AND 
Main.COLLTN_APPL_TYPE_NM <> Main.COLLTN_APPL_TYPE_NM_REF)
THEN 2 Else 0 
should compile.
swapnilverma
Participant
Posts: 135
Joined: Tue Aug 14, 2007 4:27 am
Location: Mumbai

Post by swapnilverma »

Thanks ArndW ! You nailed it.
Thanks
Swapnil

"Whenever you find whole world against you just turn around and Lead the world"
PhilHibbs
Premium Member
Premium Member
Posts: 1044
Joined: Wed Sep 29, 2004 3:30 am
Location: Nottingham, UK
Contact:

Post by PhilHibbs »

I came across a similar problem, I was padding a varchar(10) to 40 characters long, and the return from the pad function was still only 10 characters, not 40. It appears that when you call a DataStage string function with a particular data type input, the output is always of the same data type and so the function does not behave as it might be expected if you expected that intermediate string calculations would be loosely typed.

Lesson learned: put your input values into a Stage Variable that is defined large enough to hold the answer. Even simpler, if you're padding a string to 40 characters, just map the input value into a CHAR(40) Stage Variable and you don't even need to call a padding function. If you're going to trim it, map it into a VarChar Stage Variable first before calling Trim or TrimB (and whenever I see "trim()" it rings alarm bells as it is seldom what is actually required, TrimB is much more likely to be what is needed).
Phil Hibbs | Capgemini
Technical Consultant
Post Reply