Aller au contenu

CPF5044

Opération de lecture impossible pour le membre &4. (C I)

Gravité 30 · Erreur grave

Cause

Une erreur s'est produite lors de la conversion de données au milieu d'un bloc d'enregistrements. Comme il s'agit d'un fichier joint, il n'est pas possible d'établir avec certitude le retour à la bonne position d'enregistrement dans le membre.

Que faire

Indiquez SEQONLY(*YES 1) ou SEQONLY(*NO) dans la commande OVRDBF (Substituer un fichier base de données), puis renouvelez votre demande.

Réponses possibles

RéponseEffet
CAnnuler la demande.
IIgnorer la demande et continuer.

Description technique

Le message CPF5044 est envoyé lorsque le fichier est ouvert en entrée seulement, que le blocage des enregistrements a été demandé et qu'une conversion est nécessaire entre une zone du fichier et le CCSID du processus. Si une zone ne peut pas être convertie correctement, ou si le retour d'information sur les clés est demandé et qu'une substitution de caractères est utilisée pour une zone du retour d'information sur les clés, et que l'enregistrement en erreur n'est pas le seul enregistrement extrait, une tentative de repositionnement sur l'enregistrement en erreur est effectuée. S'il s'agit d'un fichier de jointure, le repositionnement peut ramener le premier enregistrement d'un ensemble d'enregistrements en utilisant le premier fichier de la jointure et non l'enregistrement précis en erreur.

The CPF5044 message is sent when the file is opened for input only, record blocking has been requested, and translation is needed between a field in the file to the process CCSID. If a field cannot be converted correctly, or key feedback is requested and a character substitution is used for a field in the key feedback and the record the error occurs on is not the only record that was retrieved, an attempt is made to position back to the record in error. If this is a join file, positioning back may get the first record of a set of records using the first file in the join and not the specific record in error.

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
&4 *CHAR 10

Message d'interrogation

Ce message attend une réponse de l'opérateur, par défaut C. Réponses acceptées : C, I.

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF5044) MSGF(QSYS/QCPFMSG)

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

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