CPF4313
RCDLEN &7 incompatible avec BLKLEN &8.
Gravité 40 · Fin anormale du programme ou de la fonction
Cause
Le fichier &2, dans &3, a le format de bloc *&6. Pour les enregistrements de longueur fixe (RCDBLKFMT, valeur *F ou *FB), le résultat obtenu en retranchant de la longueur de bloc la position dans mémoire tampon ASCII doit être un multiple de la longueur d'enregistrement sur la bande. Pour les enregistrements de format indéfini (RCDBLKFMT, valeur *U), ce résultat doit être égal à la longueur d'enregistrement sur la bande. En raison de cette restriction non définie, la longueur de bloc d'un enregistrement de format indéfini est limitée à 32767. Pour un fichier de type *SRC, la valeur RCDLEN doit être égale à la longueur d'enregistrement sur la bande plus 12 octets.
Que faire
Effectuez l'une des opérations suivantes, puis renouvelez la demande : 1) Indiquez une combinaison correcte de paramètres RCDLEN et BLKLEN (commande OVRTAPF). S'il s'agit d'un format indéfini, la longueur maximale est limitée à 32767 octets. 2) S'il s'agit d'un fichier d'entrée avec label standard, indiquez également REELS(*BLP) dans la commande OVRTAPF, afin que les longueurs d'enregistrement et de bloc indiquées dans les labels existants soient ignorées.
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 |
|---|---|---|
| &2 | *CHAR |
10 |
| &3 | *CHAR |
10 |
| &6 | *CHAR |
4 |
| &7 | *BIN |
4 |
| &8 | *BIN |
4 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF4313) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF4313) EXEC(DO)
/* traitement de l'erreur */
ENDDO