Aller au contenu

CPF2526

Impossible d'agrandir la file d'attente de msg de &3/&2/&1. Travail arrêté.

Gravité 50 · Fin anormale du travail

Cause

La taille de la file d'attente de messages du travail &3/&2/&1 a atteint la valeur maximale fixée par la valeur QJOBMSGQMX qui figure dans la description du travail. L'attribut de travail JOBMSGQFL identifie la mesure à prendre.

Que faire

Effectuez les opérations suivantes : - Consultez les messages figurant dans la file d'attente de messages du travail pour connaître l'origine de la saturation. Pour ce faire, utilisez la commande DSPJOBLOG (Afficher l'historique du travail) en affectant la valeur &3/&2/&1 au paramètre JOB. Si un IPL a été effectué après l'incident, il est possible que la file d'attente de messages du travail soit introuvable. Si le paramètre de sortie de l'historique du travail (LOGOUTPUT) prend la valeur *PND, tentez d'utiliser la commande CL WRKJOBLOG (Gérer les historiques de travail) pour afficher cet historique. - Si l'attribut de travail JOBMSGQFL a pour valeur *NOWRAP, augmentez la taille maximale de la file d'attente de messages ou activez le bouclage de cette file d'attente. Pour cela, indiquez les paramètres JOBMSGQMX ou JOBMSGQFL dans les commandes suivantes : CRTJOBD (Créer une description de travail), CHGJOBD (Modifier une description de travail), SBMJOB (Soumettre un travail) ou //BCHJOB (Travail par lots). Si les paramètres JOBMSGQMX et JOBMSGQFL ne figurent pas dans ces commandes, la valeur à utiliser pour le travail est extraite des valeurs système QJOBMSGQMX et QJOBMSGQFL. - Redémarrez le travail afin d'obtenir une nouvelle file d'attente de messages.

Description technique

La file d'attente de messages d'un travail peut être saturée de messages qui n'apparaissent pas dans l'historique du travail, tels que les messages de type *STATUS. Dans ce cas, le travail est terminé quelle que soit la valeur du paramètre JOBMSGQFL. Si le travail devait effectuer un rebouclage mais n'a pas pu supprimer suffisamment de messages pour le permettre, un dump de l'objet d'espace de la file interne est généré dans un fichier spoule avant la fin du travail. Consultez le dump et, s'il n'indique pas ce qui a rempli la file et empêché le rebouclage, envoyez-le à IBM. Une autre façon de déterminer pourquoi le travail s'est terminé, si le problème peut être reproduit, consiste à tracer le travail à l'aide de la commande Démarrer une trace (STRTRC). Examinez la trace pour savoir quels types de messages sont envoyés.

A job message queue could become full with messages that do not appear in the job log, such as type *STATUS messages. In this situation, the job is ended regardless of the value in the JOBMSGQFL parameter. If the job was suppose to wrap but could not remove enough messages to allow wrapping, before the job is ended a dump of the internal queue space object is generated to a spooled file. View the dump and if it does not indicate what filled the queue to prevent wrapping, send the dump to IBM. Another way to determine why the job ended, if the problem can be recreated, is to trace the job with the Start Trace (STRTRC) command. Examine the trace to find out what types of messages are being sent.

Variables du message

Quand le système envoie le message, chaque variable est remplacée par une valeur réelle : un nom d'objet, de bibliothèque, un code...

VariableTypeLongueur
&1 *CHAR 10
&2 *CHAR 10
&3 *CHAR 6

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF2526) MSGF(QSYS/QCPFMSG)

L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :

MONMSG MSGID(CPF2526) EXEC(DO)
  /* traitement de l'erreur */
ENDDO