Aller au contenu

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

  • MSGQ File attente messages obligatoire
  • TEXT Texte 'descriptif'
  • FORCE Stockage forcé mém secondaire
  • SIZE Taille de la file d'attente
  • AUT Droits
  • ALWALR Alertes admises
  • CCSID ID codé de jeu de caractères
  • MSGQFULL Action 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.