Aller au contenu

CMPJRNIMG

Comparer des images de journal

En bref

La commande CMPJRNIMG permet de comparer et de noter les différences entre (1) les images avant et après de modifications de niveau objet (mises à jour, suppressions, annulations-mises à jour et annulations-suppressions) d'un membre de fichier physique précis (IMAGES(*BOTH) doit être indiqué…

CMPJRNIMG se lit CMP (Comparer) + JRNIMG. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CMPJRNIMG FILE(…)

Paramètres

Astuce : dans une session 5250, tapez CMPJRNIMG puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande CMPJRNIMG permet de comparer et de noter les différences entre (1) les images avant et après de modifications de niveau objet (mises à jour, suppressions, annulations-mises à jour et annulations-suppressions) d'un membre de fichier physique précis (IMAGES(*BOTH) doit être indiqué pour la commande STRJRNPF), ou (2) les images après et après précédentes d'un enregistrement relatif particulier (IMAGES(*AFTER) est indiqué pour la commande STRJRNPF). Le résultat de la commande est dirigé vers une imprimante.

Si la comparaison porte sur les images avant et après, les modifications journalisées ne peuvent être comparées que pour un seul ou pour tous les enregistrements du fichier ou du membre spécifique. Il est également possible de limiter la comparaison en indiquant une plage de récepteurs pour un journal spécifique ou en précisant une plage de modifications journalisées pour une plage de récepteurs associés à un journal particulier.

La sortie imprimée contient l'image de l'enregistrement avant modification, puis l'image de celui-ci après modification. Ces images sont suivies d'une ligne signalant par des astérisques les modifications apportées, caractère par caractère et non zone par zone. Si le fichier journalisé comporte des zones admettant des valeurs indéfinies, les indicateurs de valeur indéfinie correspondant à l'image de l'enregistrement avant modification sont comparés zone par zone à ceux correspondant à l'image de l'enregistrement après modification.

Si aucun poste de journal ne répond au critère de recherche indiqué, la commande s'arrête.

Restrictions :

  • Le résultat de la comparaison est envoyé uniquement à l'imprimante système.
  • Le fichier et le membre indiqués doivent exister sur le système et avoir été journalisés.
  • Une commande ne peut traiter qu'un seul membre.
  • La comparaison des images de journal s'interrompt dans l'une des situations suivantes :
    • Le membre a été sauvegardé avec libération de mémoire.
    • Le membre a été restauré.
    • Le membre a été mis à blanc.
    • Le membre a été réorganisé.
    • Le membre a été supprimé.
    • Le membre était en cours d'utilisation lorsqu'une fin anormale du système s'est produite.
    • La journalisation du membre a été arrêtée.
    • Les modifications journalisées du membre ont été appliquées ou enlevées respectivement à l'aide des commandes APYJRNCHG et RMVJRNCHG.
  • La première occurrence de la valeur FROMENT, FROMENTLRG, TOENTLRG ou TOENT est utilisée lorsque l'invite est indiquée et que le numéro de séquence est réinitialisé pour les récepteurs spécifiés.
  • Les paramètres FROMENT, FROMENTLRG et FROMTIME sont incompatibles, tout comme TOENT, TOENTLRG et TOTIME.
  • Les paramètres JOB, PGM et USRPRF ne peuvent pas être utilisés pour indiquer les critères de sélection si un ou plusieurs récepteurs de journal de la plage indiquée étaient attachés à un journal défini avec une option de taille du récepteur (RCVSIZOPT) ou une option de données à longueur fixe (FIXLENDTA) qui aurait omis ces données.
  • Cette commande ne peut pas être utilisée sur ou avec un journal éloigné.
  • Si vous utilisez cette commande pour comparer des images de journal de fichiers contenant des zones de données de type BLOB, CLOB ou DBCLOB, la comparaison ne porte pas sur ces zones, mais sur toutes les autres.
  • Cette commande ne peut pas être utilisée si au moins un récepteur de journal de la plage spécifiée a été attaché à un journal dans lequel des MINENTDTA (données spécifiques de poste réduites) ont été indiquées pour les objets *FILE.

Paramètres

Mot-clé Description Valeurs possibles Remarques
FILE Fichier Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Fichier Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
MBR Membre Nom, *FIRST Facultatif, positionnel 2
RCVRNG Plage de récepteurs de journal Valeurs uniques: *CURRENT
Autres valeurs: Liste d'éléments
Facultatif, positionnel 3
Élément 1: Début au récepteur de journal Nom d'objet qualifié
Qualificatif 1: Début au récepteur de journal Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
Élément 2: Fin au récepteur de journal Valeurs uniques: *CURRENT
Autres valeurs: Nom d'objet qualifié
Qualificatif 1: Fin au récepteur de journal Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
FROMENTLRG Premier num. séq. maxi Valeur caractère, *FIRST Facultatif
FROMTIME Date et heure de début Liste d'éléments Facultatif
Élément 1: Date de début Date
Élément 2: Heure de début Heure
TOENTLRG Dern. num. séq. maxi Valeur caractère, *LAST Facultatif
TOTIME Date et heure de fin Liste d'éléments Facultatif
Élément 1: Date de fin Date
Élément 2: Heure de fin Heure
CMPOPT Option de comparaison *BOTH, *AFTER Facultatif
RCDNBR Numéro d'enregistrement Entier non signé, *ALL Facultatif
JOB Travail Valeurs uniques: *ALL
Autres valeurs: Nom de travail qualifié
Facultatif
Qualificatif 1: Travail Nom
Qualificatif 2: Utilisat Nom
Qualificatif 3: Numéro 000000-999999
PGM Programme Nom, *ALL Facultatif
USRPRF Profil utilisateur Nom, *ALL Facultatif
CCIDLRG ID cycle valid. étendu Valeur caractère, *ALL Facultatif
OUTFMT Format de sortie *CHAR, *HEX Facultatif
FROMENT Numéro de séquence de début 1-9999999999, *FIRST Facultatif
TOENT Numéro de séquence de fin 1-9999999999, *LAST Facultatif
CMTCYCID ID cycle de validation 1-9999999999, *ALL Facultatif

Fichier (FILE)

Indique le nom et la bibliothèque du fichier base de données physique contenant les enregistrements dont les modifications journalisées doivent être comparées.

Ce paramètre est obligatoire.

nom-fichier-physique
Indiquez le nom du fichier physique.
*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
Le système effectue la recherche dans la bibliothèque en cours du travail. Si cette dernière n'est pas précisée, QGPL est prise par défaut.
nom-bibliothèque
Indiquez le nom de la bibliothèque sur laquelle doit porter la recherche.

Membre (MBR)

Indique le nom du membre de fichier dont les postes du journal doivent être comparés.

*FIRST
Compare les postes correspondant au premier membre du fichier.
nom-membre
Indiquez le nom du membre contenant les enregistrements dont les modifications journalisées doivent être comparées.

Plage de récepteurs de journal (RCVRNG)

Indique le premier et le dernier récepteur délimitant la plage de récepteurs de journal utilisée pour effectuer la comparaison des images de poste de journal avant et après. Le système commence la comparaison avec le récepteur de début (première valeur) et la poursuit jusqu'au récepteur de fin (dernière valeur).

En cas d'incident au niveau de la chaîne de récepteurs (récepteur endommagé ou non trouvé, par exemple) ou si un incident se produit au cours de l'opération, la comparaison prend fin.

Remarque :Le second élément (dernier-récepteur-journal) ne peut être indiqué que si le premier élément (premier-récepteur-journal) comporte une valeur.

Remarque :Si le nombre maximal de récepteurs admis (2045) dans une plage est dépassé, un message d'erreur est envoyé et la comparaison des postes n'est pas effectuée.

Valeurs uniques

*CURRENT
Le récepteur de journal utilisé est celui qui est attaché lorsque débute la comparaison des postes de journal.

Elément 1 : Démarrage du récepteur de journal

Qualificatif 1 : Démarrage du récepteur de journal

nom
Indiquez le nom du premier récepteur de journal contenant les postes à comparer.

Qualificatif 2 : Bibliothèque.

*LIBL
La recherche porte sur toutes les bibliothèques figurant dans la liste associée au travail jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
Le récepteur de journal est recherché dans la bibliothèque en cours du travail. Si cette dernière n'est pas précisée, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque contenant le récepteur de journal.

Elément 2 : Arrêt du récepteur de journal

Valeurs uniques

*CURRENT
Le récepteur de journal utilisé est celui qui est attaché lorsque débute la comparaison des postes de journal.

Qualificatif 1 : Arrêt du récepteur de journal

nom
Indiquez le nom du dernier récepteur de journal contenant les postes à comparer.

Qualificatif 2 : Bibliothèque.

*LIBL
La recherche porte sur toutes les bibliothèques figurant dans la liste associée au travail jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
Le récepteur de journal est recherché dans la bibliothèque en cours du travail. Si cette dernière n'est pas précisée, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque contenant le récepteur de journal.

Premier num. séq. maxi (FROMENTLRG)

Indique le premier poste de journal (à partir de) à comparer.

Remarque :Vous pouvez indiquer une valeur pour la zone Numéro de séquence de début (FROMENT) ou pour la zone Premier num. séq. maxi (FROMENTLRG), jamais pour les deux.

*FIRST
La comparaison commence à partir du premier poste de la plage de récepteurs indiquée.
numéro-séquence-début
Indiquez le numéro de séquence du poste de journal à partir duquel commence la comparaison. La plage de valeurs admises s'étend de 1 à 18 446 744 073 709 551 600.

Date et heure de début (FROMTIME)

Indique la date et l'heure associées au premier poste à comparer.

Elément 1 : Date de début

date-début
Indiquez la date de début. La comparaison commence à partir du premier poste de journal associé à la date de début indiquée ou à la date postérieure la plus proche.

Elément 2 : Heure de début

heure-début
Indiquez l'heure de début. La comparaison commence à partir du premier poste de journal associé à la date de début indiquée ou à la date postérieure la plus proche.

Vous pouvez indiquer l'heure au format 24 heures avec ou sans séparateur :

  • Si vous n'utilisez pas de séparateur d'heure, indiquez une chaîne au format hhmm ou hhmmss (4 ou 6 chiffres), où hh = heures, mm = minutes et ss = secondes.
  • Si vous utilisez un séparateur, indiquez une chaîne de 5 ou 8 chiffres en insérant entre les heures, les minutes et les secondes le séparateur défini pour votre travail. Si vous entrez cette commande à partir de la ligne de commande, placez la chaîne entre apostrophes. Si vous utilisez un séparateur d'heure autre que celui qui a été défini pour votre travail, la commande n'aboutira pas.

Dern. num. séq. maxi (TOENTLRG)

Indique le dernier poste de journal à comparer.

Remarque :Vous pouvez indiquer une valeur pour la zone Numéro de séquence de fin (TOENT) ou pour la zone Dern. num. séq. maxi (TOENTLRG), jamais pour les deux.

*LAST
La comparaison s'arrête au dernier poste de journal du dernier récepteur indiqué.
numéro-séquence-fin
Indiquez le numéro de séquence du dernier poste de journal à comparer. La plage de valeurs admises s'étend de 1 à 18 446 744 073 709 551 600.

Remarque :Des valeurs identiques peuvent être indiquées pour les paramètres FROM et TO (par exemple, FROMENTLRG(234) et TOENTLRG(234)).

Date et heure de fin (TOTIME)

Indique la date et l'heure associées au dernier poste de journal à comparer.

Elément 1 : Date de fin

date-fin
Indiquez une date de fin. La comparaison s'arrête au premier poste de journal associé à la date de fin indiquée ou à la date antérieure la plus proche.

Elément 2 : Heure de fin

heure-fin
Indiquez l'heure de fin. La comparaison s'arrête au premier poste de journal associé à la date de fin indiquée ou à la date antérieure la plus proche.

Vous pouvez indiquer l'heure au format 24 heures avec ou sans séparateur :

  • Si vous n'utilisez pas de séparateur d'heure, indiquez une chaîne au format hhmm ou hhmmss (4 ou 6 chiffres), où hh = heures, mm = minutes et ss = secondes.
  • Si vous utilisez un séparateur, indiquez une chaîne de 5 ou 8 chiffres en insérant entre les heures, les minutes et les secondes le séparateur défini pour votre travail. Si vous entrez cette commande à partir de la ligne de commande, placez la chaîne entre apostrophes. Si vous utilisez un séparateur d'heure autre que celui qui a été défini pour votre travail, la commande n'aboutira pas.

Option de comparaison (CMPOPT)

Précise le type d'images (avant ou après) à comparer pour les modifications apportées aux enregistrements du fichier indiqué.

*BOTH
Les images avant des postes de journal sont comparées aux images après.
*AFTER
Les images après des enregistrements sont comparées aux précédentes images après.

Si cette valeur est spécifiée, la valeur par défaut *ALL doit être indiquée aux paramètres suivants :

  • Paramètre Travail (JOB)
  • Paramètre Programme (PGM)
  • Paramètre Profil utilisateur (USRPRF)
  • Paramètre ID cycle de validation (CMTCYCID)
  • Paramètre ID cycle valid. étendu (CCIDLRG)

Vous devez également indiquer un numéro relatif d'enregistrement pour le paramètre Numéro d'enregistrement (RCDNBR).

Numéro d'enregistrement (RCDNBR)

Indique le numéro relatif de l'enregistrement du fichier dont les images de postes de journal doivent être comparées.

*ALL
La comparaison porte sur les modifications enregistrées pour tous les enregistrements du membre de fichier physique.
numéro-relatif-enregistrement
Indiquez le numéro relatif de l'enregistrement du membre physique dont les images avant/après ou après/après doivent être comparées. Si une valeur est précisée, seules les modifications concernant l'enregistrement indiqué seront comparées.

Travail (JOB)

Indique que la sélection des postes de journal à comparer doit s'opérer en fonction d'un travail spécifique.

Valeurs uniques

*ALL
La sélection des postes à comparer ne s'opère pas en fonction d'un travail donné.

Autres valeurs

identificateur-travail
Indiquez le nom du travail, le nom de l'utilisateur et le numéro du travail à utiliser. Vous pouvez également spécifier uniquement le nom du travail ou les noms du travail et de l'utilisateur.
nom-travail
Indiquez le nom du travail.
nom-utilisateur
Indiquez le nom de l'utilisateur du travail.
numéro-travail
Indiquez le numéro de travail attribué par le système.

Programme (PGM)

Indique que la sélection des postes de journal à comparer doit s'opérer en fonction d'un programme particulier.

*ALL
La sélection des postes à comparer ne s'opère pas en fonction d'un programme particulier.
nom-programme
Indiquez le nom du programme sur lequel doit s'opérer la sélection des postes à comparer. Seules seront prises en compte les modifications journalisées correspondant à ce programme.

Profil utilisateur (USRPRF)

Indique que la sélection des postes de journal à comparer doit s'opérer en fonction d'un profil utilisateur particulier. Il s'agit du profil utilisateur sous lequel le travail qui a provoqué la journalisation des modifications est exécuté.

*ALL
La sélection des postes à comparer ne s'opère pas en fonction d'un profil utilisateur spécifique.
nom-profil-utilisateur
Indiquez le nom du profil utilisateur sur lequel doit s'opérer la sélection des postes de journal à comparer. Seules seront prises en compte les modifications journalisées correspondant à ce profil utilisateur.

ID cycle valid. étendu (CCIDLRG)

Indique l'ID cycle de validation du journal faisant partie d'une unité d'oeuvre logique pour laquelle une comparaison des postes de journal est effectuée.

Remarque :Vous pouvez indiquer une valeur pour la zone ID cycle de validation (CMTCYCID) ou pour la zone ID cycle valid. étendu (CCIDLRG), jamais pour les deux.

*ALL
La comparaison porte sur les postes de journal existants pour tous les ID cycle de validation.
ID-cycle-validation
Indiquez l'ID cycle de validation sur lequel doit s'opérer la sélection des postes à comparer. Vous pouvez afficher cet ID à l'aide de la commande DSPJRN (Afficher un journal) et de l'option 5. La plage de valeurs admises s'étend de 1 à 18 446 744 073 709 551 600.

Format de sortie (OUTFMT)

Indique le format dans lequel les images d'enregistrement à comparer doivent être imprimées.

*CHAR
Affiche les images en format alphanumérique.
*HEX
Affiche les images en format hexadécimal.

Numéro de séquence de début (FROMENT)

Indique le premier poste de journal (à partir de) à comparer.

Remarque :Vous pouvez indiquer une valeur pour la zone Numéro de séquence de début (FROMENT) ou pour la zone Premier num. séq. maxi (FROMENTLRG), jamais pour les deux.

*FIRST
La comparaison commence à partir du premier poste de la plage de récepteurs indiquée.
numéro-séquence-début
Indiquez le numéro de séquence du poste de journal à partir duquel commence la comparaison. La plage de valeurs admises s'étend de 1 à 9 999 999 999.

Numéro de séquence de fin (TOENT)

Indique le dernier poste de journal à comparer.

Remarque :Vous pouvez indiquer une valeur pour la zone Numéro de séquence de fin (TOENT) ou pour la zone Dern. num. séq. maxi (TOENTLRG), jamais pour les deux.

*LAST
La comparaison s'arrête au dernier poste de journal du dernier récepteur indiqué.
numéro-séquence-fin
Indiquez le numéro de séquence du dernier poste de journal à comparer. La plage de valeurs admises s'étend de 1 à 9 999 999 999.

Remarque :Des valeurs identiques peuvent être indiquées pour les paramètres FROM et TO (par exemple, FROMENT(234) et TOENT(234)).

ID cycle de validation (CMTCYCID)

Indique l'ID cycle de validation du journal faisant partie d'une unité d'oeuvre logique pour laquelle une comparaison des postes de journal est effectuée.

Remarque :Vous pouvez indiquer une valeur pour la zone ID cycle de validation (CMTCYCID) ou pour la zone ID cycle valid. étendu (CCIDLRG), jamais pour les deux.

*ALL
La comparaison porte sur les postes de journal existants pour tous les ID cycle de validation.
ID-cycle-validation
Indiquez l'ID cycle de validation sur lequel doit s'opérer la sélection des postes à comparer. Vous pouvez afficher cet ID à l'aide de la commande DSPJRN (Afficher un journal) et de l'option 5. La plage de valeurs admises s'étend de 1 à 9 999 999 999.

Exemples

Exemple 1 : Comparaison d'images avant et d'images après

CMPJRNIMG   FILE(QGPL/PF)

Cette commande compare les modifications de niveau enregistrement journalisées du premier membre du fichier PF de la bibliothèque QGPL. Les postes comparés se trouvent dans le récepteur de journal attaché lors du lancement de la comparaison ; la comparaison traite les postes du premier au dernier. Tous les postes possédant des images avant et des images après répondant aux valeurs de sélection sont admissibles à la comparaison. Les images avant des postes sont comparées avec les images après des postes.

Exemple 2 : Comparaison d'images après avec des images après précédentes

CMPJRNIMG   FILE(MYLIB/PAYROLL)  MBR(APRIL)
            RCVRNG((RCVLIB/RCV3) (*CURRENT))
            FROMENT(200)  TOENT(500)
            CMPOPT(*AFTER)  RCDNBR(999)  OUTFMT(*HEX)

Cette commande compare les modifications de niveau enregistrement journalisées du membre APRIL du fichier PAYROLL de MYLIB, en commençant par RCV3 de RCVLIB pour finir par le récepteur de journal qui est attaché au début de la comparaison. La plage des postes comparées commence au numéro de séquence 200 et se termine au numéro de séquence 500. La comparaison ne porte que sur les images après et les images après précédentes. Elle s'arrête après l'enregistrement numéro 999. La sortie est imprimée au format hexadécimal.

Exemple 3 : Indication de la date et de l'heure des postes de journal

CMPJRNIMG   FILE(USERLIB/MYFILE)  MBR(*FIRST)
            RCVRNG((RCV2) (USERLIB/RCV5))
            FROMTIME('7/04/87' 120000)  TOENT(1000)

Cette commande compare les modifications de niveau enregistrement journalisées pour le premier membre du fichier MYFILE de USERLIB, en commençant par le récepteur RCV2 de *LIBL pour terminer par le récepteur RCV5 de USERLIB. Le premier poste à comparer date du 4 juillet 1987, 12:00:00, et la comparaison doit s'arrêter au numéro de séquence 1000.

Messages d'erreur

Messages *ESCAPE

CPF7002
Le fichier &1 de la bibliothèque &2 n'est pas un fichier physique.
CPF7006
Membre &3 non trouvé dans le fichier &1 de &2.
CPF701B
Le rétablissement par journal d'une opération interrompue a échoué.
CPF7027
Impossible d'effectuer l'opération au-delà du poste &4.
CPF7028
Le membre &3 du fichier &1 de &2 n'a jamais été journalisé.
CPF7029
Echec de la comparaison des images. Dernier numéro de séquence &4.
CPF7036
Fichier &1 de &2 non journalisé avec les images avant.
CPF7038
Aucun poste comparé pour le membre &3.
CPF705A
Echec de l'opération car journal éloigné.
CPF7053
Valeurs du paramètre RCVRNG incorrectes. Code raison &1.
CPF7054
Valeurs des paramètres FROM et TO incorrectes.
CPF709C
JOB, PGM ou USRPRF incorrect pour la plage de récepteurs.
CPF9801
Objet &2 non trouvé dans la bibliothèque &3.
CPF9802
Non autorisé à l'objet &2 de &3.
CPF9803
Impossible d'allouer l'objet &2 de la bibliothèque &3.
CPF9810
Bibliothèque &1 non trouvée.
CPF9812
Fichier &1 non trouvé dans la bibliothèque &2.
CPF9815
Membre &5 du fichier &2 dans &3 non trouvé.
CPF9820
Non autorisé à utiliser la bibliothèque &1.
CPF9822
Non autorisé au fichier &1 de &2.
CPF9825
Accès non autorisé à l'unité &1.
CPF9845
Erreur lors de l'ouverture du fichier &1.
CPF9846
Erreur lors du traitement du fichier &1 de &2.
CPF9850
Substitution non admise pour fichier imprimante &1.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.