Aller au contenu

Message d'erreur IBM i (AS/400)

CPFB412

Erreur de données en entrée au niveau du compilateur rpcgen.

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

Cause

Une erreur de données s'est produite en entrée, au niveau du compilateur rpcgen. L'erreur a été trouvée à la ligne &1, colonne &2, dans &4. Le code raison correspondant est &3. La signification des codes raison est la suivante : 1 : Un mot clé de définition était attendu. 2 : Un type de résultat incorrect a été indiqué. 3 : Un seul argument est admis. 4 : Une utilisation incorrecte du type void a été détectée dans la définition du programme. 5 : N'utilisez pas de déclaration de tableau de pointeurs ; utilisez typedef. 6 : Une déclaration de tableau était attendue. 7 : Une déclaration de tableau de longueur variable était attendue. 8 : Opaque - Un type d'argument incorrect a été trouvé. 9 : Un pointeur vers une chaîne n'est pas admis dans les arguments du programme. 10 : Les tableaux ne peuvent pas être déclarés comme arguments de procédures ; utilisez typedef. 11 : Le type void n'est pas admis dans une union et dans des définitions de programmes comportant plus d'un argument. 12 : Un spécificateur de type était attendu. 13 : Une constante ou un identificateur était attendu. 14 : Une constante de chaîne non terminée a été trouvée. 15 : Une chaîne de caractères vide a été trouvée. 16 : Une erreur de préprocesseur s'est produite. 17 : Un nom incorrect (réservé) a été utilisé. 18 : Un jeton inattendu a été trouvé. L'un des types de jetons suivants est attendu : &5.

Que faire

Remédiez à l'incident, puis renouvelez votre demande.

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 *BIN 4
&2 *BIN 4
&3 *BIN 4
&4 *CCHAR variable
&5 *CCHAR variable

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPFB412) MSGF(QSYS/QCPFMSG)

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

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