Hi peter, really great, works perfect.
I modified it so it works perfect for me:
WITH COUNTER (N) AS (
SELECT CAST(N AS INT) FROM (VALUES (1)) TMP(N)
UNION ALL
SELECT N+1 FROM COUNTER WHERE N < 100),
FEX AS(
SELECT QWQREPOS.QWQBTOU(BCONTENT) AS CODE, T2.OBJNAME, T2.PRT_PATH, REPLACE(T2.PRT_PATH || '/' || T2.OBJNAME, '/WFC/Repository/', '') AS PATH
FROM QWQREPOS.WF_CONTENT_REVS T1
INNER JOIN QWQREPOS.WF_REPOSOBJ T2 ON T1.OBJ_HANDLE = T2.HANDLE)
SELECT
SUBSTR(REPLACE(TRIM(PATH), TRIM(OBJNAME), ''), 1, LENGTH(REPLACE(TRIM(PATH), TRIM(OBJNAME), '')) - 1) AS REPORT_PATH,
OBJNAME AS REPORT_NAME,
CASE WHEN POSITION('/', SYNONYM) > 0
THEN SUBSTR(SYNONYM, 1, POSITION('/', SYNONYM) - 1)
ELSE ''
END AS SYN_PATH,
TRIM(
CASE WHEN POSITION('/', SYNONYM) > 0
THEN SUBSTR(SYNONYM, POSITION('/', SYNONYM) + 1, LENGTH(TRIM(SYNONYM)))
ELSE SYNONYM
END) || '.mas' AS SYNONYM_NAME
FROM (
SELECT DISTINCT
N, REGEXP_COUNT(CODE,'(TABLE FILE\s+|TO.* IN\s+)(\S+)') AS N1,
TRIM(CAST(REGEXP_SUBSTR(CODE,'(TABLE FILE\s+|TO.* IN\s+)(\S+)',1,n, 'i', 2) AS VARCHAR(150))) AS SYNONYM,
TRIM(OBJNAME) AS OBJNAME,
TRIM(PATH) AS PATH
FROM FEX CROSS JOIN COUNTER
WHERE N = 1 AND IFNULL(REGEXP_COUNT(CODE,'(TABLE FILE\s+|TO.* IN\s+)(\S+)'), 0) <> 0)
Only two lines I don't understand, maybe you can explain me?
The lines with REGEXP_COUNT and REGEXP_SUBSTR
regards mike
#Db2#Support#SupportMigration