zOs/SQL/EXPVIIAA

DECLARE GLOBAL TEMPORARY TABLE
    IDS (GM CHAR(16) ,ZV CHAR(16), pp char(4))
;
  CREATE UNIQUE INDEX SESSION.XIDS
      ON SESSION.IDS (GM ASC, zv asc)
;
INSERT INTO SESSION.IDS
WITH J AS
  ( SELECT T.*
        FROM oa1a.TMF150A1 T, oa1a.VMF202A1
        WHERE MF150085 IN(0,10)
          AND MF150084 IN(0,2)
          AND MF150060 BETWEEN TEV_TIMESTAMP AND
  TRANSLATE('7890-45-12',TEV_DAT_NEXT,'1234567890')!!'-23.00.00.000000'
          AND MF150003 IN('CNGM1','CNZV1')
          AND MF150009 = '00805'
  )
SELECT GM.MF150001   , ZV.MF150001,
        left(GM.MF150001, 1) || substr(GM.MF150001, 10, 1)
     || left(ZV.MF150001, 1) || substr(ZV.MF150001, 10, 1)
    FROM J GM, J ZV
          WHERE   GM.MF150003 = 'CNGM1'
            AND   ZV.MF150003 = 'CNZV1'
            AND   GM.MF150009 = '00805'
            AND   ZV.MF150009 = '00805'
            AND   ABS(ZV.MF150018) BETWEEN ABS(GM.MF150018)
                                   AND     ABS(GM.MF150018) * 1.06
  -- group by GM.MF150001
;
select gm, min(zv) from session.ids group by gm;
select * from session.ids;
SELECT i.pp, m.* FROM session.ids i, oa1a.VMF150A1V m
    WHERE m.ID_MITTELFLUSS = i.gm
union SELECT i.pp, m.* FROM session.ids i, oa1a.VMF150A1V m
    WHERE m.ID_MITTELFLUSS = i.zv
;
rollback
;
xelete   FROM OA1P.VMF150A1V
    WHERE ID_MITTELFLUSS IN (SELECT gm FROM SESSION.IDS )
;
xelete   FROM OA1P.VMF150A1V
     where ID_MITTELFLUSS IN (SELECT zv FROM SESSION.IDS )
;
rollback
;