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
-
FILEFichier obligatoire -
MBRMembre -
RCVRNGPlage de récepteurs de journal -
FROMENTLRGPremier num. séq. maxi -
FROMTIMEDate et heure de début -
TOENTLRGDern. num. séq. maxi -
TOTIMEDate et heure de fin -
CMPOPTOption de comparaison -
RCDNBRNuméro d'enregistrement -
JOBTravail -
PGMProgramme -
USRPRFProfil utilisateur -
CCIDLRGID cycle valid. étendu -
OUTFMTFormat de sortie -
FROMENTNuméro de séquence de début -
TOENTNuméro de séquence de fin -
CMTCYCIDID cycle de validation
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.