Message d'erreur IBM i (AS/400)
CPF313A
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 pas pu être initialisé pour le code raison &7. Voici les différents codes raison possibles : 1 - Le fichier contient une colonne d'identité dont les valeurs MINVALUE, MAXVALUE, INCREMENT et CYCLE empêchent d'écrire au membre le nombre requis d'enregistrements. 2 - le fichier contient un identificateur de début de ligne, de fin de ligne, de début de transaction, une opération de modification de données, un registre spécial ou une variable globale intégrée. 3 - Il s'agit d'un fichier d'historique.
Que faire
Précisez le paramètre RECORDS(*DLT) afin d'initialiser le membre comportant des enregistrements supprimés ou procédez de l'une des façons suivantes pour le code raison &7 : 1 - Utilisez ALTER TABLE pour modifier les valeurs MINVALUE, MAXVALUE, INCREMENT ou CYCLE de la colonne. Le nom de la colonne d'identité peut être affiché à l'aide de la commande DSPFFD. 2 - Aucune reprise supplémentaire n'est nécessaire pour le code raison 2. 3 - Utilisez ALTER TABLE DROP VERSIONING pour enlever la gestion des versions sur le fichier &4.
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...
| Variable | Type | Longueur |
|---|---|---|
| &1 | *CHAR |
10 |
| &2 | *CHAR |
10 |
| &3 | *CHAR |
10 |
| &4 | *CHAR |
10 |
| &7 | *BIN |
2 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF313A) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF313A) EXEC(DO)
/* traitement de l'erreur */
ENDDO