Aller au contenu

MCH4245

Appel incorrect de la fonction intégrée.

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

Cause

L'objet n'a pas été créé car un appel incorrect a été effectué vers la fonction intégrée &1. Code raison &2. Les codes raison possibles sont les suivants : 1 - L'opérande &3 n'est pas une valeur littérale. 2 - Type incorrect spécifié pour l'opérande &3. 3 - Valeur incorrecte spécifiée pour l'opérande &3. 4 - Longueur incorrecte spécifiée pour l'opérande &3. 5 - Opérande &3 obligatoire et non spécifié. 6 - La fonction intégrée est appelée à partir d'un contexte incorrect.

Que faire

Corrigez l'appel de la fonction intégrée &1. Procédez de l'une des façons suivantes, en fonction du code raison : 1 - Indiquez une valeur littérale pour l'opérande &3. 2 - Indiquez un opérande avec un type admis pour l'opérande &3. 3 - Indiquez un opérande avec une valeur admise pour l'opérande &3. 4 - Indiquez un opérande avec une longueur admise pour l'opérande &3. 5 - Indiquez une valeur pour l'opérande &3. 6 - Appelez la fonction intégrée depuis un contexte correct.

Description technique

Le numéro d'instruction actuel est &7. Le nombre d'instructions actuel est &4. Le déplacement des données du flux d'instructions non valides est de &5 octets. Le déplacement de l'instruction en cours est de &6 octets. L'identificateur de note du journal LIC est &8.

The current statement number is &7. The current instruction count is &4. The offset to the instruction stream data that is not valid is &5 bytes. The offset to the current instruction is &6 bytes. The LIC log note ID is &8.

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 16
&2 *UBIN 4
&3 *UBIN 4
&4 *UBIN 4
&5 *UBIN 4
&6 *UBIN 4
&7 *UBIN 4
&8 *CHAR 8

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(MCH4245) MSGF(QSYS/QCPFMSG)

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

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