RMVMSG
Enlever un message
En bref
La commande RMVMSG permet à un programme d'enlever un message donné, ou un ensemble de messages, d'une file d'attente de messages.
RMVMSG se lit RMV
(Retirer) + MSG.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
RMVMSG
Paramètres
-
PGMQFile msg poste liste d'appel -
MSGQFile attente messages -
MSGKEYClé du message -
CLEARMise à blanc -
RMVEXCPEnlever exception non gérée -
RJTDFTRPYRejet réponse par défaut
Astuce : dans une session 5250, tapez RMVMSG 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 : Compiled CL program or interpreted REXX (*BPGM *IPGM *BREXX *IREXX)
Compatible multitâche : Oui
La commande RMVMSG permet à un programme d'enlever un message donné, ou un ensemble de messages, d'une file d'attente de messages. Si un message d'interrogation resté sans réponse est retiré, la réponse par défaut est envoyée avant le retrait. Si la file d'attente n'est pas allouée au travail au cours duquel cette commande est lancée, elle le sera implicitement pendant toute la durée d'exécution de la commande, à condition qu'elle ne soit pas allouée à un autre travail.
Restrictions :
- Cette commande n'est admise que dans un programme CL compilé.
- Pour enlever un message de la file d'attente de messages, vous devez disposer du droit *CHANGE sur cette file d'attente, ainsi que du droit *USE sur la bibliothèque dans laquelle elle est enregistrée.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| PGMQ | File msg poste liste d'appel | Valeurs uniques: *ALLINACT, *EXT Autres valeurs: Liste d'éléments |
Facultatif |
| Élément 1: Relation | *SAME, *PRV | ||
| Élément 2: ID poste liste d'appel | Liste d'éléments | ||
| Élément 1: Poste de liste d'appel | Valeur caractère, * | ||
| Élément 2: Module | Nom, *NONE | ||
| Élément 3: Programme lié | Nom, *NONE | ||
| MSGQ | File attente messages | Valeurs uniques: *PGMQ Autres valeurs: Nom d'objet qualifié |
Facultatif |
| Qualificatif 1: File attente messages | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| MSGKEY | Clé du message | Valeur caractère | Facultatif |
| CLEAR | Mise à blanc | *BYKEY, *ALL, *KEEPUNANS, *OLD, *NEW | Facultatif |
| RMVEXCP | Enlever exception non gérée | *YES, *NO | Facultatif |
| RJTDFTRPY | Rejet réponse par défaut | *NOALWRJT, *ALWRJT | Facultatif |
File msg poste liste d'appel (PGMQ)
Indique la file d'attente de messages de postes de liste d'appels d'où les messages doivent être retirés. Il peut s'agir de la file d'attente externe (*EXT) ou d'une file d'attente associée à un poste de liste d'appels.
Remarques :
- Si la valeur CLEAR(*BYKEY) est indiquée, le paramètre PGMQ n'est pas pris en compte.
- Si vous renseignez ce paramètre, vous ne pouvez pas indiquer de valeur au paramètre File attente messages (MSGQ).
Valeurs uniques
- *ALLINACT
- Tous les messages de poste de liste d'appels inactif sont enlevés de la file d'attente de messages du travail de l'utilisateur. Si cette valeur est indiquée, *ALL doit être précisé au paramètre Mise à blanc (CLEAR).
- *EXT
- Le message doit être retiré de la file d'attente de messages externe du travail.
Elément 1 : Relation
Deux éléments de paramètre permettent de spécifier la file d'attente de messages de poste de liste d'appels dans laquelle le message doit être enlevé. Le premier élément indique si la file d'attente est associée au programme ou à la procédure identifié par le second élément, ou bien à l'appelant de ce programme ou de cette procédure.
- *SAME
- Le message doit être enlevé de la file d'attente de messages du programme ou de la procédure identifié par le second élément.
- *PRV
- Le message doit être retiré de la file d'attente de messages du programme ou de la procédure ayant appelé le programme ou la procédure identifié par le second élément du paramètre.
Remarque :Si la file d'attente de messages qui précède celle identifiée par la second valeur est destinée à une PEP (procédure d'entrée de programme) ILE, le message est retiré de la file d'attente de messages qui précède immédiatement la file d'attente de messages PEP. En l'occurrence, il s'agit des deux files d'attente de messages qui précèdent celle identifiée par le programme ou la procédure qualifiée.
Elément 2 : ID poste liste d'appel
Le deuxième élément de ce paramètre permet de fournir les informations nécessaires pour identifier un poste de liste d'appels. ce paramètre comporte trois éléments. L'élément 1 indique un nom de programme OPM ou de procédure ILE, ou encore une valeur spéciale. L'élément 2 précise le nom du module ILE utilisé comme qualificatif de la valeur spécifiée dans l'élément 1. L'élément 3 peut indiquer un nom de programme OPM ou ILE ou encore un nom de programme de service, suivant ce qui a été défini dans l'élément 1. L'élément 3 sert également de qualificatif de la valeur spécifiée dans l'élément 1.
-
Elément 1 : Poste de liste d'appel
- *
- Identifie le programme OPM ou la procédure ILE exécutant cette commande.
- nom
- Indiquez le nom du programme OPM ou de la procédure ILE utilisé(e) pour identifier le poste de liste d'appel.
Le nom de la procédure seul ne permet pas toujours d'identifier la procédure correcte, car différentes procédures portant le même nom peuvent être exécutées dans un travail. Une procédure peut être définie plus précisément en spécifiant l'élément 2 ou les éléments 2 et 3.
Le système commence par rechercher le nom indiqué parmi les programmes ou les procédures ayant été appelés en dernier.
Si cet élément désigne un programme OPM, le nom indiqué ne peut pas dépasser 10 caractères. S'il identifie une procédure ILE, le nom ne peut pas dépasser 256 caractères.
Il est possible d'indiquer des noms de procédure imbriqués en séparant ces derniers par un signe deux-points (:). Dans ce cas, le premier nom identifié est celui de la procédure supérieure, suivi par les procédures qu'elle contient. Le nom de la procédure inférieure est identifié en dernier dans la chaîne.
Vous pouvez indiquer des noms partiels de programmes ou de procédures en tapant trois signes inférieur à (<<<) au début du nom ou trois signes supérieur à (>>>) à la fin du nom. Si vous utilisez à la fois les signes inférieur à et supérieur à, le nom du programme ou de la procédure ne peut pas dépasser 250 caractères.
Pour la recherche d'un nom partiel de programme ou de procédure :
- Les signes inférieur à (<<<) sont tronqués lorsqu'ils sont indiqués seuls au début d'un nom de programme ou de procédure et que le reste de la chaîne de caractère est justifié à droite. Les caractères restants de la chaîne sont comparés au programme ou à la procédure en cours de la pile d'appels, en partant du dernier caractère du nom de programme ou de procédure.
- Les signes supérieur à (>>>) sont tronqués lorsqu'ils sont indiqués seuls à la fin d'un nom de programme ou de procédure. Les caractères restants de la chaîne sont comparés au programme ou à la procédure en cours de la pile d'appels, en partant du premier caractère du nom de programme ou de procédure.
- Les signes inférieur à (<<<) et supérieur à (>>>) sont tronqués lorsqu'ils sont utilisés ensemble pour un nom de programme ou de procédure. Les caractères restants sont utilisés pour analyser et comparer la longueur de la chaîne précisée avec le nom du programme ou de la procédure en cours dans la pile d'appels.
-
Elément 2 : Module
- *NONE
- Aucun qualificatif de module ILE n'est fourni.
- nom
- Indiquez le nom du module ILE à utiliser pour identifier la file d'attente de messages. Ce nom identifie le module dans lequel la procédure a été compilée.
-
Elément 3 : Programme
- *NONE
- Aucun qualificatif du programme n'est fourni.
- nom
- Indiquez le nom du programme à utiliser pour identifier la file d'attente de messages. Ce nom identifie le programme auquel la procédure a été liée.
File attente messages (MSGQ)
Indique la file d'attente de messages d'où un ou plusieurs messages doivent être retirés. Si vous utilisez ce paramètre, vous ne pouvez pas renseigner le paramètre File msg poste liste d'appel (PGMQ).
Valeurs uniques
- *PGMQ
- La file d'attente de messages indiquée au paramètre File msg poste liste d'appel (PGMQ) est la seule file d'attente d'où sont enlevés des messages. Vous ne pouvez pas indiquer simultanément CLEAR(*KEEPUNANS) et MSGQ(*PGMQ).
Qualificatif 1 : File attente messages
- nom
- Indiquez le nom de la file d'attente où se trouvent les messages à enlever.
Qualificatif 2 : Biblio
- *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
- La file d'attente de messages est recherchée 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 la file d'attente de messages.
Clé du message (MSGKEY)
Indique le nom de la variable du langage de contrôle (CL) qui contient la clé de référence du message à supprimer. Ce paramètre n'est admis que si CLEAR(*BYKEY) est également précisé.
Mise à blanc (CLEAR)
Indique si un message ou plusieurs messages doivent être supprimés de la file d'attente.
- *BYKEY
- Le message identifié par la variable en langage de contrôle (CL) indiqué au paramètre Clé du message (MSGKEY) doit être retiré de la file d'attente de messages.
- *ALL
- Tous les messages doivent être retirés de la file d'attente indiquée.
- *KEEPUNANS
- Tous les messages, exception faite des messages d'interrogation restés sans réponse, sont supprimés de la file d'attente indiquée. Si cette valeur est indiquée, MSGQ(*PGMQ) ne peut être utilisé ; vous devez indiquer un nom de file d'attente de messages.
- *OLD
- Tous les anciens messages de la file d'attente indiquée sont supprimés.
- *NEW
- Tous les nouveaux messages de la file d'attente indiquée sont supprimés.
Enlever exception non gérée (RMVEXCP)
Indique l'action à effectuer lorsqu'un message d'exception non traitée est rencontré. Il s'agit d'un message d'arrêt programme, d'avertissement ou d'état ayant été envoyé à une procédure ILE. Lorsque cette commande est lancée, la procédure ILE n'a pas encore effectué d'action pour prévenir le système que l'exception est traitée. Cette action peut être l'appel d'un programme CL qui supprimera le message d'exception. Pour plus d'informations sur les actions susceptibles d'être prises par une procédure ILE, reportez-vous au manuel ILE Concepts, SC41-5606.
Ce paramètre est correct uniquement lorsque vous gérez une file d'attente de messages associée à un poste de liste d'appels correspondant à une procédure ILE. Il n'est pas pris en compte lorsque vous gérez une file d'attente de messages associée à un poste de liste d'appels correspondant à un programme OPM AS/400.
- *YES
- Le message d'exception non traitée est enlevé de la file d'attente de messages indiquée. En conséquence, l'exception est traitée.
- *NO
- Le message d'exception n'est pas enlevé de la file d'attente de messages indiquée. Il y est maintenu en tant que message d'exception non traitée.
Rejet réponse par défaut (RJTDFTRPY)
Le retrait d'un message d'interrogation resté sans réponse provoque l'envoi d'une réponse par défaut au message d'interrogation. Cette valeur indique si un programme d'exit de gestion de réponse pourra rejeter une réponse par défaut envoyée par suite de l'utilisation de cette commande. Un programme d'exit de gestion des réponses peut être enregistré à l'aide de la fonction d'enregistrement système pour le point d'exit QIBM_QMH_REPLY_INQ.
- *NOALWRJT
- Un programme d'exit de gestion de réponse ne pourra par rejeter une réponse par défaut.
- *ALWRJT
- Un programme d'exit de gestion de réponse pourra rejeter une réponse par défaut. Si un programme d'exit rejette la réponse, le message CPD2476 (Réponse rejetée par un programme d'exit de gestion de réponse) sera envoyé en tant que message de diagnostic au programme utilisant cette commande. Le CPD2476 sera suivi d'un message d'arrêt programme CPF2422 (Réponse incorrecte) que le programme utilisant cette commande doit intercepter pour gérer et récupérer suite à une situation d'erreur.
Exemples
Exemple 1 : Retrait d'un message
RMVMSG MSGQ(SMITH) MSGKEY(&KEY)
Cette commande retire de la file d'attente de messages appelée SMITH le message dont la clé de référence est indiquée dans la variable CL &KEY.
Exemple 2 : Conservation de messages restés sans réponse
RMVMSG MSGQ(SMITH) CLEAR(*KEEPUNANS)
Cette commande retire de la file d'attente de messages SMITH tous les messages, à l'exception des messages d'interrogation restés sans réponse.
Exemple 3 : Retrait de messages à l'aide d'un nom de procédure partielle
RMVMSG PGMQ(*SAME 'PROCESS_ORDER>>>') CLEAR(*ALL)
Cette commande retire tous les messages de la procédure la plus récente dont le nom commence par PROCESS_ORDER.
Messages d'erreur
Messages *ESCAPE
- CPF24A6
- Valeur des messages à retirer non valide. Value for messages to remove not valid.
- CPF24AD
- Les messages à retirer doivent être *ALL si la file d'attente de messages de programme est *ALLINACT. Messages to remove must be *ALL if program message queue is *ALLINACT.
- CPF2401
- Accès non autorisé à la bibliothèque &1.
- CPF2403
- File d'attente de messages &1 non trouvée dans &2.
- CPF2407
- fichier message &1 non trouvé dans &2.
- CPF2408
- Non autorisé à la file d'attente de messages &1.
- CPF241A
- L'option d'effacement &1 du programme système n'est pas valide. Clear option &1 in system program is not valid.
- CPF2410
- Clé du message non trouvée dans la file d'attente de messages &1.
- CPF2411
- Accès non autorisé au fichier message &1 dans &2.
- CPF2419
- Identificateur &1 non trouvé dans fichier message &2 de &3.
- CPF2422
- Réponse incorrecte.
- CPF2450
- File d'attente de msg de poste de travail &1 non allouée à ce travail.
- CPF2451
- File d'attente de messages &1 allouée à un autre travail.
- CPF247A
- Entrée de pile d'appels introuvable. Call stack entry not found.
- CPF2477
- File d'attente de messages &1 en cours d'utilisation.
- CPF2479
- Entrée de pile d'appels introuvable. Call stack entry not found.
- CPF2483
- fichier message en cours d'utilisation.
- CPF2499
- L'identificateur de message &1 n'est pas valide.
- CPF8127
- Dommage &8 sur file d'attente de messages &4 de &9. VLOG-&7.
- CPF8176
- File attente de messages pour description d'unité &4 endommagée.
- CPF9830
- Allocation de la bibliothèque &1 impossible.
- CPF9838
- Limite mémoire du profil utilisateur dépassée.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.