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'
                       );