Перечисление объектов во всех библиотеках внутри QSYS.LIB
Существует довольно много исчерпывающей информации о таблицах (PF
в том числе PF-SRC
,LF
и т. д.) проживает в QSYS2.SYSTABLES
,
Однако, когда дело доходит до перечисления всех объектов (например, включая PGM
, SRVPGM
,DTAQ
,DTAARA
и так далее) в какой-то библиотеке существует единственный источник информации?
Интересно, можно ли запросить такую информацию без *ALLOBJ
предоставляется privellege, если нужно только узнать имя и тип файла?
Прямо сейчас единственное, что приходит в голову, это полагаться на SYSTABLES
и перечислить все объекты, связанные с PF
+ LF
, Затем определите источник, из которого были скомпилированы эти объекты (если есть), и помолитесь, чтобы остальные объекты были также скомпилированы из этого источника.
Однако это не поможет, если бы был источник, скажем, PGM
-только.
Есть идеи?
1 ответ
Проверьте UDTF OBJECT_STATISTICS.
Найти все журналы в библиотеке 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, чтобы быстро вернуть список, опуская подробную информацию.
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MYLIB','PGM SRVPGM', '*ALLSIMPLE') ) AS X;