Перечисление объектов во всех библиотеках внутри QSYS.LIB - PullRequest
0 голосов
/ 28 мая 2018

Существует довольно много исчерпывающей информации о таблицах (PF, включая PF-SRC, LF и т. Д.), Хранящихся в QSYS2.SYSTABLES.

Однако, когда дело доходит до перечисления всех объектов (например, включая * 1007)*, SRVPGM, DTAQ, DTAARA и т. Д.) В какой-то библиотеке существует единственный источник информации?

Интересно, можно ли запрашивать такую ​​информацию без предоставления *ALLOBJ privellege, еслинужно только узнать имя и тип файла?

Сейчас единственное, что приходит на ум, - это полагаться на SYSTABLES и перечислять все объекты, связанные с PF + LF.Затем определите источник, из которого были скомпилированы эти объекты (если есть), и помолитесь, чтобы остальные объекты были также скомпилированы из этого источника.

Однако это не поможет, если был источник, скажем, PGM -только.

Есть идеи?

1 Ответ

0 голосов
/ 29 мая 2018

Проверьте 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, чтобы быстро вернуть список, опуская подробную информацию.

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