QSYS2 - Récupérer la description d'un objet (DSPOBJD) avec QSYS2.OBJECT_STATISTICS
Objectifs :
La commande CL DSPOBJD permet de récupérer les informations relatives à un objet donné.
Il est possible de récupérer pratiquement toutes ces informations avec SQL grâce à la fonction table QSYS2.OBJECT_STATISTICS.
Table :
QSYS2.OBJECT_STATISTICS
Cette fonction table contient différentes informations en fonction du type d’objets (*FILE, *PGM, *DTAARA, *OUTQ…).
Voici ci le lien vers le site IBM décrivant cette table : OBJECT_STATISTICS table function – IBM Documentation
Exemples d'utilisation
Récupérer la description d'un objet donné :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘mon_type_objet’, ‘mon_objet’) );
Exemple:
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bib’, ‘*PGM’, ‘prog_1’) );
Lister tous les objets d'une bibliothèque :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*ALL’) );
Lister tous les types d'objets d'une bibliothèque :
SELECT DISTINCT(OBJTYPE) FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*ALL’) );
Lister tous les objets d'un type donné d'une bibliothèque :
Tous les fichiers :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*FILE’) );
Tous les programmes :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque‘, ‘*PGM’) );
Tous les programmes de service :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*SRVPGM’) );
Tous les programmes ET tous les programmes de service :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*PGM *SRVPGM’) );
Tous les modules :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*MODULE’) );
Toutes les data aéras :
SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*DTAARA’) );
…
Tous les types d’objets peuvent être ainsi sélectionnés.
Lister les informations de dernière utilisation :
SELECT OBJNAME,
OBJTYPE,
OBJATTRIBUTE,
OBJTEXT,
LAST_USED_TIMESTAMP,
DAYS_USED_COUNT
FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*ALL’) )
ORDER BY DAYS_USED_COUNT DESC;
Rechercher les sources à l'origine de la compilation des objets :
SELECT OBJNAME,
OBJTYPE,
OBJATTRIBUTE,
OBJTEXT,
SOURCE_FILE,
SOURCE_LIBRARY,
SOURCE_MEMBER,
SOURCE_TIMESTAMP,
CREATED_SYSTEM
FROM TABLE (QSYS2.OBJECT_STATISTICS(‘ma_bibliotheque’, ‘*PGM’, ‘mon_programme_rpg’) )
ORDER BY DAYS_USED_COUNT DESC;
Attention pour les programmes ILE ces informations ne sont pas disponibles avec QSYS2.OBJECT_STATISTICS, il faut pour ces objets utiliser QSYS2.PROGRAM_INFO et QSYS2.BOUND_MODULE_INFO.