zOs/SQL/WIESEX
DECLARE GLOBAL TEMPORARY TABLE TT (
TYP CHAR(1) NOT NULL,
UWI CHAR(20) NOT NULL
)
;
CREATE INDEX X1 ON SESSION.TT (TYP, UWI);
SELECT * FROM SESSION.TT;
DROP TABLE SESSION.TT;
INSERT INTO SESSION.TT
SELECT 'D', TIS_UWI FROM OA1A01.VPC003A1A T1
WHERE EXISTS (
SELECT *
FROM OA1A01.VPC401A1A D
WHERE (D.CUSTOMERNO = T1.CIF# AND T1.TIS_LEVEL = '2')
OR (D.SAFEKEEPING_ACC_NO = T1.SKA# AND T1.TIS_LEVEL = '3')
OR (D.PROSPECTID = T1.PROSPECT# AND T1.TIS_LEVEL = '4')
);
XX
ON TIS.TIS_UWI = DEP.TIS_UWI
LEFT JOIN
(SELECT TIS_UWI FROM OA1A01.VPC003A1A T2
WHERE EXISTS (
SELECT *
FROM OA1A01.VPC400A1A PF,
OA1A01.VPC402A1A AC0
WHERE PF.PORTFOLIOID = AC0.PORTFOLIOID
AND ((AC0.CUSTOMERNO = T2.CIF# AND T2.TIS_LEVEL = '2')
OR (PF.SAFEKEEPINGACCNO = T2.SKA# AND T2.TIS_LEVEL = '3')
OR (AC0.PROSPECTID = T2.PROSPECT# AND T2.TIS_LEVEL ='4'))
)) AS ACC
ON TIS.TIS_UWI = ACC.TIS_UWI
LEFT JOIN
(SELECT TIS_UWI FROM OA1A01.VPC003A1A T3
WHERE EXISTS (
SELECT *
FROM OA1A01.VPC400A1A PF,
OA1A01.VPC403A1A G0
WHERE PF.PORTFOLIOID = G0.PORTFOLIOID
AND (( G0.CUSTOMERNO = T3.CIF# AND T3.TIS_LEVEL = '2')
OR (PF.PORTFOLIOID = T3.SKA# AND T3.TIS_LEVEL = '3')
OR (G0.PROSPECTID = T3.PROSPECT# AND T3.TIS_LEVEL ='4'))
)) AS GM
ON TIS.TIS_UWI = GM.TIS_UWI
WHERE TIS.CIF# IN ('054304995229', '088304445786' ,'083501938427',
'077708757104', '006803403163', '077707977500'
);