Aller au contenu

Message d'erreur IBM i (AS/400)

CPF2843

Valeur incorrecte dans expression numéro &5 de INCREL.

Gravité 30 · Erreur grave

Cause

L'un des cas de figure ci-dessous s'applique à la zone &4 du fichier &1 de la bibliothèque &2 :

  • S'il s'agit d'une zone de type caractère, la longueur de la chaîne est supérieure à la longueur de zone définie &6, ou bien aucune donnée de comparaison de chaîne de caractères n'a été indiquée pour une zone de longueur fixe.
  • S'il s'agit d'une zone de type date, heure ou horodatage, aucune valeur n'a été indiquée pour ces éléments, ou bien la chaîne indiquée était incorrecte et n'a pas été convertie au format interne utilisé pour les comparaisons de zones.
  • S'il s'agit d'une zone alphanumérique binaire, seule la valeur *EQ ou *NE est admise et la longueur d'opérande de zone alphanumérique binaire doit être égale à la longueur de la zone.

Que faire

Procédez de l'une des façons suivantes, puis renouvelez la demande :

  • Pour une zone de type caractère, indiquez une chaîne de caractères de longueur inférieure.
  • Modifiez le nom de la zone.
  • Pour une zone de longueur fixe, entrez une chaîne d'au moins un caractère.
  • Pour une zone de type date, indiquez une chaîne correcte en utilisant le format et le séparateur définis pour le travail (la commande DSPJOB vous permet de les retrouver), ou bien l'un des formats SAA, ou encore le format AAAAJJJ (sans séparateur).
  • Pour une zone de type date, entrez une chaîne correcte en utilisant le format et le séparateur de date définis par le travail (pour les identifier, lancez la commande DSPJOB). Vous pouvez également employer l'un des formats SAA, ou le format AAAAJJJ (sans séparateur).
  • Pour une zone de type heure, indiquez une chaîne correcte en utilisant le format et le séparateur définis pour le travail (la commande DSPJOB vous permet de les retrouver), ou bien l'un des formats SAA.
  • Pour une zone de type horodatage, indiquez une chaîne correcte en utilisant le format d'horodatage SAA ou le format AAAAMMJJHHMMSS (sans séparateur).
  • Pour la zone alphanumérique binaire, indiquez *EQ ou *NE en tant qu'opérande et vérifiez que la longueur d'opérande est égale à la longueur de zone.

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
&4 *CHAR 10
&5 *BIN 2
&6 *BIN 2

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF2843) MSGF(QSYS/QCPFMSG)

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

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