正在枚举 QSYS.LIB 内所有库中的对象

Enumerating objects in all libraries inside QSYS.LIB

有关表(PF 包括 PF-SRCLF 等)的详尽信息位于 QSYS2.SYSTABLES.

但是,当涉及到枚举某些库中的所有对象(例如,包括 PGMSRVPGMDTAQDTAARA 等)时,请使用单一来源信息存在?

我想知道如果只需要找出文件名和类型,是否可以在没有授予*ALLOBJ权限的情况下查询此类信息?

目前唯一想到的就是依赖SYSTABLES,枚举PF+LF相关的所有对象。然后确定这些对象的来源(如果有的话)并祈祷其余对象也从这些来源编译。

但是,如果有来源,例如,仅 PGM,这将无济于事。

有什么想法吗?

查看 OBJECT_STATISTICS UDTF。

查找图书馆 MJATST 中的所有期刊。

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','JRN') ) AS X;

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','*JRN') ) AS X ;

在图书馆 MJATST 中查找所有期刊和期刊收件人。

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','JRN JRNRCV') ) AS X;

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','*JRN *JRNRCV') ) AS X ;

在图书馆 MYLIB 中查找所有程序和服务程序。使用 *ALLSIMPLE 快速 return 列表,省略详细信息。

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MYLIB','PGM SRVPGM', '*ALLSIMPLE') ) AS X;