IBM TRIRIGA Application Platform &CLr9 T r · IBM TRIRIGA Application Platform V3 R5 IBM TRIRIGA...
Transcript of IBM TRIRIGA Application Platform &CLr9 T r · IBM TRIRIGA Application Platform V3 R5 IBM TRIRIGA...
IBM TRIRIGA Application PlatformV 3 R 5
IBM TRIRIGA ApplicationPlatform &CLr9(:T\r\
IBM
"
Z9CKE"T0CE"'VDz7.0,kDAZ 673D:yw;PDE"#
>f>JCZ IBM TRIRIGA Application Platform V3.5.0 0yPsx"PfM^)f,1=ZBf>PmPyw*9#
© Copyright IBM Corporation 2011, 2015.
?<
Z 1 B T\r\ . . . . . . . . . . . 1
Z 2 B }]a9 . . . . . . . . . . . 3e5a9Ev . . . . . . . . . . . . . . 3B5m . . . . . . . . . . . . . . . . 4>}B5mT0`X*D, . . . . . . . . . 6
H?a9 . . . . . . . . . . . . . . . . 8ETL /I . . . . . . . . . . . . . . . 9
ETL /Ie5a9 . . . . . . . . . . . 10ETL /I}L . . . . . . . . . . . . 11xP ETL /I0DX8hC . . . . . . . . 14(eM,$ ETL d; . . . . . . . . . . 15+ ETL k Pentaho Spoon dO9C . . . . 15+ ETL k IBM Tivoli Directory Integrator dC`-wdO9C . . . . . . . . . . 30
KP ETL d; . . . . . . . . . . . . 51ETL w5n"w5iMw5wHLr . . . . 514(r^D ETL w5n . . . . . . . . 51mSr^Dw5i . . . . . . . . . . 534(r^Dw5wHLr . . . . . . . . 53
(Fd;Ts . . . . . . . . . . . . . 55(ed;5qTs"m%M$wwL . . . . 55+d; XML #f= Content Manager P . . 55dC$wwLKP1 . . . . . . . . . 56KP ETL (F$wwLNqf6 . . . . . 56
Z 3 B H? . . . . . . . . . . . . 57H?(f . . . . . . . . . . . . . . . 57X|H? . . . . . . . . . . . . . . . 58m%H? . . . . . . . . . . . . . . . 58}]}K . . . . . . . . . . . . . . 58S(f . . . . . . . . . . . . . . . 59
Z 4 B cNa9=f/w . . . . . . . 61=fcNa9 . . . . . . . . . . . . . . 61=fcNa9D>} . . . . . . . . . . 62
cNa9\mw . . . . . . . . . . . . . 63CJcNa9 . . . . . . . . . . . . . 634(}]cNa9 . . . . . . . . . . . 634(m%cNa9 . . . . . . . . . . . 63
Z 5 B B5m . . . . . . . . . . . 65'VDB5mMH?DPm . . . . . . . . . 65h*XbG(mM ETL DB5 . . . . . . . . 65St ETL . . . . . . . . . . . . . . . 66
yw . . . . . . . . . . . . . . . . 67Lj . . . . . . . . . . . . . . . . . 68z7D5DunMu~ . . . . . . . . . . . 69IBM xO~=yw . . . . . . . . . . . . 69
© Copyright IBM Corp. 2011, 2015 iii
iv © Copyright IBM Corp. 2011, 2015
Z 1 B T\r\
IBM® TRIRIGA® Workplace Performance Management M IBM TRIRIGA Real Estate
Environmental Sustainability a)KIPDbv=84ozs5Z=TOf."\m"@
@MDxkh)M?Xz`XDwL#
IBM TRIRIGA T\r\Z TRIRIGA Workplace Performance Management M TRIRIGA
Real Estate Environmental Sustainability PxP\m,b=vz7|,BPi~:
v }]d;MB5m0k~q
v 9C}](#wDH?9(w
v H?i/}f
v CZ9(H?(fDv?M(f\mw
v CZJVH?GV(D_6E'x>&\?~
v ;5P$H9(DH?"(fM/(,+sXa_K TRIRIGA P'VDZ`G+D
zz&
© Copyright IBM Corp. 2011, 2015 1
2 © Copyright IBM Corp. 2011, 2015
Z 2 B }]a9
TRIRIGA 9C“i!"d;M0k”(ETL) *"73w*+}]S5qTsmF/=B5
mDzF# *KJVH?"(f"GV(Md{T\b?5,}]XkIC(f$_I
T&mDB5mM=fcNa9mDN=#
e5a9Ev
TRIRIGA Workplace Performance Management D4}]4T TRIRIGA &CLr}]
b"Sb?Fq53<kDFq**}]T0Sb?(~o\m53<kD(~oF
?m}]#
(}9C ETL <u,4}]+0k=B5mP#B5mM,Hmk TRIRIGA &CL
r;Z,;}]bf"bP#B5mf"CZFc TRIRIGA Workplace Performance
Management H?5D}V}](F*B5)# B5mPD?;P<m>;vr`vT
B5xPViM}KD`X5qTs"V`rPm#b)PF*,H#
H?i/}fTB5mM,HmKPi/# ZC'OBF/Vc,H1,H?i/lY
XBFcH?5#
B<T>K9IKe5a9D;,cT0b)c.dD}]w:
© Copyright IBM Corp. 2011, 2015 3
WPM ��
��� ���
WPM ��
������
ETL ��
WPM ���������
TRIRIGA IWMS �� !"# $%�
ETL ��
&'()�"#
B5m
B5mPf"D}]CZFcH?(fPDH?# B5mv(} ETL d;xPnd#
*+5qTsj6*B5m,k9C}](#wZB5m5qTs(ePhC“b?\
m”j>#
Z IBM TRIRIGA Application Platform P,?vB5m<w*_PBP?Vr+?*
XDXb5qTs45V:
4 © Copyright IBM Corp. 2011, 2015
m 1. B5m
B5m*X hv
Vc,H TtZVc#i(}g(~o"~qI>zk
rGP)D5qTsxT,?vVc,H<G
;v(;wVN# TZ?vVc,H,P;v
`&DcNa9'VH?(f#
Vc,HIT}C#iZDNNryP5qT
s# k!I\_e# T_eD5qTs*?j
ITa_(fDj8LH#
?vVc,H<Xk(e;v`&DcNa
9# cNa9CZH?(fPDj!76#
GVc,H TtZGVc#i(}gNqrK1)D5q
TsxT,?vGVc,H<G;vPmVN
r(;wVN#
}VB5VN }VB5VNG|(rE}F?%; (UOM) t
TDj<}VVN# }VB5VNIT_PB
PdP;V`M:
v =S= - ITFcyP,HD\M#
v k=S= - ;\Fc?V,HD\M# }
g,IT?Bq!;N(~oD\K},+
;\?>HFc;N\M,by+;azI
>H\F,xIT4Xm;CFc\M# r
K,KB5;f1dxP=S#
v G=S= - ^(FcNN,HD\M# }
g,HJGG=S=B5,rKz;\Fc
HJD\M# mb,|,4T;,E#D5
DVNGG=S=VN#
UOM VN +TdkD>XF?%; (UOM) 6q UOM
VN(f}VN}b)#
f}VN +,1T"F(}g=="_)M+F(}g
==W)56qf}VN#
uRVN +9Cy>uR6quRVN# ;axPuR
;c#
101dN 1dN,HG;vXbD,H,CZ7(%;
B5G<JCDUZ/1dN# b\I\G6q
}]1D1dN# Z1dN,H4Cwj!7
6r}Kw1,Xkn4 triCapturePeriodTX V
NT8>CZm>6qZD,H# g{KVN
fZ,G4C,HD`&5qTs&C|,;
v{* triCurrentBL DVN,KVNCZjGG
)43101dND,HG<# b)G<fs
CZ}KH?(fDa{/#
Z 2 B }]a9 5
m 1. B5m (x)
B5m*X hv
aFZ aFZV`I ETL }LC4(eB5G<D6
qZ# bGH?(fPDw*1dN,H#
IZ;,B5mP|,D}]I\yZ;,D
6q5J,"RTZcNa9PD?v6p<
P;v`&DG<,rKIT+?v6p<j
G*10aFZ# }g,g{ZaFZV`P
4(K“j/>H/B”cNa9,G4IT7(
D10j]"10>HM10B]# ;VXb
D ETL w5`Ma)KCZ9K}]#V,=
D$wwL#
;cfrG,&CZ,;1dN#H/6p(j
]">HrB])6q%;B5mPDyP}
]# g{*X(B5m6q}]s1dN#H/
6p"zK|D,G4Xk+CB5mPDy
P}]<^D*}7D#H/6p,r_XO/
}%CB5mPDyP}]#
B5m5qTs *+5qTsj6*\B5m'VD5qT
s,kZ4(C5qTs1Z5qTstTP
!P“b?\m”%!4%#
a>:k;*>}r|Dj< TRIRIGA m~f=DNNB55qTs"B5mr ETL
E>#xG,*|DVPB55qTs"B5mr ETL E>,kxP4F"X|{1
>,;sy]zDhs(F1>#
>}B5mT0`X*D,
B5mM,HmG9C}]VbhFDGM#==(4(D# |Gk TRIRIGA &CL
rf"Z,;}]bf"bP#
B<T>K TRIRIGA Workplace Performance Management P3v$HdCDB5mD
>}:
6 © Copyright IBM Corp. 2011, 2015
*+,�-.
�����
*+/�
01"
23/�
*+45
67�45
*+89
&'(89
:;89
<�:;89
*+=89
&'(=89
&'(>?@89
���
&'(,�-.
:;BCDF
<�:;BCDF
*+=BCDF
&'(=BCD
&'(>?@BCDF
K<T>K|, 5 nB5DUdB5,|(Ud]?"\K}"#`]?"Udf}M
VdDf}# KUdB59}C 7 v,H,|(Ud"(~o";C"Xm;C"U
d`"(~o`M(~o#P(# B5mPD,H+B54S=`&D,Hm# ;)
,HGVcD(}g;CMXm;C),x;),H;GVcD(}gUdM(~
o)#
=fcNa9mCZ7(y!5qTsDSz# =fcNa9m9H?i/}f\;/
@Vc#i"5qTsMV`#
BmT>KyZXm;CD=fcNa9D>}:
m 2. Xm;C=fcNa9>}
SPEC_ID 6p`E
Z 1 6
SPEC_IDZ 2 6
SPEC_IDZ 3 6
SPEC_IDZ 4 6
SPEC_ID
+r 1 +r ;JC ;JC ;JC
1@ 2 +r 1@ ;JC ;JC
7^"P+M
G^
2 +r 7^"P+M
G^
;JC ;JC
G+Xx 2 +r G+Xx ;JC ;JC
@z 3 +r 1@ @z ;JC
SCs 3 +r 1@ SCs ;JC
Z*o 4 +r 1@ @z Z*o
Z 2 B }]a9 7
m 2. Xm;C=fcNa9>} (x)
SPEC_ID 6p`E
Z 1 6
SPEC_IDZ 2 6
SPEC_IDZ 3 6
SPEC_IDZ 4 6
SPEC_ID
BKx9] 4 +r 1@ @z BKx9]
9COfD>},g{z*7(w*1@DSzDyPXm;C,kWHZXm;C
=f>}mDZ;PPiR1@ SPEC_ID# ;s,IT9C1@D6p`E(4 2)
7(}KwP# (}9C SPEC_ID M6p`E,zIT7(w*1@DSz"bor
dBDNN6pDyPXm;C#
H?a9
TRIRIGA Workplace Performance Management &\w*CZ6qH?B5MtCH?
(f#
s?V TRIRIGA H?G`,H?,4,,;vH?H\a)_6**S<(}g,{
vi/Mo5iOD“%;f}\K*I>”),,1(}rBj!wv,Hr}Kw
a)X(ZG+DS<(}g,1@V+>y\mh)D“1@V+>%;f}\K*
I>”)#
H?CZb?\;7(IYwa{DwL('# (#,b?5*HJ"YVHrV}#
H?_P?j"P5"Ywu~"IFJTMYwNq&\#
TRIRIGA Workplace Performance Management |,BP`MDH?,b)H?Z“X|
H?”E'x>?VPG“GV(”`p:
M'H?
b?M'zbH
FqH?
b?Fq('
o5iOH?
b?K*{CJMJzz|\ZKP4v
wLH?
b?wL'JMP'T
(fMVvH?
VvX(T\8j
mb,TRIRIGA Real Estate Environmental Sustainability 9a)KBP`MDH?:
73 b?73F.D('
(~oF?m
b?(~oDXw(IF?mM+Pw(f)
TB_6wL<hvK(e"6qT0rC'JVH?D==:
8 © Copyright IBM Corp. 2011, 2015
��H���(6K/��OQ)
VX"# TRIRIGA
�� ��
TRIRIGA YZ[\����
$%
TRIRIGA }]bGSPU/*0k=B5mPDKw}]Dw*}]44# z2IT
!qSd{44i!*0k=B5mPD}]#
?vB5m<|,?VH?`pDnM6p[/}](}g(~o6p)# vZ'J-
r,B5mG|,`v TRIRIGA mPD}]*XDGf6/(=f/)m#
,Hm|,?vH?D,H# ,Hf"Z%@DmPTa_'J# B5mT?v,H
<|,;v|(f6j6)# ,HmITG=fcNa9m,2ITG TRIRIGA 5q
Tsm#
H?&m}f(Vv/(f$_)9CB5mPf"D}]T0H?hC}]M,H}
]4zIH?#
H?}]T0(*"YwM/(+TH?hCmP(eDwVN=(|((f"i/
M<N)ZyZG+DE'x>PJVxC'#C'ITrBj!=X(Ts,2I
Tj!76Tx;=VvrdJVDH?}]#
H?(f@5ZH?B5m# b)B5mG9C}](#w5VD,+9Cm>bG;
vH?TsD(;Ts`Mj6# H?TsG9C ETL *"73ndD,K*"73
;,ZyPd{(}*}]c|BDTs`M# ETL }LDwHGZ TRIRIGA 53
P9Cw5wHLrXFD#
ETL /ITRIRIGA 9C Tivoli® Directory Integrator ETL *"73dC`-wr Pentaho ETL
*"73 Spoon 4zId; XML D~# b)d;Z(} API KP1+}]S4m
F/=?jm#
Z 2 B }]a9 9
ETL /Ie5a9TRIRIGA 9C=v ETL 7344(CZndB5mD ETL E># b=v ETL *
"73G Tivoli Directory Integrator dC`-wM Pentaho }]/I$_ Spoon# b
) ETL *"73'V4(CZS TRIRIGA 5qTsmPA!}]"R+a{3d"
d;IB5mB5M,HPD SQL i/#
B<T>K4}]"ETL *"73M TRIRIGA Workplace Performance Management }
]#Mc.dD}]w:
]^
TRIRIGA IWMS
_<`
ab
cd
�� !"#
���
���
7;ef g Spoon
� ETL� �� WPM���
&'()�"#
$%�
ETL w5nG}CCZndB5mD ETL E>D5qTs#
TRIRIGA Workplace Performance Management 9Cj< TRIRIGA Application Plat-
form $_#
B<T>K&CLr=($_:
10 © Copyright IBM Corp. 2011, 2015
---
�� F& ����ij�� ������
- ����
- "#&k
- ETL- ETL- ETL
lmqrb,cb,s�[\
- TRIRIGA tu
ETL ��
WPM ���������
�� !"#TRIRIGAIWMS
$%�
ETL ��
&'()�"#
������
������
WPM ��
WPM ��
ETL /I}L*+}]S4mF/=?jm,k(} API KPzZ Tivoli Directory Integrator dC
`-wr Pentaho Spoon P*"D ETL d;D~#
?vB5m<XkP;vd;# B5mv(} ETL d;xPnd,x;(} TRIRIGA
&CLrnd#
TRIRIGA Application Platform |,;v4wHKPT0kB5mD$wwL# K$w
wLwC=((F$wwLNq,CNqS Content Manager PlwnBDd; XML,
"9C Tivoli Directory Integrator r Kettle API 4KPd;#
Z 2 B }]a9 11
"#vwxyzXML wx
ETL lmqr|}~� XML
>� XML�l XML
����Z���~��TRIRIGA Application Platform
BO/��
����
Contentmanager
����Z���~��TRIRIGA Application Platform
BO/��
Contentmanager
2P}vw*DwL:
v hC,KwLf04(d;5qTs/m%/<=nM$wwL>m#
v 9C ETL *"734(/,$d; XML#
v KP1,KwLG;vwHD$wwL,|4P(F$wwLNq4(}d;(Z
KPT|BB5m#
B<kT Pentaho Spoon ETL d;TOvwLxPKEv:
12 © Copyright IBM Corp. 2011, 2015
��� 2YZ[\])1�
� TRIRIGA Application Platform �--�&�� BO������"#�+��
��
� Spoon �--�&~� XML>�¡wxyz¢�wx
� TRIRIGA Application Platform �-��£¤~���� XML wx
��� 3¦,§�1�
� TRIRIGA Application Platform �-��£¤~���� XML wx
��
� Spoon �--ef~� XML>�¡wxyz¢�wx
� TRIRIGA Application Platform �-��£¤~���� XML wx
���� - -�¨©��
��� 1YZ[\])1�
� TRIRIGA Application Platform �-�&~� BO/���&Z�sZ�«¬��Ob[-
��- ®}¯C
yz
� TRIRIGA Application Platform �-----
Ob[°-¨©~�±m�«¬�²³~�° XML ��¡´µwx° JNDI ];¹YZ[\§� sZ Kettle API »¼½~�
��� - ¾µ+�
B<kT Tivoli Directory Integrator dC`-w ETL d;TOvwLxPKEv:
Z 2 B }]a9 13
��� 2YZ[\])1�
� TRIRIGA Application Platform �--�&�� BO������"#�+��
��
�“ ���!”�--�&~� XML>�¡wxyz¢�wx
� TRIRIGA Application Platform �-��£¤~���� XML wx
��� 3¦,§�1�
� TRIRIGA Application Platform �-��£¤~���� XML wx
��
�“ ���!”�--ef~� XML>�¡wxyz¢�wx
� TRIRIGA Application Platform �-��£¤~���� XML wx
���� - -�¨©��
��� 1YZ[\])1�
� TRIRIGA Application Platform �---
�&~� BO/���&Z�sZ�«¬��Ob[�� JDBC ¿À];
��- ®}¯C
yz
� TRIRIGA Application Platform �----
Ob[°-¨©~�±m�«¬�²³~�Á JDBC ¿À];° XML mÃÄ TDI §� »¼½~�
���- ¾µ+�
ETL E>S5qTs(|(“Fq**”5qTs)Pi!}],Fq**G<(}gS
mqrM'hFDFq53SZ<k=b)5qTsP#
xP ETL /I0DX8hCZ TRIRIGA Application Platform P,d;I5qTsMm%\m# *4(d;,X
k(e4mM?jB5m,"RXkKb3d#
14 © Copyright IBM Corp. 2011, 2015
TZ(}d;0kD?vB5m,<P;u`&DG<# “d;”5qTsOD;v~x
FVN+d; XML D~i!= Content Manager P# m%a)K;VOX/BX XML
D~D=(,byMITaI,$d; XML# TRIRIGA Q$H+;v ETL w5n
dC*K5qTsrm%D5V#
Z TRIRIGA Application Platform P,$wwL4wHKP,"RT?vh*0kr|
BDB5mwC(F$wwLNq# w5wHLra)K;VzF,CZT/wC ETL
w5nD(F$wwLNq#
TRIRIGA a)K'V;6D TRIRIGA Workplace Performance Management M TRIRIGA
Real Estate Environmental Sustainability z7yhDyP5qTs"m%M$wwL#
(eM,$ ETL d;IT9C ETL *"734(d;TF/}]# Zd;Zd,zITxPFc"9C4
T TRIRIGA Application Platform M53Dd?#
+ ETL k Pentaho Spoon dO9CzIT+ Pentaho Spoon Cw ETL *"73#
XZ9C Pentaho Spoon DEv:
zXkH4(4mM?jm,"("`&D3d# SE,Xk7(h*+]=d;Dd
?,"+b)d?mS=d;5qTsrm%# ;s,zIT9C Pentaho Spoon M
TB=h(e",$d;#
a>:I\;X4PBfD+?=h# h*4PD=h!vZzG*(ed;9G*,
$d;#
v (}r* Spoon KP spoon.bat r kettle.exe D~# !q^f"b,r*z;
h*9Cf"b#
v 9Cd;m%r*BX=D~53DVP XML D~,r_9CD~ > B( > d;
4(Bd;#
v (e>X}]bD JNDI hC# 9C TRIRIGA w*,S{F# 9Ci4 > }]
b,S > B(Z$_PhC}]b,S# Z$wwLKPd;1,C,S+;&C
Lr~qwD,SE"2G#
v 9ChFK%4gBy>hCd;D<V:
– 9ChF > dk > mdkSmPi!P#
– 9ChF > d; > 53dw7#FcP9CDyPPVN<_P5#
– 9ChF > d; > FcwxPFc#
– (} NEXTVAL }]bf"}L,9ChF > iR > wC}]b}La)?j
PDrP#
– y]h*9CE>`F > Q^DD JavaScript 5Md{=hT}]xPd;#
– 9ChF > dv > mdv7(*+Pdv=Dm
– 4“kT?j=hzID3d”3dVN#
v 9Ci4 > PLN4S=h,"p=hCd;V?#
v 9C4PMd{ICD5CLrxP+fbT# bTIT7#K}L<7,"7#}
75X"d;Z{DP#
Z 2 B }]a9 15
v 9CD~ > #f4#fd;# k;*#f=f"b#xG,+D~`MhC*
XML,"9C .ktr D~)9{xP#f# g{;hCD~`M,G41!5G
Kettle d;,by+9C .ktr D~)9{#f XML D~#
20 Pentaho Spoon:
zIT+ Pentaho Spoon w* ETL *"73xP20#k9C V3.1,bGk TRIRIGA
/IDf>#
}L
1. R= Pentaho Spoon V3.1 (http://sourceforge.net/projects/pentaho/files/Data%20Integration/
3.1.0-stable/pdi-open-3.1.0-826.zip)#
2. Sbv .zip D~b9uD~1,k#V?<a9;d#
3. i4nBf>D Pentaho Spoon T0f=Dj8D5 (http://kettle.pentaho.org/)#
hC>X JNDI:
zXk(}|BtTD~4(e}]bD>X JNDI hC#
}L
1. S pdi-open-3.1.0-826/simple-jndi ?<P,`- jdbc.properties D~"mS
BPtT:
v LocalJNDI/type=javax.sql.DataSource
v LocalJNDI/driver=oracle.jdbc.driver.OracleDriver
v LocalJNDI/url=jdbc:oracle:thin:@localhost:1521:orcl
v LocalJNDI/user=tridata2
v LocalJNDI/password=tridata2
2. J1X|BE",|(}/Lr(g{z9CDG DB2 r SQL Server)#
3. #f"XUKD~#
4(d;M}]b,S:
zIT4(d;M}]b,S,T)Z Pentaho Spoon k TRIRIGA .d9C
}L
1. (}r* Spoon $_KP pdi-open-3.1.0-826 ?<PD spoon.bat D~# !q
Z;Pf"bDivBKP#
2. *4(BDd;,kR|%wd;"!qB(#
3. Zi4==B,4(}]b,S# R|%wd;ZD}]b,S"!qB(#
4. (F$wwLNq+9C&CLr~qw JNDI hCf; TRIRIGA ,S# k4g
By>dC}]b,S:
v ,S{F:TRIRIGA
v ,S`M:Oracle
v CJ:JNDI
v hC:JNDI {F:LocalJNDI
5. !qbTT7#,ShC}7#
16 © Copyright IBM Corp. 2011, 2015
6. #f}]b,Sj8E"#
7. 7#+d;mf*4;Zf"bPD XML D~# Kettle d;D)9{* .ktr#
Kettle d;D1!5+D~mf* .ktr#
S Pentaho Spoon KPd;:
zITKPQjIr}ZjIDd;#
}L
1. #fd;"!qKP#
2. y]h*hCd?#
3. !q$@TT>Z?v=hKP1TdkwxPD|D#
!q Spoon =h:
zIT9ChF==4!qwV Spoon =h`M"+|GmS=d;P#
}L
1. *+=hmS=d;P,k!q=h`M,"+K=hSs`<=O/=!Ce
P#
2. *4S=v=h,kZs`<=P!qi4"+wPLN#
3. Z4M?j=hPdk`&D=h,;s!q7(#
4. mb,z2IT!q4! Ctrl |"%w=v=h,R|%wdP;v=h,;s!qB(PLN#
5. *Td;mS"M,kR|%w!Ce"!qB("M#
Spoon >}d;:
zITBXVP ETL w5nP|,DNNVP .ktr E>D1>,T4U=hhvxPYw# BfT>K;v Spoon d;>}#
s?V;6D ETL ICk>}`,DwL,+8ZPy;,;}g,SPi!}]D
}]bmT0}]Dd;==Py;,#
>}d;|,BPwn:
v S T_TRIORGANIZATIONALLOCATION i/M T_TRISPACE UdPi!dkP
MVN,dP org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID#
v 9C IBS_SPEC.UPDATED_DATE,"9CSd;5qTs+]DUZ6'T!qD
PxP^F#
v 9C53dw7#yPPP<|,
s p a c e . T R I H E A D C O U N T N U" s p a c e . T R I H E A D C O U N T O T H E R N U M
org.TRIALLOCPERCENTNU D5(g{4hC* 0)#
v 9CFcw+ TRIFACTTOTALWORKERSASS hC* (space.TRIHEADCOUNTNU
+ space.TRIHEADCOUNTOTHERNU) * org.TRIALLOCPERCENTNU#
v (}“q!d?”=hq!Sd; BO +kD TRICREATEDBYTX M TRIRUNDA#
v 9C“mS#?”4hCrP{FMv?,T9dZdkwPITCZT=hEr#
v 9C}]b}L NEXTVAL 4hC SPEC_ID,+K=hhC*9C 5 v_LTa
_T\#
Z 2 B }]a9 17
v 9C JavaScript E>`F=h7(n?Gq41jI"Fcn?DVx1d#+K=
hhC*9C 3 v_LTa_T\#
v +VN3d= T_TRISPACEALLOCFACTOID#
9(d;1*<GDw*Bn,|(BPwn:
v ?mS;v=h<xP;NbT,T7#d;4PzyZ{DYw#
v h*T@y==*"d;# }g,g{*xPyZX(VNDFc,G4yPPPD
b)VN<Xk_P5,;C*U# qr,d;+@## 9C53dwIT7#F
cP9CDyPVN<_P5#
v &mUZHO'Q,bGr*,TRIRIGA 'VD}]b+ DATE M TIME #fZ
UZVNP# UZbv=85wKgNZ SQL P&mUZ6'#
v 7#9C JNDI hC,"7#d;}]b#V@",Zbv=8h*KP`v}]b
=((DB2"Oracle M Microsoft SQL Server)1HdgK#
v d;5qTsDyPtT<w*d?+]=d;# P=v}b# `M*“1d”r“5
3d?”DtT+;vT# zITZ SQL P9Cb)d?,2IT9Co(gBD
“q!d?”+b)d?}k=dkwP:${VariableName},dP VariableName Gt
T{F#
v ZmdkP9Cd?.0,7#xP9WbT"hCd;# bT JavaScript"mdk
$@Mm3dG;n_Pt=TDNq# zIT9C`- > hC73d?r_Z“4
P”3fD“d?”?VPhCd;PDd?#(}9Cd?,+9 Spoon ZD|`b
T&\IC#
v Z9C JNDI"KPQwrKP Spoon d;.0,bT,S# XkT JNDI ,Sx
PbT,T\b Spoon _PNN1ZDT\Jb#
v <GmSw}# IZ ETL T;,Z#f&CLrD==S T mPi!}],rK
mSw}I\Ga_T\DX|#
Ovwnj85wKZdCyC Spoon =h1Dd;# b)nXchv TRIRIGA f
=Dd;y9CDw*=h# Spoon a)KICZ&m}]Dd{=h`M;ky]z
Dd;hsZh*19Cb)=h#
dC Spoon dk=h:
zIT9Cdk=h+}]}kd;P#
XZKNq
mdkGs`}}]D44# (}9C8(D}]b,S,zIT+ SQL hC*Sm
Pi!}]#
}L
1. +wmdk=hTr*K=hDE"#
2. hCk TRIRIGA r4}]bD,S#
3. +zD SQL dk= SQL mP#
4. !q7(T#fmdk#
18 © Copyright IBM Corp. 2011, 2015
5. !q$@T$@mdk|,D}]# g{z*Z SQL P9Cd?,G4XkhC
b)d?,$@Ea}#KP# zXkZbT1Td?5xP2`k,r_!q`
- > hC73d?ThCd?5# SQL PDd?* $(triActiveStartDA_MinDATE}
M ${triActiveEndDA_MaxDATE}#
a{
ya)D SQL +S T_TRIORGANIZATIONALLOCATION i/M T_TRISPACE Ud
Pi!dkP,dP org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID# K SQL
9Cd;5qTsPDUZ4^Fy|(D}]#
dC Spoon d;=h:
zIT9Cd;=h4|Ddk}]r_rdkwPmSE"#
XZKNq
Z Spoon >}d;P,9CKFcw"mS#?M53dw=h# zIT(} Spoon
4mSrP,+b"G@"Z}]b,"RZ SQL Server O^'# zIT**9Ca
)D}]b}L#
}L
1. 9C53dw=h47#b)VN_P5r_Tb)VNhC;,D5# ITy]
4VND5T?jVNhC5#g{48(?jVN,G4+hC4VN,x;G
hC?jVN# zXk7#FcPDyPVN<_P5# g{FcZdv= Null
5,G4d;+'\#
2. +w53dwTr*CZdkXhE"DT0r# Z Spoon >}d;P,9CKC
T0rZVN;_P51+dhC* 0#
3. 9CmS#?=hrdkwmS#?T0hC NEXTVAL }]b}LyhD5#
4. yP9CK NEXTVAL }]b}LDd;P<Xk|,K=h# k+ SEQ_NAME
hC* SEQ_FACTSOID,"+ INCR hC* 1#
5. 9CFcw=hITA!VN"KP;iP^DFc# K=ha)K;iITTV
N59CD/}# Fcw=hDT\EZ9C JavaScript E>`F=h#
6. ZCFcO*P^# !qFcPITT>IC/}DPm#
dC Spoon iR=h:
zIT9CiR=hS}]bPi!nbD}]"Ek}]wP#
XZKNq
“wC}]b”}LJmd;wC}]b}L# E"(}K}Lw/"X=d;P# z
IT*B5mu?4(rP#
}L
1. hC}]b}LwC,T9C NEXTVAL"]M SEQ_NAME M INCR T0(}9
C CURR_VALUE xPdv#
2. 7(*KPDKiR=hD5}}#bTd;1,KP_P 5 v5}DK=hZ\
sLHOPzZDFT\# }g,TZ 30,000 uG<,T\1d+S 90 kuL
= 30 k#
Z 2 B }]a9 19
3. (}R|%w=h"!q|D*t/D1>}4|DKP=hD_L}#
4. w{}ZKP“}]b}L”=hD_L}#
dC Spoon w5=h:
49z4Z4(9 Kettle d?MVNxkdkwyhDw5,2h*7#zIT+dv
VNhC*d?#
XZKNq
Z Spoon >}d;P,triCreatedByTX M triRunDA d?;}k=dkwP# z99
d?}k ONTIME M DURATION d?,TcITZ JavaScript E>`F=hZdh
Cb)d?#
}L
*K@8d;Zd"zJO,mS1dAGTG<KPd;D1dAXX*# >}(}
9C triRunDA d?4jIKYw,b*Xva)K;u>6,49K}L;Pw7D
Xv=h2GgK# Zd;P+VNhC*51,VNM5D`MXk`,,qrd?
+'\#
dC Spoon E>`F=h:
zIT9CE>`F=h45V JavaScript &\#
XZKNq
zIT+ Spoon E>`FCZdkwP9CFcw^(jIDX(}]Yw# zIT
y]d{5M if/then/else SdFcVx1dr+5hC=wP# IT+#?5r4
Td?D5hC=d;wP#
}L
1. g{zh*_-4hC5,k9C JavaScript E>`F#
2. Z Spoon >}d;P,Vx1dG(}+=vUZ`uFcvD# ;s,Vx1d
7(KF.GqgZjI#
3. hz JavaScript E>`F&\,g{zh*mdkPPDE",G4XkxP|zT
iRyhDVN# }GzZ“mdk”=hP*VN8(Kp{,qr^(1SCJ
VN#
>}
JavaScript E>`F>}j85wKgNq!MhCd?#
var actualEnd;var actualStart;var plannedEnd;var plannedStart;var duration;var valueDuration;var valueOnTime;
// loop through the input stream row and get the fields// we want to play withfor (var i=0;i<row.size();i++) {
var value=row.getValue(i);
20 © Copyright IBM Corp. 2011, 2015
// get the value of the field as a numberif (value.getName().equals("TRIACTUALENDDA")) {
actualEnd = value.getNumber();}if (value.getName().equals("TRIACTUALSTARTDA")) {
actualStart = value.getNumber();}if (value.getName().equals("TRIPLANNEDENDDA")) {
plannedEnd = value.getNumber();}if (value.getName().equals("TRIPLANNEDSTARTDA")) {
plannedStart = value.getNumber();}
// these are the ’variables’ in the stream that we want// to update with the duration and ontime setting// so we want the actual Value class not the value// of the variableif (value.getName().equals("DURATION")) {
valueDuration = value;}if (value.getName().equals("ONTIME")) {
valueOnTime = value;}
}
// calculate the duration in daysduration = Math.round((actualEnd - actualStart) / (60*60*24*1000));// calculate the duration in hours// duration = (actualEnd - actualStart) / (60*60*1000);
// set the duration into the ’variable’ in the rowvalueDuration.setValue(duration);
// determine ontime and set the value into the// ’variable’ in the row streamif ((actualEnd == null) || (plannedEnd == null))
valueOnTime.setValue("");else if (actualEnd > plannedEnd)
valueOnTime.setValue("no");else
valueOnTime.setValue("yes");
!qbTE>T7# JavaScript (}`k# }GhCKd?,qrmdkPDbTE
>M$@=h^(&mb)d?# zIT9C`- > hC73d?Zd;PhCd?#
b+Z Pentaho Spoon PqC|`bT&\#
}g,IT9C`- > hC73d?"+ triActiveStartDA_MinDATE hC* to_date
(’20061201’, ’YYYYmmdd’)#
g{Z(ei/19CKPp{,G4Z9C getName iRP1Xk9C,;p{#
mdk=hPDTB>}T>K select !n:
SELECT mainProject.triProjectCalcEndDA ActualEndDate,mainProject.triProjectActualStartDA ActualStartDate
g{*iR ActualEndDate D5,k9Cp{x;G}]bPDP{,gBy>:
if (value.getName().equals("ActualEndDate")) {actualEnd = value.getNumber();
}
Z 2 B }]a9 21
dC Spoon dv=h:
zIT9Cdv=h+}]4X=}]bP#
XZKNq
mdvMmdv3d+E"f"=}]bP# KE"fsZB5mP9C# 1z5P
#fd;h*DyPE"1,ITZd;)2mSdv=h,"+b)=h,S=n
s;v=h#
}L
1. +w"mS,SE"M*CwdvmDB5m#
2. hCjI",S=hs,R|%wmdv=h#
3. !qkTK?j=hzI3d#
4. +4VN3d=?j}]bPD?jVN,"!q7(# 4VN|,QmS=dk
wD=SVN# Zmdk=hP9Cd?.0,k7#hCm3d#
5. *jId;,k+“3d”=hO/=ns=v=h.d#
6. gPX*,IT^DVNT0r“3d”=hmS|`VN#
bTd;:
zITZmS?v Spoon =hsbTd;,2ITnsZyP Spoon =h<jIsx
PKbT# Z?v=hs4PbTIT9wT|S]W# XkH#fd;,;sE\
TdxPbT#
XZKNq
d?xNj85wKd;P9CDd?# (}9C Spoon 4bTd;1,ITTb)
d?hC5# S TRIRIGA PKPd;1,b)d?Gd;5qTsDiI?V# k
HhCy9CD5,"+d#f=G\TsP,;sYwC(F$wwLNq#
}L
1. + triRunDA d?hC*KP$wwLDUZ01d# triRunDA ;XGd;5qT
sDtT# |GKPUZ01dD}Vm># triRunDA I(F$wwLNq/,
zI,rK;_PUZD 6 Vq=#hCB5PD4(UZh* triRunDA#
2. triCreatedByTX Gd;5qTsDtT#
3. triActiveStartDA_MinDATE M triActiveEndDA_MaxDATE G triActiveStartDA M
triActiveEndDA DQ|0m>#Z Spoon bTZd,g{zG9C Oracle r DB2
xPbT,G4Xk9C to_date (’yhUZ’, ’q=’) xP|0#
4. %wt/TKPCd;#g{3v=hvm,G4C=h+T>*l+,"RCm
s+#f=U>D~P# zIT(}U>3f4CJCU>D~#
UZbv=8:
`vUZd?ZI Pentaho Spoon 9C1*sxPFcMHO# UZbv=8a)K
b)FcMHO&\#
Z}VivBh*UZbv=8:
1. T=vUZxPHO# KHOCZ7(n?Gq<1#
22 © Copyright IBM Corp. 2011, 2015
2. Fc=vUZ.dTl*%;DVx1d# Z3)ivB,KFcCZFcT!1
*%;DVx1d#
3. +3vUZ(}g^DUZr&mUZ)kUZ6'(}gB]DZ;l=B]D
ns;l)xPHO#
0=Viv(}9C JavaScript E>`F=h4bv#
Z}Viv(}ZmdkP9CUZ6'4bv#
UZV*=`# 4,T“UZ”N=f"Z}]bPDUZ,T0T“}V”N=f"Z}
]bPDUZ#
a>:yP TRIRIGA Ts<+UZVNT0UZk1dVNT}VN=f"Z}]b
P# !q}VN=DVNITk5qTsmxP;%# !qUZN=DVNITk(
e*UZD53=(mVNxP;%#
!qUZN=DVN:
zIT(}!qUZN=DVN4k(e*UZD53=(mVNxP;%#
TB>}zk9C IBS_SPEC.UPDATED_DATE w*UZVN,T7(Gqh*3P#
triActiveStartDA M triActiveEndDA 8(UZ6'# b)UZ4Td;5qTsP
D triActiveStartDA M triActiveEndDA VN#
IBS_SPEC m;G TRIRIGA Ts#bG;v53=(m,CZT TRIRIGA PDTs
xPzY#KmPD;vVNZ TRIRIGA PDTs?N|B1<a"z|D# bMG
UPDATED_DATE VN,Z}]bPbG;vUZVN,x;G}VVN#
ZTB>}zkP,9CK $ { t r i A c t i v e S t a r t D A _ M i n D A T E } M
${triActiveEndDA_MaxDATE}# b)|0DUZVNCfS*<UZOg 12:00 =ax
UZBg 11:59 DyPG<#
SELECT org.SPEC_ID ORG_SPEC_ID, org.TRIORGANIZATIONLOOKUOBJID,space.CLASSIFIEDBYSPACESYSKEY, org.TRIALLOCPERCENTNU, org.TRIALLOCAREANU,space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU, spec.UPDATED_DATEFROM T_TRIORGANIZATIONALLOCATION org, T_TRISPACE space, IBS_SPEC specWHERE org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_IDand space.SPEC_ID = spec.SPEC_IDand spec.UPDATED_DATE >= ${triActiveStartDA_MinDATE}and spec.UPDATED_DATE <= ${triActiveEndDA_MaxDATE} order by UPDATED_DATE
Z Oracle r DB2 P,${triActiveStartDA_MinDATE} DT>`FZ to_date (’20070701
00:00:00’, ’YYYYmmdd hh24:mi:ss’),x ${triActiveEndDA_MaxDATE} DT>`FZ
to_date (’20070731 23:59:59’, ’YYYYmmdd hh24:mi:ss’)#
Z SQL Server P,IZ}]bXw,b)UZDT>TP;,,+hC*6q=vU
Z.dyPDP#
!q}VN=DVN:
zIT(}!q}VN=DVNk5qTsmxP;%#
K=(+7(VN1Sk triActiveStartDA M triActiveEndDA xPHO(r*|GZ}
]bP<G}V),x;G9C IBS_SPEC.UPDATED_DATE w* TRIRIGA UZDUZ7
(VN#
Z 2 B }]a9 23
ZTB>}zkP,triCaptureDA G T_TRISPACE PDVN#
SELECT org.SPEC_ID ORG_SPEC_ID, org.TRIORGANIZATIONLOOKUOBJID,space.CLASSIFIEDBYSPACESYSKEY, org.TRIALLOCPERCENTNU, org.TRIALLOCAREANU,space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU, space.TRICAPTUREDAFROM T_TRIORGANIZATIONALLOCATION org, T_TRISPACE space, IBS_SPEC specWHERE org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_IDand space.TRICAPTUREDA >= ${triActiveStartDA_Min}and space.TRICAPTUREDA <= ${triActiveEndDA_Max} order by space.TRICAPTUREDA
kUZVN`F,k9C Min M Max d?47#*<1d* 00:00:00 Rax1d*
23:59:59# }g,9Cb)d?9Qw!! 12 B 31 UBg 13:54 DG<#
UZd?:
TZ“B5d;”5qTsD?v“UZ”r“UZk1d”tT,53+4( 6 v Kettle d
?#
BmTb) Kettle d?xPEv:
m 3. Kettle d?
Kettle d? hv
${triActiveStartDA} ^s: = T 2014 j 1 B 1 UT4DAk}
5,1d#V;d# Kd?JCZT}Vm>
DVN#
${triActiveStartDA_Min} Min = T 2014 j 1 B 1 UT4DAk}5,
R1d5hC*8(UZD 00:00:00#Kd?J
CZT}Vm>DVN#
${triActiveStartDA_Max} Max = T 2014 j 1 B 1 UT4DAk}5,
R1d5hC*8(UZD 23:59:59#Kd?J
CZT}Vm>DVN#
${triActiveStartDA_DATE} DATE = UZq=D|05,1d#V;d#
Kd?JCZ}]bPm>*UZDVN#
TZ Oracle r DB2,5Q|0"TgB==T
>:to_date (’20070615 22:45:10’, ’YYYYmmdd
h24:mi:ss’)
TZ S Q L S e r v e r,5TgB==T>:
’20070615 22:45:10’
${triActiveStartDA_MinDATE} MinDATE = UZq=D|05,R1d5hC
* 00:00:00# Kd?JCZ}]bPm>*U
ZDVN#
${triActiveStartDA_MaxDATE} MaxDATE = UZq=D|05,R1d5hC
* 23:59:59# Kd?JCZ}]bPm>*U
ZDVN#
g{8(K ${triActiveStartDA_Min} M ${triActiveStartDA_Max} d?Ti4=vUZ
.dD1dN,G4h*6qC1dNZyPDP# h*Sg9*<6q,"Zg90
;k#9# g{v9CUZ5,G4I\^(qC+?yhDP,_e!vZd?PD
1d# zXk8(VS}Mk},bGr*=v TRIRIGA }]b<+UZf"ZUZ
1dr}VVNP#
${triActiveStartDA_MinDATE} M ${triActiveStartDA_MaxDATE} d?ozxPUZHO#
24 © Copyright IBM Corp. 2011, 2015
}g,TZ5* 20070615 22:45:10 D triActiveStartDA:
triActiveStartDA_MinDATE =(Oracle) to_date(’20070615 00:00:00’,’YYYYmmdd h24:mi:ss’)(SQL Server) ’20070615 00:00:00’triActiveStartDA_MaxDATE =(Oracle) to_date(’20070615 23:59:59’,’YYYYmmdd h24:mi:ss’)(SQL Server) ’20070615 23:59:59’
+ ETL E>S Kettle F/= TRIRIGA P:
ZjI"bTd;.s,Xk+dOX= TRIRIGA ETL w5n#
PG:TD~`M XML M)9{ .ktr #fd;#
B<hv ETL 73k TRIRIGA .dDw#
"#vwxyzXML wx
ETL lmqr|}~� XML
>� XML�l XML
����Z���~��TRIRIGA Application Platform
BO/��
����
Contentmanager
����Z���~��TRIRIGA Application Platform
BO/��
Contentmanager
+]= Kettle Dd?:
yP+]= Kettle Dd?<GV{.`MDd?#}Vd?+I(F$wwLNq*;
*V{.`M# Kettle P'VD TRIRIGA VN`M|(D>"<{5"UZ"UZ0
1d"(;wT0}V#
m 4. BfG ETL w5nPD>}VN:
VN{F VNj) VN`M
triActiveEndDA n/axUZ UZ
triActiveStartDA n/*<UZ UZ
triBONamesTX BO {F D>
Z 2 B }]a9 25
m 4. BfG ETL w5nPD>}VN: (x)
VN{F VNj) VN`M
triControlNumberCN XFE XFE
triCreatedByTX 4(_ D>
triLocator triLocator D>
triModuleNamesTX #i{F D>
triNameTX {F D>
triTransformBI d;D~ ~xF
m 5. BfG+]= Kettle Dd?:
+]= Kettle Dd? hv
triNameTX (D>)
triActiveStartDA (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;)
triActiveStartDA_DATE (UZ)|0DUZ(TZ Oracle r DB2),
1dGtTPDNN1d
triActiveStartDA_MinDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 00:00:00
triActiveStartDA_MaxDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 23:59:59
triActiveStartDA_Min (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;),1d* 00:00:00
triActiveStartDA_Max (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;),1d* 23:59:59
triActiveEndDA (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;)
triActiveEndDA_DATE (UZ)|0DUZ(TZ Oracle r DB2),
1dGtTPDNN1d
triActiveEndDA_MinDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 00:00:00
triActiveEndDA_MaxDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 23:59:59
triActiveEndDA_Min (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;),1d* 00:00:00
triActiveEndDA_Max (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;),1d* 23:59:59
triActiveEndDA (}V)bGT 2014 j 1 B 1 UT4DUZ
(TAk*%;)
triCreatedByTX (D>)
triRunDATE (}V)bG(F$wwLNqhCDKPU
Z
triLocator (D> - (;w)bG|,Td{5qTsD
}CD(;wVN# Kd?|,CG<DVN
DD>5
26 © Copyright IBM Corp. 2011, 2015
m 5. BfG+]= Kettle Dd?: (x)
+]= Kettle Dd? hv
triLocator_IBS_SPEC (D> - (;w)|, triLocator VNPDG
<D spec_id# zIT9CK spec_id Zd{}
]bmPiRPXCG<DE"
triControlNumberCN M triTransformBI ;+]= Kettle#
*c:PXd?DwGBn:
v TZ?vUZMUZ01d`MDVN,fZ 6 vd?# TRIRIGA 9C 6 V;,
Dq=|05"+d+]x Kettle#
v Kettle PDd?+?<GV{.# g{z#{E>PDd?G}V,G4h*4P*
;# }g,zIThC TRICREATEDDA .`D}VVNT0 triRunDATE .`D
d?# Kettle 4P;)~=*;,+g{z#{Td?xPNNFc,G4XkH+
Kd?*;I}V#
v TZUZ,Xk9C}7Dm># }g,;CZ!qP|( spec.UPDATED_DATE
>= ${triCreatedDA}# spec.UPDATED_DATE GUZ,x triCreatedDA G}V# b
ya{a;<7,r_ SQL '\#
v 'V+]= Kettle DtT`M^ZD>"<{5"UZ"UZ01dM}V# +x
}yPd{ TRIRIGA }]`M((;w}b)#
v TZ(;wVN,+4(=vd?,;vd?m>(;wDD>,m;vd?m>
y4SG<D SPEC_ID#zIT9C SPEC_ID Zd{}]bmPiRkCG<`X
DE"#
Z&CLrPwT ETL E>:
*Z&CLrPwT ETL E>,zXkHhCU>G<,;s%" RunETL (F$w
wLNqTi4U>E"#
hCU>G<:
Z TRIRIGA &CLrPKP ETL E>1,TRIRIGA a)KwT&\#
}L
1. Z\m1XF(P,!q\=(U>G<\mDTs# ;s,!qCZ*t ETL U
>G<D!n#
2. !q`p ETL > d; > KPd;TcZ&m ETL w5nD TRIRIGA =(zk
P*twTU>G<# U>{"+dv= server.log P#
3. !q`p ETL > d; > KettleTcZ Kettle d;P*twTU>G<#U>{"
+dv= server.log P#
4. &C|D# VZ,1 ETL E>KP1,k ETL `XDE"+dk=~qwU>
P#
*c:IZU>PI\|,s?E",rK;&CkT ETL w5nD;N4P+
Pentaho Spoon U>G<6phC*“wT”#
Z 2 B }]a9 27
9C ETL w5xPwT:
hCU>G<s,zh*;V=(4%" RunETL (F$wwLNq,Ti4U>PD
NNE"#
XZKNq
g{z9CDG ETL w5n,G4;h%wCm%ODKPxLYw#
}L
k;*|GZm%Pn4 ETL E>yZ{DVN5# kv+KPxLYwCZwTC
># TZzz73,kD*9Cw5wHLr# k"b,“KPxL”+|B}]bP
Dm,rK,k;*Zzz73P9CKYw#
>}
BfT>Ky>U>dv:
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triCalendarPeriodTX_SPEC_ID} = 3103902
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triCalendarPeriodTX} = \Classifications\Calendar Period\2010\Q4 - 2010\October - 2010
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) *** objectfield found = BoFieldImpl[name=triEndDA,id=1044,Section=BoSectionImpl[name=General,id=BoSectionId[categoryId=1,subCategoryId=1],Business Object=BoImpl[name=triETLJobItem,id=10011948,module=ModuleImpl[name=triJobItem,id=22322]]]]
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triEndDA_MinDATE} = to_date(’20101031 00:00:00’,’YYYYmmdd hh24:mi:ss’)
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triEndDA_MaxDATE} = to_date(’20101031 23:59:59’,’YYYYmmdd hh24:mi:ss’)
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triEndDA_DATE} = to_date(’20101031 00:00:00’,’YYYYmmdd h24:mi:ss’)
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triEndDA} = 1288508400000
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triEndDA_Min} = 1288508400000
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettlevariable set - ${triEndDA_Max} = 1288594799000
2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) SpaceFact - Process Remove Nulls (LEGALINTEREST_SPEC_ID)’.0
28 © Copyright IBM Corp. 2011, 2015
ended successfully, processed 3282 lines. ( 76 lines/s)
2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) SpaceFact - Process Remove Nulls ( REALPROPERTYUSE_SPEC_ID)’.0 ended successfully, processed 3282 lines. ( 76 lines/s)
2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) SpaceFact - Process Remove Nulls ( REALPROPERTYTYPE_SPEC_ID)’.0 ended successfully, processed 3282 lines. ( 76 lines/s)
2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) SpaceFact - Process Filter rows’.0 ended successfully,processed 3307 lines. ( 76 lines/s)
2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) SpaceFact - Process Dummy (do nothing)’.0 ended successfully,processed 25 lines. ( 0 lines/s)
2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) SpaceFact - Process Query for Space’.0 ended successfully,processed 0 lines. ( 0 lines/s)
T\w{a>:
4UTBa>IT9C Spoon a_ ETL DT\#
**
1. 9 ETL 4UzyZ{D==$ws,kxPy_T\b?#
2. (}9C Spoon,T|,}T'F*mS=B5mDPD}]bKP ETL#
3. 7#z}Z9C JNDI ,S"Z}]byZDxgPKP Spoon,T{}xgH}
1d# k;*(} VPN KP Spoon#
4. q!j{DKPPm# }g,S triSpacePeopleFact ETL DKP%!#
Vv
1. “JavaScript”M“}]b}L(q!B;vf6j6)”=h&C_P`v1># kR
|%w=h"|D*t/D1>}#
v TZTOKP>}PD triSpacePeopleFact ETL,k+“JavaScript”M“}]b}L
(q!B;vf6j6)”=h|D*wP}v1>:
v #V;d:12.9, 12.7, 12.5, 12.6
v wP}v1>:11.4, 11.6, 12.3, 12.2
2. +1!P/s!S 1000 |D* 10000# Bd;+T/jIKhC# R|%w ETL
"r*d;tT#
3. VvKP# GqfZ?1? GqP3v=hHd{=h*}? I\d{=hP`
v1>,rKLB?|Q#
4. “}]dk”=hGqG?1?w}T}]bGqPoz? g{G,kmSw}"X
BKP# T\GqPya_? I\&C9C“}Kw”=h,x;G9C}]bTa
{/xP}K#
5. VvG|z=}L# <U&C9C“JavaScript”M“}]b}L(q!B;vf6j
6)”=hD`v1>#
6. ?k 300-800 PD ETL KP4P<C,"RO(;ZIS\DT\6'#
TZ triSpacePeopleFact ETL,Zu<*"s,4P=h 1 M 2 4I5V5JTDD
F#
Z 2 B }]a9 29
;x,TZ triSpaceFact ETL,Xk4P=h 1"2 M 4 E\5V5JTDDF#
BfT>K|,=h 1 M 2 D triSpacePeopleFact ETL KP:
Query for Space People: Time = 11.6 sec; Speed (r/s) = 743.6
BfT>K|,=h 1 M 2 D triSpaceFact ETL KP:
Query for Space: Time = 313.9 sec; Speed (r/s) = 24.0
k"b,“i/Ud”=h(bG;v“}]dk”=h)DYH*?k 24 P,\wTb
G?1#
"b,“i/UdK1”;GM“i/Ud”=h;yD?1# }=h 1 M 2 .bD
triSpaceFact ETL ^hxPNN^D4IKP<C,YH*,}?k 700 P#
TZ triSpaceFact ETL PD=h 4,ki4“i/Ud”NqD SQL# k"b,Z SQL
P,fZ SUM# SUM DYwI>\_,fZ=v SUM "RVNy4("w}1H
dgK#
+w}mSA T_TRIORGANIZATIONALLOCATION.TRILOCATIONLOOKUPTXOBJID#
;h*T TRILOCATIONLOOKUPTXOBJID mSw},49 SELECT SUM WHERE
P|, TRISTATUSCL 2GgK# TRISTATUSCL G;v$H* 1000 vV{DVN,
|+9w}YHO},"RZ SQL Server OuAG;IPD#
CREATE INDEX IDX01_TRIORGALLOC ON T_TRIORGANIZATIONALLOCATION(TRILOCATIONLOOKUPTXOBJID) NOPARALLEL;
XBKP ETL#
BfT>K4P=h 1"2 M 4 D triSpaceFact ETL KP#
Query for Space: Time = 3.2 sec; Speed (r/s) = 2378.3
k"b“}]dk”=h?k 2378.3 PDd/,T0KP ETL yDCD1d(7544 P,
D1 3.2 k)#
*c:*" ETL 1*wGDBn:
v \b4SD SQL T0 COUNT"MIN"MAX M SUM .`D[//}# g{h*
9Cb)/},k7(w}GqPzZ4P“}]dk”=h# k;*TOsD varchar
VN4(w};SQL Server ;\&m!Z 900 vVZDw}#
v \b9C OR M NOT,PI\1&\b9CS<(TRIRIGA }]bPD
M_TableName)#
v PI\1,k9C“Fcw”=hzf JavaScript# “JavaScript”=hDI>O_#
v ;9C;v“JavaScript”E>`F=h#
+ ETL k IBM Tivoli Directory Integrator dC`-wdO9CTivoli Directory Integrator dC`-wG Tivoli Directory Integrator P|(D ETL *
"73#dC`-w9z\;4(",$"bTMwT ETL d;(Tivoli Directory Inte-
grator +dF*“dCD~”);K$_yZ Eclipse =(9(,<Za);v+fRI
)9D*"73#
30 © Copyright IBM Corp. 2011, 2015
*<.0
:p9CdC`-w4(er,$d;D53*"K1XkP(CJ TRIRIGA }]b
R_Pb)}]bD9C-i#
Z9C Tivoli Directory Integrator dC`-w4(eM,$ ETL d;.0,XkjI
BPNq:
v 4(4mM?jm
v ("`&D3d
v 7(h*+]=d;PDd?
v +b)d?mS=d;5qTsrm%
20 Tivoli Directory Integrator dC`-w:
d; Tivoli Directory Integrator KP1~qwT/f TRIRIGA ;p20,+G*4(
r^D Tivoli Directory Integrator i0w._,zXkZ+*CZ ETL *"D$w>
O20dC`-w#
}L
1. S Passport Advantage (http://www.ibm.com/software/howtobuy/passportadvantage/
pao_customers.htm) BXJ1D Tivoli Directory Integrator 20|,"xP20#
!n hv
TDI711_TAP340_Install_Wind.zip CZ Windows OD IBM TRIRIGA Applica-
tion Platform V3.4.0 D IBM Tivoli Directory
Integrator V7.1.1 20Lr(`oTf)
TDI711_TAP340_Install_Linux.tar CZ Linux OD IBM TRIRIGA Application
Platform V3.4.0 D IBM Tivoli Directory Inte-
grator V7.1.1 20Lr(`oTf)
TDI711_TAP340_Install_SOLIntl.tar CZ Solaris Intel OD IBM TRIRIGA Appli-
cation Platform V3.4.0 D IBM Tivoli Direc-
tory Integrator V7.1.1 20Lr(`oTf)
TDI711_TAP340_Install_SOLSprc.tar CZ Solaris Sparc OD IBM TRIRIGA Appli-
cation Platform V3.4.0 D IBM Tivoli Direc-
tory Integrator V7.1.1 20Lr(`oTf)
TDI711_TAP340_Install_AIX.tar CZ AIX OD IBM TRIRIGA Application Plat-
form V3.4.0 D IBM Tivoli Directory Integra-
tor V7.1.1 20Lr(`oTf)
2. |B* IBM Tivoli Directory Integrator V7.1.1 FP3,C FP ITS http://www.ibm.com/
support/docview.wss?uid=swg27010509 qC#
3. &C 7.1.1-TIV-TDI-LA0014(IT(}*5 IBM 'VK1qC)#
4. S TRIRIGA 20?<P,+JCZi0w._y*,SD}]b`MD JDBC }
/Lr4F= Tivoli Directory Integrator ?< TDI Install Directory/jars P#
v TZ SQL Server,k4F jtds-1.2.8.jar
v TZ Oracle,k4F ojdbc6.jar
v TZ DB2,k4F db2jcc4.jar
Z 2 B }]a9 31
|D Tivoli Directory Integrator y9CDKZ:
zIT8( TRIRIGA 20Zd Tivoli Directory Integrator 9CDKZ#Z;)1{D
ivB,zI\h*|Db)KZhC#
XZKNq
*|D TRIRIGA CZ+ ETL d;"M= Tivoli Directory Integrator Tc4PDKZ,
k|D TRIRIGAWEB.properties PD TDI_HTTP_SERVER_PORT#
v
*|D Tivoli Directory Integrator zmLrCZ\m Tivoli Directory Integrator ~q
wDKZ,kjIBPNq:
v |D TRIRIGAWEB.properties PD TDI_SERVER_PORT
v |D TRIRIGA_Install_Directory/TDI_IE/TDISolDir/solution.properties PD
api.remote.naming.port
Tivoli Directory Integrator dC`-wkE:
*9CdC`-w4(eM,$ ETL,zXkHKby>Nq,}gr*dC`-wM
KbS<,4(n?"i0w._"R3"E>r,Sw,T0<kdCD~#
dC`-w(} ibmditk |0wE>t/# KE>;Z Tivoli Directory Integrator 2
0?<P# k!q;v$wUdD~P4f"zDn?MD~#
“dC`-w”D$wUd0ZT>BPS<:
v <=w(sO=),KS<|,~qwdCM Tivoli Directory Integrator bv=8D
yPn?M4D~#<=w9IT|,d{D~Mn?,}gD>D~HH# dC`
-wXpT} Tivoli Directory Integrator n?,rKd{D~Mn?;\dC`-w
0l#
v ~qwS<(sB=),KS<T> TDI ~qwn?P(eDwv~qwD4,#z
IT(eNb}?D~qw# ~qwS<a)Km`CZT~qw0ddC4PYw
D&\#"B4%CZ"BKS<PDyP~qwD4,#
v `-wxr(RO=),bGzr*D5(}gi0w._dC)TxP`-D;
C# KxrZ91=rOxPKpV,;vxr|,wVCZa)d{`XE"DS
<# nX*DS<|(“Jb”S<(CZT> Tivoli Directory Integrator i~D1
ZJb)"“msU>”S<(CZT>*"bv=81"zDms)T0“XF(”
S<(CZT>KPPD Tivoli Directory Integrator ~qw(}gIdC`-wt/
D~qw)DXF(U>)#
#{n/|(BPy>Nq:
v *4(n?,kR|%wD~ > B( > n?#
v *4(i0w._,kS<=wP!qn?,"R|%wD~ > B( > i0w.
_# i0w._G.Z;pD;ii~,CZF/Md;}]# i0w._hvK
}]-}D76# (}C76&mD}]m>*u?Ts# i0w._Zd?v\
ZZ;N&m;vu?# bG Tivoli Directory Integrator PD$w%*,"R(#
m>S;vr`v}]4=;vr`v?jDE"w# zXkdkS TRIRIGA P4
(*KPKi0w._D ETL w5n1,*TBi0w._8(D{F#
32 © Copyright IBM Corp. 2011, 2015
v *mSi0w._R3,kZ`-wxrP%w!n > i0w._R3# tCdP
;vR3TD4!r"%wXU# mSR3s,IT!qCR3"mS JavaScript z
k#
v *mSE>,kZ`-wxrP!q Feed r Data Flow D~P# R|%w"!q
mSi~#!qE>}Kw,;s!qi~"%wjI#!qQmS=i0w._
DE>,"mSC'(eD JavaScript zki#
v *mS,Sw,kZ`-wxrP!q Feed r Data Flow D~P# R|%w"!
qmSi~# !q,Sw}Kw,;s!qi~"%wjI# !qQmS=i0w
._D,Sw,"8(yhDdC}]#
v *<kdCD~,k%wD~ > <k,;s!q IBM Tivoli Directory Integra-tor MdC# %wB;=,8(dCD~,;s%wjI# 53a>z8(n?{
F1,kdk{F,;s%wjI#
PX9C Tivoli Directory Integrator D|`E",kND IBM Tivoli Directory Inte-
grator V7.1.1 E"PD (http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/
com.ibm.IBMDI.doc_7.1.1/welcome.htm)#
Tivoli Directory Integrator zmLr:
Tivoli Directory Integrator zmLra)KCZS TRIRIGA Pt/M#9 Tivoli Direc-
tory Integrator KP1~qwDSZ#
Tivoli Directory Integrator ~qwXk&ZKP4,,by Tivoli Directory Integrator `
MD ETL w5nE\I&KP# g{ Tivoli Directory Integrator ~qw4&ZKP
4,,G4 ETL w5n+'\,"R+r TRIRIGA ~qwU>dv;vms#
*t/r#9 Tivoli Directory Integrator ~qw,k*=\m1XF(PD“zmLr
\mw”fe,"t/r#9 Tivoli Directory Integrator zmLr# t/s,KzmL
rc4wHKP"`S Tivoli Directory Integrator ~qw# g{|"V Tivoli Direc-
tory Integrator ~qw4&ZKP4,,G4a"T+dXBt/#
PX“zmLr\mw”feD|`E",kND IBM TRIRIGA Application Platform 3
Administrator Console User Guide#
Tivoli Directory Integrator zmLrdC:
zITdCtT,Tli Tivoli Directory Integrator ~qwGq&ZKP4,#
KP Tivoli Directory Integrator zmLrD&CLr~qwD TDI_AGENT_SLEEPTIME t
TCZXFKzmLrli Tivoli Directory Integrator ~qwGq&ZKP4,""T
+dXBt/D5J#
KP Tivoli Directory Integrator zmLrD&CLr~qwD TDI_SERVER_TIMEOUT t
TCZXF"zJO0H} Tivoli Directory Integrator ~qwt/r#9|njID1
d$H#
b)tTZ TRIRIGAWEB.properties D~P(e#
Z 2 B }]a9 33
Tivoli Directory Integrator zmLrU>G<:
Tivoli Directory Integrator zmLrDJbG<Z server.log P# *q!|`E",
k(}ZKPzmLrD~qwOD\mXF(P|D=(U>G<hC,Z Tivoli
Directory Integrator zmLrP*twTU>G<#
(}ZKPzmLrD~qwO|D log4j hC,ITxPd{U>G<dC#
}g,IT(}q-j<D log4j <(4`S Tivoli Directory Integrator ~qwDJb#
g{ Tivoli Directory Integrator zmLr^(t/ Tivoli Directory Integrator ~qw,
G4a+;vms4kTB l o g 4 j `p:
“com.tririga.platform.tdi.agent.TDIAgent.TDISTARTFAILED”# 1!ivB,4kK`p
Dms+G<= TRIRIGA ~qwU>P# (}+C`pdC*4km;v log4j 7
Sw,zITdC;,DP*,}g"MJ~(*#
S Tivoli Directory Integrator dC`-wPKPd;:
*KP}Z*"rQjIDd;,k#fKd;,;s%w$_8PDKP#
XZKNq
Z`-wxrP,+r*;vki0w._,{DB0Zr!n(# K0Z+T>4P
Ci0w._Da{# mb,z9IT9CwTw4%4i44P?v=h1Tdkw
ywD|D#
Tivoli Directory Integrator dC`-w>}d;:
TBE"a) Tivoli Directory Integrator d;Pf0D;)=hD>}#
zITBXVP ETL w5nP|,D“0kF?mnG(m”.xml dCD~T4U=h
hvxPYw# s?V;6D ETL q-`,DwL,+8ZPy;,;}g,SPi
!}]D}]bmT0}]Dd;==Py;,#
K>}d;4PBPYw:
v 8(Ki0w._y*9CDU>G<N}:G<w`M"D~76"7S"UZ
#="<V#="U>6pT0GqtCU>#
v 9C* DB-TRIRIGA dCDi0w._,SN}("}]b,S#
v S“&CLrhC”mPlw“\4U>Ms1d”N}
v 9C JDBC ,SwS“Jz?!1B5”mPlwG<
v 9CdktT3d+}]bP3d=Z? Tivoli Directory Integrator $wu?tT
v 9C Tivoli Directory Integrator R3ME>4P}]d;#
v 9C JDBC ,SwZ“73F?mn”G(mPekr|BG<
v 9CdvtT3d+Z?$wd?3d= JDBC dv,SwPdCDmPD}]bP
v 9C On Success R3jIBPNq:
– G<KPD&m3FE"
– hC errCount M errMsg
v 9C Tivoli Directory Integrator On Failure R3jIBPNq:
– G<ms{"
34 © Copyright IBM Corp. 2011, 2015
– hC errCount M errMsg
BPwZa)PX Tivoli Directory Integrator d;DX|i~D|`j8E"#XcV
[ TRIRIGA ;6Dd;y9CDw*i~# Tivoli Directory Integrator a)Km`d
{i~,b)i~ICZy]d;hs&m}]#
Z9(d;1,k<GBPa>:
v Z9(i0w._19CICDbT&\,T7#d;4PzyZ{DYw#
v h*T@y==*"d;# }g,g{*9CX(VNxPFc,G4yPPPDb
)VN<Xk_P5,x;C*U# qr,d;+@##mSi$_-,T7#Fc
P9CDyPVN<_P5#
v liGqfZ Null d?r4(eDd?,g{b)d?Gi0w._I&4PyX
h,G45Xms#}g,g{i0w._@5Z DB-OTHER d?(}g jdbcOthUrl
M jdbcOthDriver)E\,S=b?}]b,G4|XkliGq(eKb)d?"`
&X&mmsiv#
v UZO*,V,bGr*,TRIRIGA 'VDyP}]b<+ DATE M TIME #f
ZUZVNP#
v k7#9Ci0w._,S"9d;}]b#V@",Zbv=8h*KP`v}
]b=((DB2"Oracle M Microsoft SQL Server)1HdgK#
v HbTi0w._,S,;sYKP Tivoli Directory Integrator d;#qr,Cd;
I\ar*}]b,Smsxax#
dCG<w:
dCi0w._G<w,"8(Ki0+*9CDU>G<N},}g“G<w`M
”"“D~76”"“7S”"“UZ#=”"“<V#=”"“U>6p”M“tCU>”#
XZKNq
":kq-BPU>hC<(,TcS TRIRIGA PKPd;1 TRIRIGA \;}7&
m ETL U>G<:
v hCD~761,k8(`T76 ../../log/TDI/log name,dP log name Gi0
w._D{F# }g,D~76 = ../../log/TDI/triLoadMeterData.log# b7
#TZd` T R I R I G A U>,ITS T R I R I G A \mXF(Pi4
triLoadMeterData.log#
v +“G<w`M”hC* DailyRollingFileAppender,Tckd{ TRIRIGA U>#V;
B#
b)U>hC+&CZSdC`-wPKPd;14(DU># S TRIRIGA ETL w
5nPwCCd;1,+2GdP;)hC5# “U>6p”"“UZ#=”M“<V#=”
+; TRIRIGA log4j .xml D~P8(D52G,T9 Tivoli Directory Integrator U>
k TRIRIGA U>#V;B"IT(}k TRIRIGA U>`,D==xPdC#
}L
Z`-wxrP,%w!n > U>hCTdCi0G<w,"8(Ki0w._+*9
CDU>G<N}#
Z 2 B }]a9 35
>}
ZK>}P,RGQ-dCK DailyRollingFileAppender U>,dD~76hC* ../../
log/TDI/triLoadMeterData.log# i0w._R3IT(}wC`FZTBD|n+}
]4kKU>:
var methodName = "triLoadMeterData - LookupMeterItemDTO ";task.logmsg("DEBUG", methodName + "Entry");
u</i0w._:
Zi0w._u</Zd,+t/E>}f,"R+wCCi0w._D0TR3#
}L
1. Z`-wxrP,(}%w!n > i0w._R3"tC<T - u</04!r,4(i0w._R3#
2. ZE>PmSTB JavaScript zk,T("}]b,S"lw&CLrhCN}:
var methodName = "triLoadMeterData - Prolog - Before Init - ";
// By default, this AL is setup to run from TRIRIGA.To run this AL from TDI CE,// the runStandAlone flag should be set to 1 and the database connection// parameters should be specified below.var runStandAlone = 1;
// Retrieve database connection parameters passed into this AL from TRIRIGAif (runStandAlone == 0){task.logmsg("DEBUG", methodName + "Set TRIRIGA db connection parameters");var op = task.getOpEntry();var jdbcTriURL = op.getString("jdbcTriURL");var jdbcTriDriver = op.getString("jdbcTriDriver");var jdbcTriUser = op.getString("jdbcTriUser");var jdbcTriPassword = op.getString("jdbcTriPassword");
}else// Modify these database connection parameters if running directly from TDI{task.logmsg("DEBUG", methodName + "StandAlone: Set default TRIRIGA dbconnection parameters");var jdbcTriURL = "jdbc:oracle:thin:@1.1.1.1:1521:test";var jdbcTriDriver = "oracle.jdbc.driver.OracleDriver";var jdbcTriUser = "userid";var jdbcTriPassword = "password";}
try{
triConn.initialize(new Packages.com.ibm.di.server.ConnectorMode("Iterator"));}catch (err){
task.logmsg("ERROR", methodName + "TRIRIGA Connection Failed");task.logmsg("DEBUG", methodName + "Exception:" + err);dbConnectionFailed = true;errCount=1;system.abortAssemblyLine("TRIRIGA DB Connection Failed");return;
}triConn.setCommitMode("After every database operation (Including Select)");var conn2 = triConn.getConnection();
36 © Copyright IBM Corp. 2011, 2015
conn2.setAutoCommit(true);task.logmsg("DEBUG", methodName + "TRIRIGA connection success");
...
// Get application settingstask.logmsg("DEBUG", methodName + "Get triALEnergyLogLagTimeNU fromApplication Settings");
var selectStmt1 = conn1.createStatement();var query = "select TRIALENERGYLOGLAGTIMEN from T_TRIAPPLICATIONSETTINGS";task.logmsg("DEBUG", methodName + "query:" + query);var rs1 = selectStmt1.executeQuery(query);var result = rs1.next();while (result){
try{
energyLogLagTime = rs1.getString("TRIALENERGYLOGLAGTIMEN");if (energyLogLagTime == null) energyLogLagTime=5
}catch (err){task.logmsg("INFO", methodName + "Setting Default Values for
Application Settings");energyLogLagTime=5}
task.logmsg("INFO", methodName + "energyLogLagTime:" + energyLogLagTime);result = rs1.next();
}rs1.close();selectStmt1.close();
3. #fCi0w._R3#
>}
ZRGD>}P,“0T - u</0”R3jIKBPNq:
v lw+]=i0w._D Tivoli Directory Integrator d;d?# v1S ETL w5
nPKPi0w._1,Ea"zbViv# SdC`-wPwCi0w._1,h
*Z0TPdC JDBC ,SN}#
v ("}]b,S#
v S“&CLrhC”G<PlwX(Di0w._hC#
}]lw:
}](},SwM3V`MDdk==S`,SD53xki0w._#
Z>}P,RG9CK JDBC ,SwMtT3dri0w._dM}]#
,Sw
mdkGs`}}]D44# bMGz9Cu</Zd+]=i0w._D}]b,S
N}4hC,SwD;C,C,SwCZSmPi!}]#
Z>}P,{* JDBCConnectorToHourlyFact D,SwS“?!1B5”mPlwdkP#
Ki~+mS=i0w._D)D4xNP#
Z 2 B }]a9 37
,S!n(CZdC JDBC ,SN}# Z>}P,RG9CK“_6”(Javascript) 4l
wu</Zd+]=i0w._D,SN}# mb,Z“_6”xND SQL Select VNP8(KTB SQL i/,Tu!S}]bmPlw}]D6'#
select * from T_TRIASSETENERGYUSEHFACT where TRIMAINMETERBL in (’TRUE’) andTRI-MAINMETERPROCESSEDN = 0 order by TRIWRITETIMETX.
a>:*T,SwD SQL odtCU>G<,ktC,SwD,S!n(ODj8U
>4!r#
tT3d
9C“,SwtT3d”IT7#X(VN_P5r_+3vVNhC*m;v5# Z“
tT3d”P,ITy]4VND5T?jVNhC5# g{48(?jVN,G4I
T+KVNhC*1!5,x;G?jVN#
%w JDBCConnectorToHourlyFact ,Sw,;s%wdk3d!n(TT>“tT3d
”# Z>}P,RG9CK3d4hC3)VND1!5#
Z;v,SwjId$ws,E"i(4“$wu?”,"ITJ1XF*“$w”)+X
i0w._+]=B;vi~#
E>`F:
ITmSE>,T5VC'(eD JavaScript zki#
Z>}P,9CKE>`F&\ri0w._mS(F&m# BPwZhv9CE>`
F&\D;);,=(#
i$
Z>}P,RGTdk}]4PVNi$,gTBE>y>:
var methodName = "triLoadMeterData - JDBCConnectorToHourlyFact -GetNext Successful ";
task.logmsg("DEBUG", methodName + "Entry");
rowsProcessed = parseInt(rowsProcessed) + 1;
var SPEC_ID = work.SPEC_ID.getValue();task.logmsg("DEBUG", methodName + "SPEC_ID: " + SPEC_ID);
// Verify Required Fields and do not process record is anyvalues are missingvalidData = true;if (work.TRICAPTUREDDT.getValue() == null){task.logmsg("ERROR", methodName + "TRICOSTNU is null.");validData=false;}if (work.TRICOSTNU.getValue() == null){task.logmsg("ERROR", methodName + "TRICOSTNU is null.");validData=false;}if (work.TRICOSTNU_UOM.getValue() == null){task.logmsg("ERROR", methodName + "TRICOSTNU_UOM is null.");validData=false;}
38 © Copyright IBM Corp. 2011, 2015
if (work.TRIDIMASSETTX.getValue() == null){task.logmsg("ERROR", methodName + "TRIDIMASSETTX is null.");validData=false;}if (work.TRIENERGYTYPECL.getValue() == null){task.logmsg("ERROR", methodName + "TRIENERGYTYPECL is null.");validData=false;}if (work.TRIENERGYTYPECLOBJID.getValue() == null){task.logmsg("ERROR", methodName + "TRIENERGYTYPECLOBJID is null.");validData=false;}if (work.TRIMETERIDTX.getValue() == null){task.logmsg("ERROR", methodName + "TRIMETERIDTX is null.");validData=false;}if (work.TRIRATENU.getValue() == null){task.logmsg("ERROR", methodName + "TRIRATENU is null.");validData=false;}if (work.TRIRATENU_UOM.getValue() == null){task.logmsg("ERROR", methodName + "TRIRATENU_UOM is null.");validData=false;}if (work.TRIWRITETIMETX.getValue() == null){task.logmsg("ERROR", methodName + "TRIWRITETIMETX is null.");validData=false;}
if (!validData){rowsNotValid = rowsNotValid + 1;task.logmsg("ERROR", methodName + "Record will NOT be processed.");var selectStmt1 = conn1.createStatement();
var query = "update " + tableName + " set TRIMAINMETERPROCESSEDN =3 where SPEC_ID = \’" + SPEC_ID + "\’";
task.logmsg("DEBUG", methodName + "query:" + query);var count = selectStmt1.executeUpdate(query);task.logmsg("DEBUG", methodName + "Update count:" + count);selectStmt1.close();system.exitBranch();
}
}]}K
Z>}P,P;vE>CZ7(Gq&&m3vG<# TBE>|,;vCZT=vU
ZVNxPHODu~od#g{u~* true,G4+wC system.exitBrankch() =
(,b+<Bx}10G<#
// Should we process this record?if (capturedDT < earliestDateUTC){
task.logmsg("DEBUG", methodName + "Skip!");rowsSkipped = rowsSkipped + 1;
// Set triMainMeterProcessedNU=2 flag in T_TRIASSETENERYUSEHFACT table// indicating that we will not process this recordvar selectStmt1 = conn1.createStatement();var query = "update " + tableName + " set TRIMAINMETERPROCESSEDN =
Z 2 B }]a9 39
2 where SPEC_ID = \’" + SPEC_ID + "\’";task.logmsg("DEBUG", methodName + "query:" + query);var count = selectStmt1.executeUpdate(query);task.logmsg("DEBUG", methodName + "Update count:" + count);selectStmt1.close();system.exitBranch();
}
wC}]b}L
ITS JavaScript PwCf"}L# E"IT(}K}Lwv,"RE"ITwX=
d;P#
RGD>}45Vf"}LwC,+Bfa)K>}# TB>}5wgN*B5mu?
4(rP# K>}wCK DB2"SQL Server r Oracle P{* NEXTVAL D}]b}
L# TBG NEXTVAL f"}LD;v>}:
// Stored procedure calltask.logmsg("DEBUG", methodName + "Call Stored Procedure")var command = "{call NEXTVAL(?,?,?)}";try{
cstmt = conn2.prepareCall(command);cstmt.setString(1, "SEQ_FACTSOID");cstmt.setInt(2, 1);cstmt.registerOutParameter(3, java.sql.Types.INTEGER);cstmt.execute();result = cstmt.getInt(3);task.logmsg("DEBUG", methodName + "Result:" + result);work.setAttribute("SPECID", result)cstmt.close();
}catch (e){
task.logmsg("DEBUG", "Stored Procedure call failed with exception:" + e);}
9CiR,SwT4T;,}]4D}]xP,S:
IT4PiR,b+9z\;,S4T;,}]4D}]# KYwIT9C(FE>r
iR,Sw45V#
XZKNq
ZRGD>}P,9CKE>44P}]biR,"+=S}]-!=}]wP#
}L
1. Z`-wxrP,%w}]wT4(E>#
2. %wmSi~,!qUE>i~,;s%wjI#
3. ZE>PmSTB JavaScript zk,TcZ“F?mn DTO”mPiRG<#
var methodName = "triLoadMeterData - LookupMeterItemDTO ";
task.logmsg("DEBUG", methodName + "Entry");
// Lookup Meter Item DTO recordvar recordFound = false;var selectStmt1 = conn1.createStatement();var rs1 = selectStmt1.executeQuery("select DC_SEQUENCE_ID,TRICOSTPERUNITNU, TRIQUANTITYNU from S_TRIENVMETERITEMDTO1where TRIMETERIDTX = \’" + work.TRIMETERIDTX.getValue() + "\’
40 © Copyright IBM Corp. 2011, 2015
and TRITODATEDA = " + TRITODATEDA );var result = rs1.next();while (result){...}rs1.close();selectStmt1.close();
+u?dv=}]4:
ZdvZd,d;sD}]+T3Vdv==XEi0w._+]=m;v JDBC ,S
w,s_+C}]dv=`,SD53# IZ`,SD53frG<,rK$wPDw
VtT+9CdvtT3d43d=CG<PDP#
,Sw
mdvGs?V}]D?j# bMGz9Cu</Zd+]=i0w._D}]b,S
N}4hC JDBC ,SwD;C,C,SwCZ+}]ekr|B=mP#
Z>}P,9CK{* JDBCConnectoToMeterItemDTO D,Sw+E"f"Z TRIRIGA
D“73F?mU>”G(mP# zIyP*#fDE"s,Ki~4mS=i0w._
)2#
,SwD4Su~!n(CZ8(TBu~,Ku~CZzI SQL odT|Bdvm#
Z>}P,Ku~|,BPu?:
v TRIMETERIDTX equals $TRIMETERIDTX
v TRITODATEDA equals $TRITODATEDA
a>:$ CZ8>fsDd?{&f;*Z?$wu?5#
tT3d
,Sw_PdvtT3d,C3dCZ8(Z?$wd?kdvmPDP{.dD3
d#
k!q“JDBCConnectorToMeterItemDTO”i~,;s%wdv3d!n(# b+r*“
dv3d”3f#9CK3f+4VN3d=?j}]bPD?jVN# k"b,4V
N|,QmS=dkwD=SVN#
+4,+%= ETL w5n:
yPE><Xk,1|, On Success M On Failure R3,TcS ETL w5nPKP
d;1nd errCount M errMsg $wtT,Sx+4,(fXx TRIRIGA#
XZKNq
errCount $wtTGKPi0w._D~1v=Dms}# errMsg $wtTG4k
TRIRIGA U>Dms{"#
}L
1. *mSi0w._R3,kZ`-wxrP%w!n > i0w._R3#
2. !P On Success M On Failure R3T_D4!r,;s%wXU#
Z 2 B }]a9 41
3. 9CTBzk^D On Success R3,ThC errCount M errMsg $wtT#
// Set errCount and errMessage for ALif (task.getResult() == null) {
var result = system.newEntry();result.errCount = errCount;result.errMsg=’Assembly line completed successfully.’;task.setWork(result);
}else{
work.errCount = errCount;work.errMsg=’Assembly line completed successfully.’;
}
4. 9CTBzk^D On Failure R3,ThC errCount M errMsg $wtT#
// Set errCount and errMessage for triDispatcher ALif (task.getResult() == null) {
var result = system.newEntry();result.errCount = 1;result.errMsg=’Assembly line failed.’;task.setWork(result);
}else{
work.errCount = 1;work.errMsg=’Assembly line failed.’;
}
Tivoli Directory Integrator PDd;bT:
Z?v=hs4PbTIT9wT|S]W#
ZKPd;0,h*xP#f;qr Tivoli Directory Integrator +wCi0w._"R
vTON#fT4D|D#
*"i0w._1,zIT(}KP=jIr_(}pvi~XxP%=4P,Ti
0w._xPbT# IT(}=v4%KPi0w._# ZXF(PKPYw+t/
i0w._"ZXF(S<PT>dv# wTwYw9CwTw4KPi0w._#
t/i0w._D}L+jIBP=h:
1. g{Ci0w._|,ms,}g1Ydv3d,G453+(}TB{"a>z
7OKPCi0w._:Ki0w._PfZ;vr`vms# *LxKPp?
2. B;nliG7( Tivoli Directory Integrator ~qwGqIC# g{^(CJC~
qw,G4z+4=TB{":^(q!k~qw Default.tdiserver D,S#
3. ns,dC`-w+KP1dC+d=~qw"H}Ci0w._t/# ZK=h
P,z+Z0ZROG4=;vxHu#IZCi0w._P4t/,rKCZ+
d#9D$_84%2T>*R+# Ci0w._KPs,xHu+*<}*,"
RZU>0ZP&*<4={"# VZ,zIT(}%w$_8PD#9Yw#9
Ci0w._#
+ ETL E>S Tivoli Directory Integrator F/= TRIRIGA P:
ZjI"bTd;.s,Xk+dOX= TRIRIGA ETL w5n#
B<hv ETL 73k TRIRIGA .dDw#
42 © Copyright IBM Corp. 2011, 2015
"#vwxyzXML wx
ETL lmqr|}~� XML
>� XML�l XML
����Z���~��TRIRIGA Application Platform
BO/��
����
Contentmanager
����Z���~��TRIRIGA Application Platform
BO/��
Contentmanager
hC TRIRIGA }]bi0w._,S:
Z+KP1dCD~OX= TRIRIGA ETL w5nG<.0,XkdC TRIRIGA }]
bi0w._,S,T8(*Zu</Zd+]= Tivoli Directory Integrator iO~D
N}#
}L
1. %w$_ > 53hC > #f > &CLrhC#
2. Z73hC!n(OD“i0w._hC”xNP,dC}]bi0w._,S#
a. Xh: dC DB-TRIRIGA w* TRIRIGA }]b,S# g{4dCK,S,
G4 Tivoli Directory Integrator ETL w5n+^(KP#
b. I!: g{ Tivoli Directory Integrator i0w._Xk,S=b?}]b,k
dC DB-OTHER# r* DB-OTHER GI!D,yT TRIRIGA ;ai$Gq
QhCK,S# rK,i0w._Z9CK,S0,XkliGqQhCK,
S#
3. %wbT}]b,STi$,S}]}7#
lwi0w._N}:
ZdC TRIRIGA }]bi0w._,S.s,k^Di0w._TlwN}#
}L
1. r*CZu</i0w._D0TE>#
2. mSTBodTlw TRIRIGA-DB ,SN}#
Z 2 B }]a9 43
var op = task.getOpEntry();var jdbcTriURL = op.getString("jdbcTriURL");var jdbcTriDriver = op.getString("jdbcTriDriver");var jdbcTriUser = op.getString("jdbcTriUser");var jdbcTriPassword = op.getString("jdbcTriPassword");
3. mSTBodTlw OTHER-DB ,SN}#
var op = task.getOpEntry();var jdbcOthURL = op.getString("jdbcOthURL");var jdbcOthDriver = op.getString("jdbcOthDriver");var jdbcOthUser = op.getString("jdbcOthUser");var jdbcOthPassword = op.getString("jdbcOthPassword");
4. #f|D#
+ ETL E>F/= TRIRIGA P:
Z Tivoli Directory Integrator dC`-wP*" ETL E>.s,Xk+CE>F/=
TRIRIGA P#
XZKNq
Tivoli Directory Integrator dC`-w+KP1dCD~T/f"=TB;C:Work-
space/ProjectName/Runtime-ProjectName/ProjectName.xml#
}L
1. Z+w5n`MVNhC*“Tivoli Directory Integrator d;”DivB,4( ETL w
5nG<#
2. +i0w._{FVNhC*0kdCD~s*t/Di0w._D{F#
3. (}OXzZdC`-wP4(DKP1dCD~,hCd;D~VN#
4. I!: g{ ETL d;h*NND~w*dk,k+b)D~kw*J4D~D ETL
w5n`X*# }g,g{ ETL d;Xk&mgSmqD~PD}],G4Xk
X*CD~T9dI*J4D~#
a. Z“J4D~”xNP,%wmS#
b. +J4{FhC*CZj6CJ4D~D{F# K{F+I* TRIRIGA "M=
ETL d;DY1J4D~{DiI?V# bZz+`vJ4D~k;v ETL w
5n`X*1G#PC,r*b9 ETL d;\;(}{F6p`vrd"MD
D~#
c. *hCJ4D~VN,k%wKVNT_DOXJ4D~<j,8(D~;
C,"%w7(+KD~OX=J4D~VN#
+]= Tivoli Directory Integrator Dd?:
TRIRIGA +`vdkd?+]= Tivoli Directory Integrator ETL#
*+dPNNd?CZi0w._,k(} Tivoli Directory Integrator getOpEntry() S
Z4CJb)d?# }g,var op = task.getOpEntry(); var jdbcTriURL = op.getString
(″jdbcTriURL″);
TRIRIGA S ETL w5nG<Pi!VN5"+dw*dkN}xP+]# 'VDV
N`M|(D>"<{5"UZ"UZ01d"(;wT0}V# NNK` ETL w5
nVN<+w*d?xP+]#
44 © Copyright IBM Corp. 2011, 2015
g{ ETL w5n_PBPVN,G4Z~vmPDd?++]= Tivoli Directory Inte-
grator:
m 6. ETL w5nVN
VN{F VNj) VN`M
triActiveEndDA n/axUZ UZ
triActiveStartDA n/*<UZ UZ
triControlNumberCN XFE XFE
triCreatedByTX 4(_ D>
triLocator triLocator D>
triNameTX {F D>
triTransformBI d;D~ ~xF
+]= Tivoli Directory Integrator Dd?gBy>:
m 7. +]= Tivoli Directory Integrator Dd?
+]= Tivoli Directory Integrator Dd? hv
triNameTX (D>)
triActiveStartDA (}V)bGT 1970 j 1 B 1 UT4DUZ
(TAk*%;)
triActiveStartDA_DATE (UZ)|0DUZ(TZ Oracle r DB2),
1dGtTPDNN1d
triActiveStartDA_MinDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 00:00:00
triActiveStartDA_MaxDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 23:59:59
triActiveStartDA_Min (}V)bGT 1970 j 1 B 1 UT4DUZ
(TAk*%;),1d* 00:00:00
triActiveStartDA_Max (}V)bGT 1970 j 1 B 1 UT4DUZ
(TAk*%;),1d* 23:59:59
triActiveEndDA (}V)bGT 1970 j 1 B 1 UT4DUZ
(TAk*%;)
triActiveEndDA_DATE (UZ)|0DUZ(TZ Oracle r DB2),
1dGtTPDNN1d
triActiveEndDA_MinDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 00:00:00
triActiveEndDA_MaxDATE (UZ)|0DUZ(TZ Oracle r DB2),
1d* 23:59:59
triActiveEndDA_Min (}V)bGT 1970 j 1 B 1 UT4DUZ
(TAk*%;),1d* 00:00:00
triActiveEndDA_Max (}V)bGT 1970 j 1 B 1 UT4DUZ
(TAk*%;),1d* 23:59:59
triCreatedByTX (D>)
triRunDATE (}V)bG(F$wwLNqhCDKPU
Z
Z 2 B }]a9 45
m 7. +]= Tivoli Directory Integrator Dd? (x)
+]= Tivoli Directory Integrator Dd? hv
triLocator (D> - (;w)bG|,Td{5qTsD
}CD(;wVN# Kd?|,CG<DVN
DD>5
triLocator_IBS_SPEC (D> - (;w)|, triLocator VNPDG
<D spec_id# zIT9CK spec_id Zd{}
]bmPiRPXCG<DE"
triAssemblyLineNameTX *KPD ETL d;Pw*i0w._D{F
TRIRIGA 9+]J4D~d?#J4D~G ETL d;yhDdkD~#}g,g{3
v ETL d;Xk&m:EVt5 (.csv) D~PD}],G4h**@KP1ZN&T
0gN}CCD~#
g{3v ETL w5nP=v`X*DJ4D~G<,G4?vG<<|,BPVN:
m 8. kJ4D~G<`X*DVN
VN{F VNj) VN`M
triResourceNameTX bGCZj6J4D~D{F D>
triResourceFileBI bGJ4D~DZ] ~xF
TZb)J4D~G<,+]= Tivoli Directory Integrator Dd?gBy>:
m 9. +]= Tivoli Directory Integrator Dd?
+]= Tivoli Directory Integrator Dd? hv
RESOURCE_1 J4D~Dj<D~{#D~{|,
triResourceNameTX VNPD5,CZoz ETL
d;xP6p
RESOURCE_2 d{J4D~Dj<D~{# D~{|,
triResourceNameTX VNPD5,CZoz ETL
d;xP6p
m 10. TRIRIGA 9+]“&CLrhC”P(eD JDBC dkd?#
+]= Tivoli Directory Integrator Dd? hv
jdbcTriURL TRIRIGA }]b}/Lr URL
jdbcTriDriver TRIRIGA }]b}/Lr{F
jdbcTriUser TRIRIGA }]bC'{
jdbcTriPassword TRIRIGA }]b\k
jdbcOthURL d{}]b}/Lr URL
jdbcOthDriver d{}]b}/Lr{F
jdbcOthUser d{}]bC'{
jdbcOthPassword d{}]
46 © Copyright IBM Corp. 2011, 2015
Z&CLrPwT ETL E>:
*Z&CLrPwT ETL E>,zXkHhCU>G<,;s%" RunETL (F$w
wLNqTi4U>E"#
hCU>G<:
Z TRIRIGA &CLrPKP ETL E>1,TRIRIGA a)KwT&\#
}L
1. Z\m1XF(P,!q\=(U>G<\mDTs# ;s,!qCZ*t ETL U
>G<D!n#
2. !q`p ETL > d; > KPd;TcZ&m ETL w5nD TRIRIGA =(zk
P*twTU>G<# U>{"+dv= server.log P#
3. !q`p ETL > d; > Tivoli Directory Integrator TcZ Tivoli Directory Inte-
grator i0w._P*twTU>G<# U>{"+dv=i0w._U>P# ?
vi0w._<PT:DU>D~#
4. &C|D# VZ,1 ETL E>KP1,k ETL `XDE"+#f=~qwU>
ri0w._U>P#
*c:IZU>PI\|,s?E",rK;&CkT ETL w5nD;N4P+
Tivoli Directory Integrator U>G<6phC*“wT”#
9C ETL w5xPwT:
hCU>G<s,h*%" RunETL (F$wwLNq,byE\ZU>P4=NNE
"#
}L
g{z9CDG ETL w5n,G4;h%wCm%ODKPxL# k;*|GZm%
Pn4 ETL E>yZ{DVN5#
":kv+KPxLYwCZwTC># TZzz73,kD*9Cw5wHLr#k
"b,KPxL+|B}]bPDm,rK,k;*Zzz73P9CKYw#
>}
BfT>Ky>~qwU>dv:
2014-03-27 13:18:10,427 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: getETLVarsFromFields...2014-03-27 13:18:10,431 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: getETLVarsFromFields2014-03-27 13:18:10,431 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: getETLVarsFromResourceFiles2014-03-27 13:18:10,432 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)
Z 2 B }]a9 47
Exit: getETLVarsFromResourceFiles2014-03-27 13:18:10,432 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Processing Job Item with Type = Tivoli Directory Integrator Transformation2014-03-27 13:18:10,432 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: transformRecordTDI2014-03-27 13:18:10,474 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.TDIRequest](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: init2014-03-27 13:18:10,474 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.TDIRequest](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: init2014-03-27 13:18:10,483 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) ***ETL Variable = triIdTX : triLoadMeterData2014-03-27 13:18:10,483 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) ***ETL Variable = triAssemblyLineNameTX : triLoadMeterData...2014-03-27 13:18:10,483 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)*** ETL Variable = triNameTX :Load Meter Item Staging Table2014-03-27 13:18:10,488 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.DataSourceConnectionInfoImpl] (WFA:221931 - 15290804triProcessManual:305676189 IE=305676189)Entry: init2014-03-27 13:18:10,495 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.DataSourceConnectionInfoImpl](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: init2014-03-27 13:18:10,495 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.DataSourceConnectionInfoImpl](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: init2014-03-27 13:18:10,496 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.DataSourceConnectionInfoImpl](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: init2014-03-27 13:18:10,497 INFO [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Setting TDI log level to Debug.2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.LogSettingsServiceImpl](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: getLogSettings2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.LogSettingsServiceImpl](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Found DailyRollingFileAppender.2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.
48 © Copyright IBM Corp. 2011, 2015
LogSettingsServiceImpl](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: getLogSettings2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.TDIRequest](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Entry: send2014-03-27 13:18:14,396 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.TDIRequest](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: send2014-03-27 13:18:14,396 INFO [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)RunETL request returned fromTDI server version: 7.1.1.3 - 2013-12-06 running on host: i3650x3cr22014-03-27 13:18:14,396 INFO [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)RunETL: Prepare=2014/03/2713:18:10.475 Start=2014/03/27 13:18:10.503 Stop=2014/03/27 13:18:14.3962014-03-27 13:18:14,396 INFO [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)RunETL: Processing endedafter 3 seconds.2014-03-27 13:18:14,396 DEBUG [com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL](WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189)Exit: transformRecordTDI
BfT>Ky>i0w._U>:
2014-03-27 13:18:11,062 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]CTGDIS967I AssemblyLine started by triLoadMeterData_1395951491025.2014-03-27 13:18:11,063 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]CTGDIS255I AssemblyLine AssemblyLines/triLoadMeterData is started.2014-03-27 13:18:11,073 DEBUG [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]CTGDIS089I Current statistics: Interval=0, Maximum Errors=0, Maximum Read=02014-03-27 13:18:11,073 DEBUG [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]CTGDIS069I Loading Connectors....2014-03-27 13:18:14,384 DEBUG [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success Entry2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success Processing Success2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success -----------------------------------------------------------------------------
2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success Processing Summary2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success rowsProcessed = 3602014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success stagingTableWriteRowSuccess = 3602014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.
Z 2 B }]a9 49
a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success stagingTableWriteRowFail = 02014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success rowsSkipped = 02014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success rowsNotValid = 02014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success dcJobsToReadyState = 02014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success createdDT = 13959514910882014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success finishedDT = 13959514943842014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success seconds = 32014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success secondsPerRecord = 0.012014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success -----------------------------------------------------------------------------2014-03-27 13:18:14,386 DEBUG [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]triLoadMeterData - On Success Exit2014-03-27 13:18:14,386 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]CTGDIS116I Scripting hook of type onsuccess finished.2014-03-27 13:18:14,386 INFO [org.apache.log4j.DailyRollingFileAppender.a9e2d096-4cdc-4f87-a57b-5e31323093d9]CTGDIS080I Terminated successfully (0 errors).
T\w{a>:
9CTBE"ITa_T\#
9 ETL 4UzyZ{DGy$ws,kxPy_T\b?#
1. (}9C Tivoli Directory Integrator dC`-w,T|,}T'F*mS=B5m
DPD}]bKP ETL#
2. 7#z}Z9C}]b,S"Z}]byZDxgPKP Tivoli Directory Integra-
tor d;,T{}xgH}1d# k;*(} VPN KP Spoon#
3. i4kTCKPG<DE"# }g,ZKP triLoadMeterData ETL s,ki4
triLoadMeterData.log D~#
TKPDVv:
1. VvKP# GqP3v=hHd{=h*}?
2. }]dk=hGqYHO}? Gq&r}]bmSw}? g{G,kmSw}"X
BKP# T\GqPya_? I\&C9C“}Kw”=h,x;G9C}]bTa
{/xP}K#
PX*" ETL Da>:
50 © Copyright IBM Corp. 2011, 2015
v \b4SD SQL T0 COUNT"MIN"MAX M SUM .`D[//}# g{h*
9Cb)/},kKbw}GqPzZ4P“}]dk”=h# k;*TOsD varchar
VN4(w};SQL Server ;\&m!Z 900 vVZDw}#
v \b OR M NOT,"ZI\1\b9CS<(IBM TRIRIGA }]bPD
M_TableName)#
KP ETL d;9C TRIRIGA w5wHLrITKPCZ+}]Fk TRIRIGA B5mr=f/cN
a9mD ETL w5nMw5i#
ETL w5n"w5iMw5wHLrETL w5nCZ(e ETL d;E>rX(cNa9}L,CE>r}LCZS
TRIRIGA }]bP6qE",TCE"xPd;,"+d0k=B5mP# ETL w5
i;G ETL w5nD/O# w5wHLrCZ(eN1KP ETL w5nMw5i#
Xk+w5wH$nE\KPkd`X*Dw5#
TRIRIGA Workplace Performance Management Vv/(f$_(}i/=fcNa9m
P4}]ViDB5m,FcCZzI(fM<NDH?# ETL w5nIw5wHL
rC4%"$wwL,b)$wwLS4m(}g TRIRIGA 5qTsm)Pi!}],
"+C}]0k=B5mP# ETL w5n9IC4|B=fcNa9#
Z TRIRIGA Workplace Performance Management P2P}V`MD ETL w5n:
Kettle d;S TRIRIGA 5qTsmPi!}],"+C}]0k= TRIRIGA Work-
place Performance Management B5mP#
Tivoli Directory Integrator d;S TRIRIGA 5qTsmr_b?4DmPi!}],"+C}]0k=
TRIRIGA Workplace Performance Management B5mP#
X(cNa9
S TRIRIGA 5qTsmPi!}],"+C}]0k= TRIRIGA Work-
place Performance Management =f/cNa9mP#
4(r^D ETL w5nETL w5n(eKE>,b)E>S TRIRIGA }]bP6qE",TE"xPd;"
+d0k=B5mr=f/cNa9mP#
}L
1. %w$_ > 53hC > w5wH > ETL w5n#
2. !qVPDw5n,r_%wmS#
3. Z“#f”xNP,dk ETL w5nDj6# k+B5m{F|(Zj6VNP#
4,I TRIRIGA 53Z ETL w5n4(1a)#
4. dk ETL w5nD{FMhv# Z“j8E"”xNP,w5n`VNI TRIRIGA
53hC* ETL#
5. !qw5n`M#
6. g{w5n`M*X(cNa9,kjIBP=h#
Z 2 B }]a9 51
a. dkcNa9#i{F# g{8(KcNa9#i{F,G4bXkG_P
TRIRIGA P(eDcNa9D#i(}g“;C”)# K ETL w5nKP1,
K#iDyP=fcNa9+xPX(#
b. dkcNa9{F# K ETL w5nKP1,K5qTsD=fcNa9+x
PX(#g{z8(KcNa9{F,G4K{F+EHZcNa9#i{
F#
c. TRIRIGA 53+vTzZ“j8E"”xNDUz1dN"aFZMd{UZP
dkDE"#
d. *X(X(#iDyP=fcNa9,k8(cNa9#i{F"+cNa9
{F#t*U#
e. *X(%v=fcNa9,k,18(cNa9#i{FMcNa9{F#
f. g{cNa9#i{FMcNa9{Fy*U,r_dPNb{F|, All,G
4+X(yP=fcNa9#
7. g{w5n`M* Kettle d;r_ TDI d;,kjIBP=h#
a. (}xP/@"!qD~,8(d;D~# TRIRIGA 53Z{ Kettle d;D
~IC .ktl r .xml q=,"R Tivoli Directory Integrator d;D~IC .xml
q=#
b. I!: OXd;D~s,IT(}%wi4Z]4i4CD~#
8. g{w5n`M* TDI d;,kdki0w._{F#
9. g{w5n`M* Kettle d;,k4PBPYw:
a. dk#i{F# g{8(K`v{F,G4|G.dXkT:E(g#
v ?v#i{F<+*;Id;D~d?,dq=*
${Module.<moduleName>.ViewName},dP <moduleName> G#i{F#
v ?vd?+]= ETL PD5<GC#iDS<{F# g{ ETL Xk*@
X(#iDS<{F,G4IT9CKd?D5#
b. dk5qTs{F# g{z8(K`v5qTs{F,G4b){F.dXk
T:E(g#
v ?v5qTs{F<+*;Id;D~d?,dq=*
${BO.<boName>.TableName},dP <boName> G5qTs{F#
v }G|(#i{F,qr;\#$5qTsZ}]bPG(;D# g{9C
K{F"G(;D5qTs,k+#i{F|(ZT:EVtDPmP# k
9CTBo(: <moduleName>::<boName>,dP <moduleName> G#i
{F,x <boName> G5qTs{F#
v d?T ${BO.<moduleName>::<boName>.TableName} N=a)xd;D~#
?vd?D5GC5qTsDm{#g{ ETL Xk*@X(5qTsDm{
F,G4IT9CKd?D5#
10. g{w5n`M* Kettle d;r_ TDI d;,kjIBP=h#
a. (#,ETL w5nZ;vr`vw5wHDXFBKP#
b. *T ETL w5nxP%*bT,kZ“j8E"”xNPhCUZN}#
c. BPUZN}@5Z ETL,3) ETL 9CKE",xm;)r;9C# w5
wHLrKP ETL w5n1,+2GUZN}#
v !qUz1dNIT+]|,w5Uz1dNDd?#
52 © Copyright IBM Corp. 2011, 2015
v !qaFZIT+]|,w5aFZDd?# aFZI TRIRIGA Work-
place Performance Management B5mPD6qZVN9C#
v !qUZIT+]|,w5UZG<Dd?# KUZG<CZT TRIRIGA
Workplace Performance Management B5mPDUZ,HVNmSAG#
v !qUZIT+]|,w5UZDd?# kdkUZ,r_%wUz<j"
!qUZ#
v !q*<UZIT8(Z;N6q}]DUZ"+]|,w5*<UZDd
?# kdkUZ,r_%wUz<j"!qUZ#
v !qaxUZIT8(ns;N6q}]DUZ"+]|,w5axUZD
d?# kdkUZ,r_%wUz<j"!qUZ#
11. “H?”xNTK ETL w5nDU>G<}]xPE(# =yVx1dGy]\V
x1dMKPN}FcxC(\Vx1d / KPN})#
12. “U>”xNT>K ETL w5nD?NKP1d04,# “H?”xNPTK}]x
PK\a#
13. %w4(]e#
14. %w$n#
a{
K ETL w5nG<Q4(jI,"QIT|(Zw5iM/rw5wHP#
B;=v24
*xP%*bT,k%wKP}LT%" ETL w5nP8(D Kettle r Tivoli Direc-
tory Integrator d;r_“X(cNa9”}L#
mSr^Dw5i
*Kr/w5wH,9Cw5iIT9 ETL w5n/O4,;vwHKP#
}L
1. %w$_ > 53hC > w5wH > w5i#
2. !qVPDw5i,r_%wmS#
3. Z“w5i”m%P,dkw5iD{FMhv#
4. (}9CiRr}%Yw,Z“w5n”xNPTw5imSr}% ETL w5n#
5. I!: w{w5nD3r#
6. %w4(#
a{
Kw5iG<QIT|(Zw5wHP#
4(r^Dw5wHLr
9Cw5wHLrITwH TRIRIGA KP ETL w5nMw5iD1d# zIT+w
5wH*?!1"?l"?\r?BKP;N#
Z 2 B }]a9 53
*<.0
d; TRIRIGA a)K$(eDw5wHLr,+G1=z^DK$(eDw5wHL
rr_4(K_P*<UZMaxUZDBw5wHLr"%w$n.s,EawH
w5#
}L
1. %w$_ > 53hC > w5wH > w5wHLr#
2. !qVPDw5wHLr,r_%wmS#
3. dkw5wHLrD{FMhv#
4. Z“wH”xNP,ST>DPmP!qwH`M5J#
v g{z!qK?UwH`M,G4+T>?!1MdtVN# %w?!14!r
IT+w5wH*?!1KP;N,;s%wdtVNIT8(wHD?vw5
.dD!1}#
v g{z!qK_6wH`M,G4“wH”xNP+T>X4#=VN# %wX4
#=+r*“w5B~”m%,Cm%a)KCZwHw5Din!n#
5. I!: Z“wH”xNP,!PKPz76q?4!r,T8>+z7}]|(ZS
Kw5wHPDn/Da{FcvDH?P# $nKw5wHs,K!n+8>w
5wHLrzI"KP$(UZgZqlDw5# m>1d6'r1dNDN}
(}g*<UZ"axUZMaFZ)++]=?vw5nP,T#bz76q#
+G,IZK}LVZ}ZKP,rKI&kqj+!vZ ETL E>gN9Cb)
N}# KPz76qG;v_6!n,|*sj+Kb?vE>D$w==#
6. !qZ;N6qD*<UZ"ns;N6qDaxUZT0S?N6qDaxUZ
*<FcD6qSY(bG53H}t/CZ&mw5D$wwLD1d# ?v}
]6qZ<G9C*<UZMwH`MFcvD#S?v6qZaxp-}6qS
Ys,53+"4%";v$wwLTKP ETL w5n# }g,g{*<UZ*
2014 j 1 B 1 U,wH`M*“?B”,"R6qSY*;l,G4+wHBPB
~:
m 11. ZBuwHDw5KP
w5ZTBUZDg9}s"
4KP 6q}]*<UZ 6q}]axUZ
02/01/2014 01/01/2014 01/31/2014
03/01/2014 02/01/2014 02/28/2014
04/01/2014 03/01/2014 03/31/2014
axUZ7(6qDns;vB~# 9CO;v>},g{axUZ* 2014 j3 B 15 U,G4+4gBy>wHns;vB~:
m 12. ZBPwHDw5KP
w5ZTBUZDg9}s"
4KP 6q}]*<UZ 6q}]axUZ
03/16/2014 03/01/2014 03/15/2014
v 1GqXC6qZ?4!r&Z!P4,1,|+?F537#?Nw5KP1
6qZ#VnB#
54 © Copyright IBM Corp. 2011, 2015
v }g,g{Q$nDw5wHLrdC*wH`M*“?B”,G453+?B=
Q;N,"RKPG<PDw5n# =QZd,g{!qKw5wHLrDXC
6qZ,G453+7#y]=QUZ}7hC6qZ#
v 1z8(Kw5nM/rw5i,"R$nKKw5wHG<1,Kw5wHD
QwHB~DPm+T>Z“wHDw5”xNP#
7. Z“w5n”xNP,9CiRr}%Yw4!q*|(ZwHPD ETL w5nMw
5i,"%w7(# b)w5n+4“3r”PP8(D3rKP#
v $nKw5wHs,“H?”xN+\aKw5wHDU>G<}]#
v “=yVx1d”Gy]\Vx1dMKPN}FcvD(\Vx1d/KPN
})#
v $nKw5wHs,“U>”xN+T>Kw5wH?NKPD1dM4,#
8. I!: w{w5nD3r#
9. %w4(]e,;s%w$n#
a{
TRIRIGA 53+4(;iyZwH`MT0*<UZMaxUZDQwHw5# zI
TZKw5wHD“wHDw5”xNP4=b)w5#
(Fd;Ts
TRIRIGA a)K ETL w5nMd;Ts# zITTVPD ETL w5nd;Tsx
P(F,x;X(eBd;Ts#g{9CVPDd;Ts,G4Xk(er,$d
;# +G,;h*(er,$5qTs"m%r$wwLNq,r*b)Z]yQ(e
jI#
(ed;5qTs"m%M$wwL
(eBDd;Ts1,zIT9CVPD TRIRIGA ETL w5nw*>}# (eT:
DBd;Ts9*sz(e",$5qTs"m%M$wwL#
*<.0
4(4mM?jm(5qTs),"("`&D3d#
}L
1. 4(d;5qTs#
a. 7(*+]=Cd;Dd?,"+dmS=Cd;5qTs# }g,1dN#
b. 7#fZCZd; XML D~xFVN#
2. 4(d;m%,"a)<=n(rd{=()TT>Cd;m%#
3. 4(;vwCK ETL d;(F$wwLNqD$wwL#
a. +C$wwLhC*4wHKP#
b. TyPXkKPDd;5qTsG<4P|z,SxkT?uG<wC(F$
wwLNq#
+d; XML #f= Content Manager P(ed; XML s,IT+d#fZD~53P,;s+dOX= TRIRIGA Content
Manager P# SE,IT9C ETL *"734bTCd; XML#
Z 2 B }]a9 55
}L
1. r*d;5qTsD<=n#`-VPd;5qTsr_mSBTs#
2. 9C~xFVN+d; XML OX= TRIRIGA Content Manager#
3. X*1,|Bd{VN#
4. #fd;G<#
dC$wwLKP1
+d; XML OX= TRIRIGA Content Manager s,zIThC$wwLT9d4w
HKP# C$wwL+TyPd;5qTsG<4P|z,"kT?uG<wC(F$
wwLNq#
}L
1. C$wwL+q!d;5qTsDG<#
2. C$wwL7(*"M=(F$wwLNqDG<#
3. TZ?uG<,C$wwLTwC(F$wwLNq4P|z# `{XkG
com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL#
4. (F$wwLNq+4PBPYw:
a. S Content Manager 0kd; XML "+d#f=Y1D~P#
b. U/5qTsDyPVN,"4(;v*+]x ETL $_Dd?# TZUZq
=T0UZk1dq=,h*xPXb&m#
c. 4( ETL 73#
d. hCk>X&CLr~qw JNDI D TRIRIGA ,S#
e. 9C ETL API KPCd;#
f. g{&mZd"zms,G4+r$wwL5X false,qr5X true#
KP ETL (F$wwLNqf6C$wwL+TyPd;5qTsG<4P|z,"kT?uG<wC(F$wwL
Nq#C(F$wwLNq|,Q(eDf6#
kT?vd;5qTswC(F$wwLNq1,+TgB==&mdPDVN:
1. triTransformBI VNXn,"CZfETy*KPDd; XML D~D}C#
2. triBONamesTX VN(g{fZ)+bv*T:EVtD5qTs{FPm# (F$
wwLNq+4( ${BO.<boName>.TableName} N=Dd?#}g,g{CVN|
, triBuilding,G4 ETL E>P+fZ ${BO.triBuilding.TableName} d?# Kd
?|,CZf" triBuilding G<D}]bmD5J{F# IZ5qTs{FI\;
G(;D,rKzIT!q9C <moduleName>::<boName> N=48(#i,b+
zzT&D ${BO.<moduleName>::<boName>.TableName} d?#}g,
Location::triBuilding Z ETL E>Pw*d? ${BO.Location::triBuilding.TableName}
xfZ#
3. triModuleNamesTX VN(g{fZ)+bv*T:EVtD#i{FPm# (F$
wwLNq+4( ${Module.<moduleName>.ViewName} N=Dd?#
56 © Copyright IBM Corp. 2011, 2015
Z 3 B H?
H?Gz#{b?DYw?j#yP TRIRIGA H?<9C`,DH?<uM}],+
;,DH?P;,DC>#
H?C>V*TB=n:
('8j
b)H?CZb?wL(',T7(*K5VDxxIT4PDYw# (#,
b?5*HJ"YVHrV}# ('8j_P?j"P5"Ywu~"IFJ
TMYwNq&\#
VvM(fH?
b)H?GCZT`X('8jxP#f(frx;=VvDE"# KE"T
Z,VvM<=xTG#PC,rK9CKT\\m&CLrDH?&\# V
vH?M(fH?;_P?j"P5"Ywu~"IFJTMYwNq# TZ
KH?`M,a{"?jM4,VNDX|H?5*U#
PX|`E",kND6IBM TRIRIGA 10 $w!y('\mC'8O7#
H?(f
H?(f9CB5mP(eD,MB5VN4m>X(DH?Fc#H?(fT>%
vH?D[/5#
?vC'DG+DH?(f/O+T>ZE'x>D“w3”3fT0T\\mwP#
Z*s+>D73(F TRIRIGA m~1,k;*T;6DH?(fxP`-r^D#
z&CD*(}4FVPH?(f,+dX|{"TdxP`-,r_(}4(+B
DH?(f44(\zDH?(f# Z“#i”}KwhC* triMetricFact,“T>`M”
}KwhC*“H?”,"R“{F”}KwhC*“H?”DivB,(}RD(f > 53
(fi4H?(f# *i4kH?<N(f`XDH?mq(f,k+“{F”}Kwh
C*“`X(f”#
?vH?(f<IBP*XiI:
j!76
bG;n{CKVc,DXb(fXT,|9(fC'\;ZcNa9POB
F/#
}Kw 9(fC'\;|D*Z(fPT>D}]r_xP}]}K#
H?Fc
H?,bG(fDw*9c#
`X(f
T>H?(fD|`}](PI\GGH?}])#
PX|`E",kND IBM TRIRIGA Application Platform 3 Reporting User Guide#
© Copyright IBM Corp. 2011, 2015 57
X|H?
“GV(”E'x>|,“X|H?”xN,b)xNCZ+`vH?U/=%vS<P#
Z*zDi/z9(F TRIRIGA 1,k;*T;6DX|H?xP`-r^D# z&
CD*4Fb);6DX|H?,+dX|{,;sxP`-,Sx4(\zDX|
H?# mb,z9IT4(+BDX|H?E'x>xN#
6IBM TRIRIGA Application Platform 3 C'eiC'8O7{vK9CGV(9(w
"E'x>9(wM<=9(w4hCE'x>D}L#
a>:
v Z“GV(”m%Di/!n(P,k8(yP*ZK“X|H?”E'x>xNPD“
!(i/”xNPT>Di/#
v +“GV(”Ek<=n1,k8(“1!(f”#
v C'Zd“w3”E'x>0dT\\mwPF/1,yei=Dl&1dI\Py
d/# Kl&1dk“GV(”P|(DH?}T0?vH?3sD}]?1S`X#
}Kw=+7,T\=C#
m%H?
m;VT>H?D=(G9Cm%S<#
Zm%PT>H?G(}Zm%P(ei/xN5VD,dP,y}CDi/GH?
i/# ITTCH?i/y!qD}]xP}K,9dy]SPT>Cm%D8G<4
T># `XD(fP;9z\;;;yZC'YwDi/#
ZhF1,(e;v_P $$RECORDID$$ M $$PARENT::[Section]::[Field]$$ }KwDH?i/# ZKP1,SPT>m%D8G<T~===TH?i/}f!qT>D
}]xP}K#
zIT+d{H?i/(e*`X(f# ZKP1,Zkm%`XD(fPT>CH?
i/1,P;X~9C'\;;;yT>Di/#
}]}K
Zm%PT>H?.0,+T}]xP}K#
ZKP1,ZKPi/.0:
v $$RECORDID$$ }Kw+f;*}ZSPT>m%D8G<DG<j6#
v $$PARENT::[Section]::[Field]$$ }Kwbv*Q(eD8G<VND5#
v g{Z8G<b?T>H?i/,G4+vTyPT8ztPD}Kw,}g
$$RECORDID$$ M $$PARENT::[Section]::[Field]$$#
kTB5mP(e*j!76DVN,(e $ $ R E C O R D I D $ $ M
$$PARENT::[Section]::[Field]$$ }Kw#g{H?kT3vLrrV`xP}KR9
CKb)}Kw,G4+T`FZSj!76PmPxP!qD==Yw#|9kT
8(DG<xP}K,"|(CG<DyPSz#
58 © Copyright IBM Corp. 2011, 2015
g{TVc}Kw8(K $$PARENT::[Section]::[Field]$$ }Kw5,G48VN*Null `1Z!qj!76DyZc# |9|(yPky5%dDG<# GVc}Kw
P*kG)Z8VN5* Null 1_P Null 5DG<D;vr`v5qTsi/}Kw
G#`F#
$$RECORDID$$ M $$PARENT::[Section]::[Field]$$ }KwDP*Mq|GGKP1}Kw;y,+|GD5S8G<+]#
g{H?i/_PkT,;VN(eD $ $ R U N T I M E $ $ M
$$PARENT::[Section]::[Field]$$ }Kw,G4Zm%ZT>i/1,+;a9C$$RUNTIME$$ }KwX~# +D*9C $$PARENT::[Section]::[Field]$$ PD5w*}Kw5#
S(f
m%H?IT,1|,mqS(fM<NS(f#
mqS(fCZ(eT\\mwD`X(f#GmqS(fm>ITZm%PP;D
H?<#
mq(fM<N(f<ITmS=H?i/D“S(f”xNP# ZKP1,T\\mw
v+mq(fT>*“`X(f”,m%i/xNPDH?v+<N(fw*“S(f”x
N;;X~PD!n#
S(fD`M(}gH?"i/r(f)+T>Z(f9(wD“S(f”xNP# TZ
H?i/,“mqdv”j>IC#
H?i/IT+d{H?i/T>*S(f#
Z 3 B H? 59
60 © Copyright IBM Corp. 2011, 2015
Z 4 B cNa9=f/w
TRIRIGA Application Platform PcNa9D(e*_P`v}]cNa9EP(}g
i/)D5Va)KinT# +G,(f$_#{9C|Sa9/D}]**,Tr/
(f"ns^HXa_T\#
cNa9=f/w$_DC>G)\m1(e;iQ|{Da9,b)a9I TRIRIGA
H?(f}fCZlY&m53PDVc}]# zIDa9F*=fcNa9,b)a
9+ZH?(fP9C#
\m19Cw5wHLrZ ETL w5nDozBKPcNa9=f/wxL# 53*
"_9C(F$wwLNq4%"KxL# ZbVivB,CZKPcNa9=f/w
xLD`{G
com.tririga.platform.workflow.runtime.taskhandler.flathierarchy.RebuildFlatHierarchies
Application Building for the IBM TRIRIGA Application Platform 3 T9C(F$wwL
Nq%"KxLwKV[#
*c:?1 TRIRIGA PDcNa9"z|D1,cNa9w<+8YxP|B# }
g,Y(zmSKBD triBuilding,G4;CcNa9+xP|B# +G,1=z9C
X(cNa9w5nX( triBuilding D`&=fcNa91,Ea|BC=fcNa
9#rK,+X(cNa9w5n2EZzF.(}B5m6q TRIRIGA Workplace
Performance Management }]1KP.VX*# X(cNa9w5nIT7##VE
"nB#
=fcNa9
cNa9(e@5Z=f/yyZDZ]# =fcNa9ITyZ8(#iDcNa9
Dj<8SX5# =fcNa92ITyZ#icNa9PDX(6p0dwT5qT
s#
?vcNa9(e<|,%v7G<,CZj6cNa9{F"#iMcNa9`
M# cNa9{FCZhvCcNa9,x#iGCcNa9ym>D#i# =f/
}L9CcNa9`M4KbgN+}]=f/# 2P=VcNa9`M,4}]Mm
%#
}]cNa9y]y8(#iDcNa9Dj<8SX5+}]76=f/#KcN
a9`M;_PQ|{D6p,bGr* TRIRIGA Application Platform &CLrJm
Z#icNa9PD,;vom6pm>;,`MD}]# }g,;CcNa9I\_
P;/z"(~oM%cD}],"_P(~oM%cD}]# rK,cNa9PDZ
;v6p+,1|,;/zM(~oD}],Z~v6p+,1|,(~oM%cD
}]#
m%cNa9CZy]y8(#iDcNa9D8SX5T0m>6pD5qTs+
}]76=f/# ?v6p;\I;v5qTsm>#
© Copyright IBM Corp. 2011, 2015 61
?vm%cNa9<Xk8(|,6pEDT=6p"C6pym>D5qTsT0
`M# =f/}L9C`M4KbgNR=C6pD}]# `MP}v!n:iR"
vTM]i#
v `M5*iR1,53+Z5}}]DS6pPQwX(_L,1AR=y8(m
%DG<*9# g{R;=NNG<,G4+vTcNa9(ePDd`6p,"R
;a*C_L4(|`=f}]# g{R=3uG<,G453+*CZc4(=f
}]G<,"0x=(ePDB;v6p# K==a)K+w[~Tc|CXk5q
}]#V;BD\&#
v `M5*vT1,53+Zns;v8zDB;v6pQw8(Dm%#g{R;
=NNG<,G453+*K6p4(;vd6,"0x=(ePDB;v6p# g
{R=3uG<,G453+*CZc4(=f}]G<,"0x=(ePDB;
v6p# K==a)K+w9*Tc|CXk5q}]#V;BD\&# *K=c
jI(f}L,XkTb)d68({Frj)# k9CcNa9\mwPDd6j
)545VK?D#
v `M5*]i1,53+Z5}}]DS6pPQwX(_L,1AR=y8(m
%DG<*9# g{R;=NNG<,G4+vTcNa9(ePDd`6p,"R
;a*C_L4(|`=f}]# TZR=D?vG<,53H*CZc4(;v=
f}]G<,;sY0x=(ePDB;v6p#
=fcNa9D>}
zITN<=fcNa9>},Tc|CXKb=fcNa9(eDa9#
y>=fcNa97G<
BmT>KyZcNa9PD#iD=fcNa9>}:
m 13. y>7G<
cNa9{F #i cNa9`M
UdcNa9 ;C GUI
AXcNa9 ;C GUI
GPcNa9 Xm;C GUI
j{;CcNa9 ;C }]
j{i/cNa9 i/ }]
Z?i/cNa9 i/ GUI
b?i/cNa9 i/ GUI
y>=fcNa96pG<
BmT>KyZcNa9PD6pD=fcNa9>}:
m 14. y>=fcNa96pG<
cNa9{F 6p`E m% iR#i
UdcNa9 1 o5 vT
UdcNa9 2 (~o iR
UdcNa9 3 %c iR
UdcNa9 4 Ud ]i
62 © Copyright IBM Corp. 2011, 2015
m 14. y>=fcNa96pG< (x)
cNa9{F 6p`E m% iR#i
Z?i/cNa9 1 +> iR
Z?i/cNa9 2 V+> vT
Z?i/cNa9 3 ?E ]i
cNa9\mw
zIT9CcNa9\mw4(ecNa9M6pE"# cNa9\mwa)K%vg
f,CZ4("|BM>}=fcNa9#
CJcNa9
*mS"^Dr>}cNa9,kCJcNa9&\#
}L
1. %w$_ > 9(w$_ > }](#w#
2. %w5CLr#
3. %wcNa9#
4(}]cNa9
}]cNa9y]y8(#iDcNa9Dj<8SX5+}]76=f/# 4(}]
cNa91,;h*Q|{D6p,bGr*Z#icNa9PD,;om6pIT
m>;,`MD}]#
}L
1. %w4(cNa9#
2. Z{FVNP,dk{FThvCcNa9ym>DZ]#
3. S#iPmP,!qC}]cNa9D`X#i#
4. ScNa9`MPmP,!q}]#
5. %w4(#
6. %w#f,;s%wXU#
4(m%cNa9
m%cNa9CZy]y8(#iDcNa9D8SX5T0m>6pD5qTs+
}]76=f/# 4(m%cNa91,?v6p;\I;v5qTsm>#
}L
1. %w4(cNa9#
2. Z{FVNP,dk{FThvCcNa9ym>DZ]#
3. S#iPmP,!qCm%cNa9D`X#i#
4. ScNa9`MPmP,!qm%#
5. %w4(# b+T>“6p”xN# kdkZ 1 6m%DE"#
6. S5qTsPmP,!q`X5qTs#
Z 4 B cNa9=f/w 63
7. Sm%PmP,!q`Xm%#
8. S`MPmP,!qiR# d6j)GzS`MPmP!qvT"RR;=G<1
8(Dj)#
9. %w#f#
10. Lxdk"#fE",1=(eKyP6p*9#
11. %w#f,;s%wXU#
64 © Copyright IBM Corp. 2011, 2015
Z 5 B B5m
B5mI5qwLDb?"H?rB5iI# B5mPf"D}]CZFcH?(fP
DH?#
B5mE"yZ;6D TRIRIGA Workplace Performance Management M TRIRIGA Real
Estate Environmental Sustainability z7#s+>D5VI\Py;,#
?vB5m<P;vCZ0k}]Mm;vCZe}}]D ETL# CZe}}]D
ETL D{FT“- e}”a2,}g(~oI>B5 - e}# *i4 ETL,k%w$_
> 53hC > ETL w5n#
'VDB5mMH?DPm
zITN<s+>D TRIRIGA 5VP'VDB5mMH?DPm#
CJB5m
%w$_ > 9(w$_ > }](#w#
R= triMetricFact "+d!P,TT>B5m5qTsDPm#
CJH?
%w$_ > 9(w$_ > (f\mw > 53(f#
45qTsM#ixP}K,TcTH?E"xPEr"q!`X(fPm#
a>:#FM# m>H?2G53PDm%H?#
h*XbG(mM ETL DB5TZs?VB5mxT,0kQf"D}]TFcH?D}LO*r%# +G,?VB
5mh*XbDG(mM ETL 4ozdjI0k}L#
BmT>Kh*XbG(mM ETL DB5:
m 15. h*XbG(mM ETL DB5
B5m{ B5m5qTs
Fq** triFinancialSummary
j<1} triStandardHours
j<1}j8E" triStandardHoursDetails
JzVv?!1B5 triAssetAnalyticHFact
Jz\4{Q?UB5 triAssetEnergyUseDFact
Jz\4{Q?!1B5 triAssetEnergyUseHFact
Jz\4{Q?BB5 triAssetEnergyUseMFact
© Copyright IBM Corp. 2011, 2015 65
St ETL3) ETL @?d{ ETL ozjI0k}L#
BmT>K@5Zd{ ETL D ETL:
m 16. St ETL
B5m{ B5m5qTs
“(~oI>B5XI”ETL K ETL @5ZFq**mPfZICD}]#
Fq**mITIFq53sK/I0k,2
IT9CQzFq** Excel wL0k# *K
=cjIQzFq** Excel wL,P;vX
bD ETL CZ+}]S Excel/QzwLFM=
Fq**m# Z;6D TRIRIGA Workplace
Performance Management P,XbD ETL {*
“SQzG(x0kFq**”M“SQzG(x
e}Fq**”# g{*9CQzFq**
Excel wL4<kFq**}],G4XkHK
P“SQzG(x0kFq**”ETL# ;s,
XkKP“(~oI>B5XI”ETL#
“(~oB5XI”ETL K ETL @5ZFq**mPfZICD}]#
Fq**mITIFq53sK/I0k,2
IT9CQzFq** Excel wL0k# *K
=cjIQzFq** Excel wL,P;vX
bD ETL CZ+}]S Excel/QzwLFM=
Fq**m# Z;6D TRIRIGA Workplace
Performance Management P,XbD ETL {*
“SQzG(x0kFq**”M“SQzG(x
e}Fq**”# g{*9CQzFq**
Excel wL4<kFq**}],G4XkHK
P“SQzG(x0kFq**”ETL# ;s,
XkKP“(~oB5XI”ETL#
“J4B5XI”ETL @5Z“j<1}XI”ETL#
“j<1}XI”ETL @5Z“j<1}j8E"XI”ETL#
“Jz?UB5”ETL
“Jz?!1B5”ETL
“Jz?BB5”ETL
b) ETL @5ZG(mPfZICD}]#
G(mXk_P(C`M# G(mXk|,X
(DVN# G(mITI(~o\m53sK
/I0k# G(m2IT(} ETL Sb?}
]b}k}]4jI0k#
PX|`j8E"(|(y>G(mMy>
ETL),kND/I~q\mJOb#
66 © Copyright IBM Corp. 2011, 2015
yw
>E"G*Z@zzZ)&Dz7M~qx`4D#ITS IBM q!>JODd{o
Tf>#+G,zI\h*5PCoTDz7rz7f>1>E\CJ>JODCo
Tf>#
IBM I\Zd{zRrXx;a)>D5PV[Dz7"~qr&\XT# PXzy
Zxr10IqCDz7M~qDE",krz1XD IBM zmI/# NNT IBM
z7"Lrr~qD}C"GbZw>r5>;\9C IBM z7"Lrr~q# ;*
;V8 IBM D*6z(,NN,H&\Dz7"Lrr~q,<ITzf IBM z7
"Lrr~q#+G,@@Mi$NNG IBM z7"Lrr~qDYw,IC'TP
:p#
IBM +>I\Q5Pr}Zjkk>D5yvZ]PXDwn({# a)>D5";
b6EZhC'9Cb)({DNNmI# zITCifN=+mIi/Dy:
IBM Director of Licensing
IBM Corporation
North Castle Drive, MD-NC119
Armonk, NY 10504-1785
US
PX+VZV{/ (DBCS) E"DmIi/,kkzyZzRrXxD IBM *6z(
?E*5,rCif==+i/Dy:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan Ltd.
19-21, Nihonbashi-Hakozakicho, Chuo-ku
Tokyo 103-8510, Japan
International Business Machines Corporation“4V4”a)>vfo,;=PNNV`D
(^[Gw>D9G5,D)#$,|(+;^Z5,DPXGV("JzMJCZ
3VX(C>D#$#3)\=xrZ3);WP;Jmb}w>r5,D#$# rK
>unI\;JCZz#
KE"I\|,<uOr!"ODms# +TKE"xP(ZD|D;b)|D+`k
CvfoDB^)fP# IBM ITf1T>vfoPhvDz7M/rLrxPDxM/
r|D,x;mP(*#
>E"PTG IBM Web >cDNN}C<;G*K=cp{Ea)D,;TNN==
d1TG) Web >cD#$#G) Web >cPDJO;G IBM z7JOD;?V,
9CG) Web >cx4DgU+IzTPP##
IBM IT4|O*J1DNN==9CrV"zya)DNNE"x^kTzP#NN
pN#
© Copyright IBM Corp. 2011, 2015 67
>LrD;mI=g{*KbPXLrDE"To=gB?D:(i) 9d\;Z@"4(
DLrMd|Lr(|(>Lr).dxPE";;,T0 (ii) 9d\;TQ-;;D
E"xP`%9C,kkBPX7*5:
IBM Director of Licensing
IBM Corporation
North Castle Drive, MD-NC119
Armonk, NY 10504-1785
US
;*qXJ1Du~Mun,|(3)iNBD;(}?D6Q,<IqCb=fD
E"#
>JOPhvDmILr0dyPICDmIJOyI IBM @] IBM M'-i"IBM
zJm~mI-irNN,H-iPDuna)#
K&}CDT\}]MM'z>}vCZhv?D#5JT\a{I\rX(dCM
Ywu~xl#
f0G IBM z7DE"ISb)z7D)&L"dvf5wrd{I+*qCDJO
Pq!# IBM ;PTb)z7xPbT,2^(7OdT\D+7T"f]TrNN
d{XZG IBM z7Dyw#PXG IBM z7T\DJb&1rb)z7D)&L
av#
XZ IBM 44=rrbrDywIf1|DrUX,x;mP(*,|Gvvm>K
?jMb8xQ#
>E"|,U#5qKwy9CD}]M(mD>}# *K!I\j{X5wb)>
},>}PI\a|(vK"+>"7FMz7D{F# yPb){V<Gi9D,t
V5znP5JK1r5qs5kK`F,?tIO#
f(mI$:
>E"|,4oTN=Dy>&CLr,CT{wZ;,Yw=(OD`L<u# g{
G*4UZ`4y>LrDYw=(OD&CLr`LSZ (API) xP&CLrD*"
"9C"-zrV"*?D,zITNNN=Tb)y>LrxP4F"^D"V
",x^kr IBM 6Q#b)>}P4ZyPu~B-}+fbT# rK,IBM ;
\##r5>b)LrDI?T"I,$Tr&\#b)y>Lr“4V4”a),;
=PNNV`D#$# TZ9CKy>Lry}pDNNp5,IBM +;P#pN#
2b)5}LrD?]=4rdNN?VrNN\zz7,<Xk|(gBf(yw:© (s+>D{F)(j)#
K?VzkGy] IBM +>Dy>Lr\zv4D#© Copyright IBM Corp. (dkj]).
Lj
IBM"IBM UjM ibm.com LjG International Business Machines Corp. Z+rm`
\=xrDLjr"aLj# d{z7M~q{FI\G IBM rd{+>DLj# n
BD IBM LjPmITZ Web >c“f(MLjE"”Pq!,X7gB:
www.ibm.com/legal/copytrade.shtml#
Java™ MyPyZ Java DLjMUjG Oracle M/rdS+>DLjr"aLj#
68 © Copyright IBM Corp. 2011, 2015
Linux G Linus Torvalds Z@zM/rd{zRrXxDLj#
Microsoft"Windows"Windows NT M Windows UjG Microsoft Corporation Z@z
M/rd{zRrXxDLj#
UNIX G The Open Group Z@zMd{zRrXxD"aLj#
d{z7M~q{FI\G IBM rd{+>DLj#
z7D5DunMu~
y]BPunMu~Zhb)vfoD9C(#
JCT
b)unMu~GT IBM Web >cPDNN9CunD9d#
vK9C
zIT*KvK9CxGL5T9C4Fb)vfo,+0aG#tyP(P(y
w# 4- IBM w7mI,;\V"r9>b)vfordPNN?V,2;\Fwd
\zz7#
L5T9C
zvIZs+>Z?4F"V"MT>b)vfo,+0aG#tyP(P(yw# 4
- IBM w7mI,z;CZs56'TbFwb)vfoD\zz7,r_4F"V
"rT>b)vfordPNN?V#
({
}G>mI(Pw7Zh,qr;CZhTb)vfordP|,DNNE""}]
"m~rd{*6z(DNNmI("mI$r({,^[w>D9G5,D#
;* IBM O*b)vfoD9Cap&d{fr_ IBM P(4}7qXOv8>E
",IBM +P(7z>DZhDmI(#
z;CBX"vZrYvZb)E",}Gj+qXyPJCD(IM(f(|(y
PD@zvZ(IM(f)#
IBM Tb)vfoDZ];wNN#$# b)vfo“4V4”a),;=PNNV`
D(^[Gw>D9G5,D)#$,|(+;^Z5,DPXJz"GV(MJC
Z3VX(C>D#$#
IBM xO~=yw
|(m~4~qbv=8ZZD IBM m~z7(TBrF“m~z7”)I9C cookie
rd{<u4U/z79CivE",TozDFnUC'ei"^DknUC'D
;%rCZd{?D#Zm`ivB,m~z7;U/vKIj6E"# ?Vm~z7
IozzU/vKIj6E"# g{Cm~z79C cookie 4U/vKIj6E",
G4PXCz79C cookie D_eE"gByv#
yw 69
Cm~z7;9C cookie rd{<u4U/vKIj6E"#
g{*Cm~z7?pDdC9z\;qM';y(} cookie Md{<uSnUC'U
/vKIj6E",G4z&CI/JCZC}]U/DNN(I,|((*MmI
DNNhs#
PX9CwV<u(|( cookie)D|`E",kND“Cookies, Web Beacons and Other
Technologies”BZPD IBM’s Privacy Policy (http://www.ibm.com/privacy) M IBM’s Online
Privacy Statement (http://www.ibm.com/privacy/details),T0“IBM Software Products and
Software-as-a-Service Privacy Statement”(http://www.ibm.com/software/info/product-
privacy/)#
70 © Copyright IBM Corp. 2011, 2015
IBM®
Printed in China