> Tech > Le catalogue OS/400

Le catalogue OS/400

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Le catalogue OS/400 est un ensemble de fichiers présents dans la bibliothèque QSYS, qui inclut des détails sur chaque fichier base de données du système (à  l'exception des fichiers temporaires qui se trouvent dans les bibliothèques QTEMP). Les tâches d'arrière-plan exécutées par l'OS/400 mettent à  jour le catalogue.

Comme le montre la figure 2, le
catalogue comprend les principaux fichiers physiques (qui tous commencent
par "QADB") et les autres fichiers physiques et logiques. On peut
utiliser PDM (Programming Development Manager) pour afficher la liste des
fichiers QADB présents dans la bibliothèque QSYS, et la commande DSPFFD pour
afficher leurs structures d’enregistrements.

            Le
catalogue OS/400 est une excellente source de métadonnées pour effectuer
l’analyse d’impact sur la base de données. Ainsi, dans l’article "
Une analyse d’impact An 2000 en kit" (NEWSMAGAZINE, mai 1998), j’avais
utilisé le catalogue OS/400 pour générer des fichiers croisés pour les dates
d’une base de données. J’ai ensuite utilisé les fichiers croisés pour
identifier l’utilisation des champs date dans les programmes source. Examinons
un peu le code pour voir comment accéder au catalogue OS/400.

            L’instruction
SQL Insert de la figure 3a extrait des définitions de champs pour une bibliothèque
particulière à  partir du fichier QADBIFLD dans le catalogue OS/400. De
nombreux champs du catalogue OS/400 acceptent des valeurs nulles.
L’instruction SQL utilise la fonction Value pour empêcher l’insertion de
valeurs nulles dans le fichier de sortie, et la fonction Value renvoie la première
valeur non nulle de la liste des arguments.

            L’instruction
SQL Insert de la figure 3b extrait des définitions de dates de la sortie générée
par l’instruction précédente. Le texte descriptif de chaque champ est exploré
pour voir s’il contient une chaîne indiquant un champ date, comme DATE ou YR.
Bien que j’utilise SQL dans ces exemples, on pourrait tout aussi bien recourir
au RPG IV ou au Cobol pour accéder au catalogue OS/400. Il faut simplement
penser à  ajouter du code recherchant des valeurs de champs nulles aux
programmes.

            On
peut aussi utiliser le catalogue OS/400 pour automatiser les modifications de
données globales. Ainsi, on m’a récemment demandé de modifier la valeur de
quatre numéros de magasins dans une grande base de données d’ERP (Enterprise
Resource Planning). J’ai commencé par utiliser le catalogue OS/400 pour
identifier les 800 fichiers contenant un numéro de magasin. J’ai ensuite écrit
un programme pour réaliser le travail, au lieu de demander à  des programmeurs
d’écrire des programmes de mise à  jour des 800 fichiers. Le programme a lu
le catalogue OS/400 pour extraire les détails de chaque occurrence d’un numéro
de magasin. Pour chaque numéro de magasin, le programme a généré du SQL pour
mettre à  jour le champ, et a exécuté le SQL en utilisant la commande
RUNSQLSTM (Run SQL Statements). Résultat : un programme RPG IV de 150
lignes remplaçant 800 programmes RPG de 20 lignes, 
plus le CL et les tests nécessaires pour s’assurer de leur bon
fonctionnement.

            Outre
le fait qu’il fournit des informations générales sur les fichiers base de
données, le catalogue OS/400 contient des informations de fichiers propres à 
l’OS/400. Lorsqu’on écrit des utilitaires de programmation par exemple, on
peut souhaiter accéder à  des fichiers physiques sources. Pour déterminer si
tel ou tel fichier est un physique source, il faut vérifier que le champ DBXTYP
du fichier QADBXREF du catalogue, contient la valeur "S".



L’utilisation de ces
informations a un prix: le catalogue peut occuper plusieurs gigaoctets




            Le
catalogue OS/400 est une source précieuse d’informations sur les fichiers
base de données AS/400 pour tous les programmeurs et analystes. Mais,
l’utilisation de ces informations a un prix. Sur un gros AS/400, le catalogue
peut occuper plusieurs gigaoctets. Chaque fois que l’on crée, supprime ou
modifie une définition de base de données, le catalogue est mis à  jour. La
suppression d’enregistrements dans le catalogue peut se traduire par beaucoup
d’espace gaspillé, surtout si l’on restaure et supprime régulièrement les
bibliothèques de données. Pour réorganiser le catalogue (afin de récupérer
des l’espace disque), il faut solliciter la commande RCLSTG (Reclaim Storage)
et sélectionner *ALL ou *DBXREF.

Téléchargez cette ressource

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Villes, intercommunalités, métropoles, départements et régions sont particulièrement exposés aux risques de cybersécurité. Ce livre blanc Stormshield présente les défis cyber que rencontrent les collectivités, les solutions et perspectives pour qu’elles puissent assurer leur mission d’utilité publique, en toute sécurité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT