Yupp das ist der OBJECT_LOCK_INFO der genauso lange braucht

SELECT COALESCE(A.OBJLONGNAME ,'') AS SCHEMA, COALESCE(B.OBJLONGNAME ,'') AS OBJNAMLONG, COALESCE(A.OBJNAME,'') AS OBJLIB, COALESCE(S2.OBJNAME,''), C.MEMBER_NAME, COALESCE(M.OBJECT_TYPE,''), B.SQL_OBJECT_TYPE, COALESCE(B.IASP_NUMBER,0), CASE B.IASP_NUMBER WHEN 0 THEN '*SYSBAS' ELSE COALESCE(C.ASPGRP, '*SYSBAS') END CASE, C.MEMBER_LOCK_TYPE, COALESCE(C.LOCK_STATE,''), COALESCE(C.LOCK_STATUS,''), COALESCE(C.LOCK_SCOPE,''), COALESCE(C.JOB_NAME,''), C.THREAD_ID, C.LOCK_SPACE_ID, COALESCE(C.LOCK_COUNT,0), C.LIBRARY_NAME, C.PROGRAM_NAME, C.MODULE_LIBRARY_NAME, C.MODULE_NAME, C.PROCEDURE_NAME, C.STATEMENT_ID, C.MI_INSTRUCTION FROM (SELECT OBJLONGNAME, OBJNAME FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALLSIMPLE', 'LIB',NULL)) AS L) AS A, LATERAL (SELECT OBJECT_TYPE FROM QSYS2.OBJTYPES) AS M, LATERAL (SELECT OBJNAME FROM TABLE(QSYS2.OBJECT_STATISTICS( A.OBJNAME,M.OBJECT_TYPE,'*ALLSIMPLE') ) AS X WHERE M.OBJECT_TYPE <> '*LIB' OR (M.OBJECT_TYPE = '*LIB' AND A.OBJNAME = 'QSYS')) AS S2 , LATERAL (SELECT OBJNAME, OBJLONGNAME, OBJTYPE, SQL_OBJECT_TYPE, IASP_NUMBER FROM TABLE(QSYS2.OBJECT_STATISTICS(CHAR(A.OBJNAME,10), M.OBJECT_TYPE ,S2.OBJNAME)) AS Q ) AS B, LATERAL (SELECT * FROM TABLE(QSYS2.OBJECT_LOCK_INFO(CASE WHEN B.OBJTYPE = '*LIB' THEN 'QSYS' ELSE QSYS2.FCTO7F(A.OBJNAME) END, QSYS2.FCTO7F(B.OBJNAME), B.OBJTYPE,B.IASP_NUMBER )) AS E) AS C

Wobei der RECORD_LOCK_INFO noch etwas tiefer geht und die Satznummer mit ausgibt.