> Tech > Pour simplifier l’extraction des données journalières

Pour simplifier l’extraction des données journalières

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Dan Casey
Quand on utilise la commande DspJrn (display journal) pour extraire des données d'un journal et les placer dans un fichier de sortie, on peut obtenir une foule d'informations utiles (quand l'entrée a-t-elle eu lieu dans le journal, qui l'y a mise, type de transaction : put, update ou delete, etc.). Mais, le fichier de sortie présente aussi un champ étrange : JOESD ...

  S'il est vrai que la journalisation a pour but d'améliorer les opérations de sauvegarde et de reprise, elle peut aller au-delà  et constituer un excellent outil d'audit et de résolution de problèmes. On a souvent besoin de plonger dans les modifications journalisées pour voir un enregistrement particulier. Mais, quand il s'agit de savoir quels champs ont été modifiés dans un enregistrement, la journalisation standard est un peu juste. Certes l'on peut voir qui a modifié les données et quand, mais les données modifiées sont entassées dans une seule colonne, difficilement utilisables. L'OS/400 ne trie pas les données en colonnes séparées parce que, probablement, on journalise des fichiers différents avec des structures différentes et parce que toutes les entrées dans le journal ne sont pas des entrées Record (enregistrement).

  La commande RTVJRNDTA (Retrieve Journal Data) résout ce problème. Avec l'aide de l'iSeries NEWS RPG IV Toolkit, un ensemble de programmes de service qui effectue diverses tâches utiles et que l'on peut trouver à  http://www.iseriesnetwork.com/code/, la commande RTVJRN-DATA permet d'afficher les données du journal pour les colonnes d'un fichier. Elle permet aussi d'indiquer le fichier et le journal souhaités et la palette des récepteurs. A partir de cette information, RTVJRNDTA crée un nouveau fichier qui inclut les colonnes des deux provenances : DspJrn et le fichier original. On peut donc exécuter des requêtes sans passer au crible les chaînes hexadécimales du champ JOESD.

Pour simplifier l’extraction des données journalières

Le concept de RTVJRNDTA est simple (figure 1) :

1/ Utiliser DspJrn pour afficher les entrées d’enregistrement souhaitées du journal vers un fichier de sortie.

2/ Construire un membre source DDS fondé sur le fichier de sortie DspJrn.

3/ Construire un membre source DDS fondé sur le fichier original.

4/ Coller le second membre DDS au-dessus du premier, en remplaçant le champ JOESD du fichier de sortie DspJrn par les colonnes du fichier original.

5/ Créer un nouveau fichier en utilisant ce DDS.

6/ Utiliser la commande CPYF (Copy File) avec la Format Option *NOCHK pour copier du fichier de sortie DspJrn dans le nouveau fichier.

Pour illustrer cela, prenons un exemple : nous voulons savoir quand le prix d’un article a été modifié dans un fichier de pièces. Si nous utilisons DspJrn pour transférer les entrées d’un fichier dans un fichier de sortie sans utiliser RTVJRNDTA, notre requête donne le contenu de la figure 2. La colonne TYPE montre que trois enregistrements ont été ajoutés au fichier (PT). Nous voyons aussi les images UB (before) et UP (after) pour un enregistrement mis à  jour. (La liste complète des types de journaux se trouve dans l’OS/400 Backup and Recovery Manual, SC41-5304.) Mais comme les colonnes provenant de notre fichier de pièces sont compressées en un champ unique appelé SPECIFIC DATA, il n’est pas facile de trouver la colonne prix. Nous pouvons utiliser la colonne RTVJRNDTA (figure 3) pour extraire les données du journal sous forme de colonnes, en indiquant les paramètres suivants :

1/ Nous voulons les entrées du journal du fichier de pièces (From file parts).

2/ Le journal tempjrn contient les entrées du journal.

3/ Les entrées du journal sont envoyées au fichier exemple (To file example) dans la bibliothèque qtemp.

4/ Les entrées du journal sont extraites du récepteur de départ (Start receiver) *CURRENT.

5/ Aucun récepteur de fin (End receiver) n’est spécifié.

Quand nous interrogeons la sortie de l’exemple, nous voyons les colonnes provenant du journal (sauf pour JOESD) et les colonnes provenant du fichier original. Comme on le voit en figure 4, au lieu de devoir travailler avec les champs combinés dans JOESD, nous pouvons utiliser les données dans un format plus compréhensible.

Téléchargez cette ressource

Guide Adobe Firefly, l’IA générative dédiée aux équipes créatives

Guide Adobe Firefly, l’IA générative dédiée aux équipes créatives

Depuis plus d’une décennie, Adobe exploite l’intelligence artificielle (IA) pour proposer des solutions toujours plus performantes et innovantes aux équipes créatives. Comment le nouveau moteur d’IA générative Adobe Firefly permet-il aux entreprises de développer leurs capacités créatives et de tirer, dès à présent, tout le profit de l'IA générative ?

Tech - Par iTPro.fr - Publié le 24 juin 2010