Danke euch Beiden!
Das von Pikachu muss ich noch prüfen.
Ansonsten hab ich das Problem jetzt tatsächlich mit nem dmpobj umgangen:
DMPOBJ OBJ(LIB/PGM) OBJTYPE(*QRYDFN)
CPYSPLF FILE(QPSRVDMP) TOFILE(QTEMP/SPOOLPF) CTLCHAR(*FCFC)
Code:
with Dump as ( select row_number() over() rw , substr(info, 89, 32) info
from qtemp/spoolpf),
Stern as (
select rw
from dump
where info like '%*%')
select substr(info, locate('*CHANGE', info) -38, 10) Fil,
substr(info, locate('*CHANGE', info) -26, 10) Lib,
substr(info, locate('*CHANGE', info) -14, 10) Mbr,
substr(info, locate('*CHANGE', info) -2, 1) Typ
from (
select d2.info concat d1.info concat d3.info info
from dump d1
join stern on d1.rw = stern.rw
join dump d2 on d1.rw-1 = d2.rw
join dump d3 on d1.rw+1 = d3.rw
) a where substr(info, 40) like '%*CHANGE%'
fetch first row only
Jetzt nur noch anhand der Infos den SQL vervollständigen.
Bookmarks