fr en

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.