Aller au contenu

CPF3131

Impossible d'initialiser membre &2 avec enreg par défaut.

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

Cause

Le membre &2 du fichier &1 de la bibliothèque &3 n'a pu être initialisé avec les enregistrements par défaut : le chemin d'accès du membre &5, fichier &4 de la bibliothèque &6, a empêché cette initialisation pour la raison indiquée par le code &7. Les codes raison et leur signification sont les suivants : 1

  • Le fichier a un chemin d'accès, une contrainte unique ou une contrainte de clé primaire ayant une clé unique, et les enregistrements par défaut produiraient des clés en double. L'initialisation de plusieurs enregistrements a été tentée ou une valeur de clé figure en double dans le fichier. 2
  • Des spécifications de sélection/omission ont été indiquées pour le chemin d'accès et une erreur s'est produite lors de la sélection/omission. 3
  • Le chemin d'accès a un mappage unique de clé de fichier logique et les enregistrements par défaut produiraient des clés en double. 4
  • Le chemin d'accès possède une clé en virgule flottante mais la valeur par défaut de la zone clé n'est pas un nombre.

Que faire

Entrez le paramètre RECORDS(*DLT) pour initialiser le membre qui contient les enregistrements supprimés, ou enlevez le membre qui a empêché l'initialisation (commande RMVM). Si le nom des membres et des fichiers relatifs aux chemins d'accès est *N, il se peut que ces chemins aient été créés temporairement pour une analyse.

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

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF3131) MSGF(QSYS/QCPFMSG)

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

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