Outil de gestion des références croisées en CL et RPG.

Description de la commande

La commande DSPPGMREF permet de visualiser la liste des objets référencés dans un ou plusieurs programmes. En plus d’afficher et d’imprimer ces informations, il est possible de les envoyer dans un fichier AS/400 qu’il sera possible d’analyser par Query.

Prenons un exemple : on souhaite analyser les références contenues dans le programme IT919UJ de la bibliothèque DEVFIC. Pour cela on saisit la commande DSPPGMREF et on presse la touche F4 pour obtenir un écran que l’on va renseigner comme ci-dessous (les données sont envoyées dans le fichier PGMREF de la bib. DEVFIC) :

Afficher références programmes (DSPPGMREF)

Indiquez vos choix, puis appuyez sur ENTREE.

Programme . . . . . . . . . . . IT919UJ Nom, générique*, *ALL
Bibliothèque . . . . . . . . . DEVFIC Nom, *LIBL, *CURLIB…
Sortie . . . . . . . . . . . . . *OUTFILE *, *PRINT, *OUTFILE
Type d’objet . . . . . . . . . . *ALL *ALL, *PGM, *SQLPKG…
+ si autres valeurs
Fichier recevant la sortie . . . PGMREF Nom
Bibliothèque . . . . . . . . . DEVFIC Nom, *LIBL, *CURLIB
Options pour membre de sortie:
Membre recevant la sortie . . *FIRST Nom, *FIRST
Remplacement ou ajout enregs *REPLACE *REPLACE, *ADD

Description du fichier PGMREF :

La description est obtenue au moyen de la commande DESCFIC


Fichier : PGMREF Bibl. : DEVFIC Type : PF
Desc. : Sortie de DSPPGMREF
Format : QWHDRPPR Membre : PGMREF
champ. Lg. D. T Description de la zone Pos.Buf
====== === == = ====================================== ========
WHLIB 10 A Library 1 10
WHPNAM 10 A Program 11 20
WHTEXT 50 A Text 'description' 21 70
WHFNUM 5 0 S Number of objects referenced 71 75
WHDTTM 13 A Retrieval date: century/date/time 76 88
WHFNAM 11 A Object referenced: 1=*EXPR 89 99
WHLNAM 11 A Library referenced: 1=*EXPR 100 110
WHSNAM 11 A File name in source program: 1=*EXPR 111 121
WHRFNO 3 0 S Number of record formats referenced 122 124
WHFUSG 2 0 S 1=I,2=O,3=I/O,4=U,5=I/U,6=O/U,7=I/O/U,. 125 126
WHRFNM 10 A Record format referenced 127 136
WHRFSN 13 A Format level identifier 137 149
WHRFFN 5 0 S Number of fields 150 154
WHOBJT 1 A Object type: F=File, P=Program, D=Data 155 155
WHOTYP 10 A Object type 156 165
WHSYSN 8 A System Name (Source System, if file is 166 173
WHSPKG 1 A PGM=P, SQLPKG=S, SRVPGM=V, MODULE=M 174 174

Le fichier contient dans la zone WHFNAM la liste des objets (programmes, fichiers, data area, etc…) utilisés par le programme IT919UJ. La zone WHFUSG contient le code usage de l’objet ce qui permet de savoir notamment si un fichier est en mise à  jour.

L’intérêt de la commande DSPPGMREF réside aussi dans le fait qu’il est
possible de traiter tous les programmes d’une bibliothèque et ainsi de se constituer un référentiel extrêmement complet. Dans ce cas, il va être possible d’effectuer des analyses plus poussées et de connaître, par exemple, la liste de tous les programmes utilisant un objet par une sélection du type WHFNAM = ‘ ???’ (où ??? serait le nom de l’objet dont on souhaite connaître la liste des objets utilisateurs).

De même, on peut connaître la liste des objets utilisés par un programme par une sélection du type WHPNAM = ‘ ???’. En couplant cette sélection avec les zones WHOTYP et WHFUSG on peut connaître, par exemple, la liste des fichiers (zone WHOTYP = ‘ ???’) utilisés par un programme en mise à  jour (WHFUSG = ‘ ???’).

Vous pouvez voir un autre exemple d’application de la commande DSPPGMREF avec l’article présentant un programme d’impression d’arborescence de programmes.

Print Friendly, PDF & Email