CRTMSGQ
Créer une file de messages
En bref
La commande CRTMSGQ (Créer une file d'attente de messages) permet de créer une file d'attente de messages définie par l'utilisateur dans une bibliothèque.
CRTMSGQ se lit CRT
(Créer) + MSGQ.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CRTMSGQ MSGQ(…)
Paramètres
-
MSGQFile attente messages obligatoire -
TEXTTexte 'descriptif' -
FORCEStockage forcé mém secondaire -
SIZETaille de la file d'attente -
AUTDroits -
ALWALRAlertes admises -
CCSIDID codé de jeu de caractères -
MSGQFULLAction file messages saturée
Astuce : dans une session 5250, tapez CRTMSGQ 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 : Oui
La commande CRTMSGQ (Créer une file d'attente de messages) permet de créer une file d'attente de messages définie par l'utilisateur dans une bibliothèque. La file d'attente doit figurer dans une bibliothèque sur laquelle les émetteurs ou destinataires de ces messages ont les droits *USE. Les messages envoyés peuvent être des messages prédéfinis ou immédiats. Lorsqu'elle est créée, la file d'attente de messages comporte les attributs suivants : le paramètre DLVRY a la valeur *HOLD, le premier élément du paramètre PGM a la valeur *DSPMSG, et le deuxième élément, *ALWRPY, SEV a la valeur 00 et RESET a la valeur *NO. Ces attributs initialisés ne peuvent pas être spécifiés avec la commande CRTMSGQ et la commande CHGMSGQ doit être utilisée pour les modifier après création de la file d'attente de données.
Remarque :La file d'attente de messages QSYSOPR est livrée avec la valeur *WARP pour l'action en cas de saturation de la file d'attente de messages. Si vous remplacez cette valeur par *SNDMSG et que la file d'attente doit être recréée suite à un endommagement, la valeur d'origine, *WRAP, est rétablie.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| MSGQ | File attente messages | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: File attente messages | Nom | ||
| Qualificatif 2: Biblio | Nom, *CURLIB | ||
| TEXT | Texte 'descriptif' | Valeur caractère, *BLANK | Facultatif |
| FORCE | Stockage forcé mém secondaire | *NO, *YES | Facultatif |
| SIZE | Taille de la file d'attente | Liste d'éléments | Facultatif |
| Élément 1: Taille mémoire initiale | Entier, 3 | ||
| Élément 2: Taille d'incrément mémoire | Entier, 1 | ||
| Élément 3: Nombre maximal d'incréments | Entier, *NOMAX | ||
| AUT | Droits | Nom, *LIBCRTAUT, *CHANGE, *ALL, *USE, *EXCLUDE | Facultatif |
| ALWALR | Alertes admises | *NO, *YES | Facultatif |
| CCSID | ID codé de jeu de caractères | 1-65535, *MSG, *HEX, *JOB | Facultatif |
| MSGQFULL | Action file messages saturée | *SNDMSG, *WRAP | Facultatif |
File attente messages (MSGQ)
Indique la file d'attente de messages à créer.
Ce paramètre est obligatoire.
Qualificatif 1 : File attente messages
- nom
- Indiquez le nom de la file d'attente de messages en cours de création.
Qualificatif 2 : Biblio
- *CURLIB
- La bibliothèque en cours du travail permet de créer la file d'attente de messages. Si aucune entrée de bibliothèque en cours ne figure dans la liste des bibliothèques, la bibliothèque QGPL est utilisée par défaut.
- nom
- Indiquez la bibliothèque où doit être créée la file d'attente de messages.
Texte 'descriptif' (TEXT)
Texte décrivant brièvement l'objet.
- *BLANK
- Aucun texte n'est indiqué.
- 'descriptif'
- Entrez, entre apostrophes, un texte de 50 caractères au maximum.
Stockage forcé mém secondaire (FORCE)
Indique si les modifications de la description de file d'attente de messages ou si les messages ajoutés à la file ou supprimés de celle-ci sont immédiatement placés en mémoire secondaire. Ainsi, en cas de panne système, ces modifications ne seraient pas perdues.
- *NO
- Les modifications apportées à la file d'attente de messages ne sont pas immédiatement forcées en mémoire secondaire.
- *YES
- Toutes les modifications apportées à la description de la file d'attente de messages, ou à ces derniers, sont immédiatement forcées en mémoire secondaire.
Taille de la file d'attente (SIZE)
Indique la taille mémoire initialement attribuée à la file d'attente de messages, celle de chaque incrément et le nombre d'incrémentations qu'il est possible d'effectuer. La taille de mémoire est exprimée en kilooctets (ko).
Elément 1 : Taille mémoire initiale
- 3
- La taille mémoire attribuée initialement à la file d'attente de messages est de 3 ko. (1 ko est égal à 1024 octets).
- Kilo-octets-initiaux
- Indiquez la taille initiale de la file d'attente (obligatoirement supérieure à 0).
Elément 2 : Taille d'incrément mémoire
Pour indiquer le nombre de kilo-octets ajoutés à la file d'attente de messages à chaque incrémentation de taille, utilisez l'une des valeurs suivantes :
- 1
- La taille de la file d'attente de messages est augmentée de 1 ko à chaque incrémentation.
- valeur-incrément
- Indiquez le nombre de kilo-octets ajoutés à chaque augmentation de la taille de la file d'attente de messages.
Elément 3 : Nombre maximal d'incréments
Pour indiquer le nombre maximum d'incrémentations de la taille de la file d'attente de messages, utilisez l'une des valeurs suivantes :
- *NOMAX
- Le nombre maximal d'augmentations de la taille de la file d'attente de messages n'est pas défini par l'utilisateur. La taille maximale est déterminée par le système.
- nombre-incrémentations
- Entrez le nombre maximal d'incrémentations qu'il sera possible d'effectuer pour augmenter la taille de la file d'attente. Indiquez 0 si vous désirez empêcher toute possibilité d'incrémentation.
Droits (AUT)
Indique les droits que vous accordez aux utilisateurs qui n'ont pas de droits spécifiques sur l'objet, qui ne figurent pas sur une liste d'autorisation ou dont le profil de groupe ou les profils du groupe supplémentaire ne disposent pas de droits spécifiques sur l'objet.
- *LIBCRTAUT
- Le système détermine les droits sur l'objet à l'aide de la valeur spécifiée à l'invite Droits pour objets créés (paramètre CRTAUT) dans la commande CRTLIB pour la bibliothèque contenant l'objet à créer. Si la valeur précisée au paramètre CRTAUT est modifiée, la nouvelle valeur n'affecte pas les objets existants.
- *CHANGE
- L'utilisateur peut effectuer toutes les opérations sur l'objet, à l'exception de celles réservées au propriétaire ou contrôlées par les droits d'existence de l'objet (*OBJEXIST) et de gestion de l'objet (*OBJMGT). L'utilisateur peut réaliser des fonctions de base sur l'objet et le modifier. Le droit *CHANGE fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que les droits sur toutes les données. Si l'objet est une liste d'autorisation, vous pouvez ajouter, modifier ou supprimer des utilisateurs dans cette liste.
- *ALL
- L'utilisateur peut effectuer toutes les opérations, à l'exception de celles réservées au propriétaire ou soumises au droit de gestion de la liste d'autorisation (*AUTLMGT). L'utilisateur a un droit d'existence sur l'objet Il peut également effectuer des fonctions de base sur ce dernier, le modifier, définir son niveau de protection et en transférer la propriété.
- *USE
- L'utilisateur peut effectuer des opérations de base sur l'objet, telles que l'exécution d'un programme ou la lecture d'un fichier. Il ne peut pas le modifier. Le droit d'utilisation (*USE) fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que le droit d'exécution (*EXECUTE).
- *EXCLUDE
- L'utilisateur n'a pas accès à l'objet.
- nom
- Indiquez le nom d'une liste d'autorisation permettant de déterminer les droits sur l'objet. Les droits sur l'objet précisés dans la liste sont accordés aux utilisateurs qui figurent sur cette liste. La liste d'autorisation doit exister à la création de l'objet.
Alertes admises (ALWALR)
Indique si la file d'attente à créer permet l'émission d'alertes par les messages qui lui sont envoyés.
- *NO
- L'émission d'alertes par les messages de cette file d'attente n'est pas admise.
- *YES
- L'émission d'alertes par les messages de cette file d'attente est admise.
ID codé de jeu de caractères (CCSID)
Indique l'ID codé de jeu de caractères (CCSID) associé à cette file d'attente de messages. Ce CCSID s'applique uniquement aux messages immédiats et aux données de messages étant définies comme une zone de caractères convertibles (*CCHAR).
- *HEX
- Les messages envoyés, reçus ou affichés à partir de cette file d'attente de messages ne sont pas convertis. La valeur du CCSID de la file d'attente de messages est 65535.
- *MSG
- Les messages envoyés dans cette file d'attente ne sont pas convertis. Le CCSID indiqué dans le travail émetteur est sauvegardé au cas où une conversion s'avérerait nécessaire pour une fonction d'affichage ou de réception. La valeur du CCSID de la file d'attente de messages est 65534.
- *JOB
- Le CCSID de la file d'attente de messages correspondra à celui du travail exécutant cette commande.
- ID-codé-jeu-caractères
- Indiquez le CCSID associé à cette file d'attente de messages. Le CCSID des messages envoyés dans cette file d'attente de messages est remplacé par ce CCSID. Les valeurs admises sont comprises entre 1 et 65535. La liste des valeurs de CCSID admises est fournie dans le manuel Internationalisation de l'iSeries Information Center, à l'adresse http://www.ibm.com/eserver/iseries/infocenter.
Pour plus de détails sur le gestionnaire de messages et la façon dont il utilise les CCSID, reportez-vous au manuel Rubriques Internationalisation de l'i5/OS dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Action file messages saturée (MSGQFULL)
Indique l'action à prendre lorsque la file d'attente de messages est saturée.
- *SNDMSG
- Lorsque la file d'attente de messages est saturée, le message CPF2460 (La taille de la file d'attente de messages ne peut être augmentée.) est adressé au programme ou à l'utilisateur qui envoie un message à la file d'attente de messages saturée.
- *WRAP
- Lorsque la file d'attente de messages est saturée, les messages d'information et les messages ayant reçu une réponse les plus anciens sont retirés de la file d'attente de messages afin de libérer de l'espace pour ajouter de nouveaux messages. Si cela ne suffit pas à libérer suffisamment d'espace pour ajouter le message demandé, le système retire des messages d'interrogation restés sans réponse jusqu'à ce que l'espace soit suffisant. La réponse par défaut est envoyée avant le retrait des messages d'interrogation restés sans réponse. Une fois que la file d'attente de messages a effectué une boucle, vous en êtes informé par le message CPI2420 ou CPI2421. Si l'espace reste insuffisant dans la file d'attente de messages, les messages sont envoyés à l'historique du travail de l'utilisateur concerné, ou à QHST si la file d'attente saturée est QSYSOPR.
REMARQUE :
Lorsque la valeur *WRAP est définie pour une file d'attente et qu'un travail envoie à celle-ci un message provoquant une boucle de cette file d'attente, des messages sont retirés pour que la boucle puisse être effectuée dans les conditions suivantes :
- la file d'attente est en mode interruption ou notification pour un travail ;
- un travail est à l'état d'attente de message car il a effectué une fonction de réception dans la file d'attente et un délai d'attente était indiqué ;
- la file d'attente est allouée par un travail via la commande ALCOBJ.
Seule la fonction de bouclage système peut permettre le retrait de messages des files d'attente dans ces conditions. Les autres travaux ne peuvent pas retirer de messages des files d'attente dans ces conditions. Si la valeur *SNDMSG est indiquée, aucun autre travail ne peut retirer des messages de la file d'attente dans ces mêmes conditions.
De même, lorsque la valeur *WRAP est définie pour une file d'attente et que celle-ci est en mode interruption, la fonction de bouclage ne retire que des messages ayant été reçus par le programme de gestion d'interruption. Par exemple, si ce dernier n'avait pas encore reçu tous les messages lors de la saturation de la file d'attente, le message CPF2460 pouvait être émis, le système n'ayant pas pu supprimer des messages pour permettre l'exécution de la boucle.
Exemples
CRTMSGQ MSGQ(MYQ) SIZE(3 3 *NOMAX)
TEXT('File de messages pour transactions d'inventaire')
AUT(*CHANGE)
Cette commande crée la file d'attente de messages MYQ et la stocke dans la bibliothèque en cours (*CURLIB) par défaut. Tous les utilisateurs sont autorisés à envoyer des messages à la file d'attente et à lire les messages qu'elle contient.
La file d'attente de messages est créée avec une taille initiale de 3 kilo-octets (ko). Sa taille peut augmenter par incréments de 3 ko. Sa taille maximale est limitée à la limite système pour les objets, soit environ 16 000 ko.
Messages d'erreur
Messages *ESCAPE
- CPF2108
- Objet &1, type *&3, non ajouté à la bibliothèque &2.
- CPF2112
- L'objet &1 de type *&3 existe déjà dans &2.
- CPF2113
- Impossible d'allouer la bibliothèque &1.
- CPF2151
- Erreur de l'opération sur &2 de &1 type *&3.
- CPF2182
- Non autorisé à utiliser la bibliothèque &1.
- CPF2283
- La liste d'autorisation &1 n'existe pas.
- CPF2402
- Bibliothèque &1 non trouvée
- CPF247E
- Le CCSID &1 est incorrect.
- CPF2497
- Taille de &1 dans &2 excède la limite de la machine.
- CPF9838
- Limite mémoire du profil utilisateur dépassée.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.