Aller au contenu

CPF0811

Longueur du paramètre RTNVAR incorrecte pour la zone de données.

Gravité 40 · Fin anormale du programme ou de la fonction

Cause

Le programme a tenté d'extraire le contenu de la zone de données &1 de la bibliothèque &2, pour l'inclure dans une variable de programme de longueur incorrecte. Si le paramètre RTNVAR est de type *LGL, la longueur de la zone de données ou de sa sous-chaîne n'est pas égale à 1. Si RTNVAR est de type *CHAR, la longueur du paramètre est donc inférieure à celle de la zone de données ou de sa sous-chaîne. Si RTNVAR est de type *DEC, le paramètre n'est pas assez long pour contenir les données figurant dans la zone de données indiquée.

Que faire

Affichez la zone de données (commande DSPDTAARA), afin de connaître sa taille et son contenu. Effectuez ensuite l'une des opérations suivantes, puis renouvelez la demande :

  • Modifiez la taille du paramètre RTNVAR ou de la zone de données.
  • Modifiez la longueur de la sous-chaîne.
  • Modifiez le contenu de la zone de données.

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

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF0811) MSGF(QSYS/QCPFMSG)

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

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