CPF2818
TOMBR(*FROMMBR) non admis.
Gravité 40 · Fin anormale du programme ou de la fonction
Cause
L'ID label du fichier d'origine, &3, se trouvant dans le fichier &1 de la bibliothèque &2, n'est pas un nom de membre admis par le système. Ce nom doit appartenir à l'une des catégories syntaxiques suivantes :
- Il doit comporter 1 à 10 caractères. Les apostrophes de part et d'autre du nom sont facultatives. Le premier caractère doit être une lettre de A à Z ou un caractère spécial tels que le signe dollar, livre sterling ou arobase. Les caractères suivants peuvent être des lettres de A à Z, des chiffres de 0 à 9 et des caractères spéciaux tels que le point, le dollar, la livre sterling, le trait de soulignement ou l'arobase.
- Il doit comporter de 1 à 8 caractères, compris entre apostrophes. Il admet tous les caractères affichables (supérieurs à X'3F', à l'exception de X'40' (blanc), X'5C' (astérisque), X'6F' (point d'interrogation), X'7D' (apostrophe), X'7F' (guillemets), et X'FF' (caractère de contrôle).
Que faire
Indiquez le nom d'un membre de fichier de destination dans le paramètre TOMBR, puis renouvelez la demande.
Description technique
Lorsque le système convertit une étiquette de fichier d'origine en nom de membre de fichier de destination pendant une copie, il utilise les 10 derniers caractères qui précèdent tous les blancs consécutifs situés à droite. Par exemple, OPQRSTUVWXYZ devient QRSTUVWXYZ ; OPQRSTUVWXYZ suivi de blancs devient QRSTUVWXYZ ; XXXXX.ABCD.EFGHI.12345 devient FGHI.12345. Si les 10 derniers caractères qui précèdent tous les blancs consécutifs situés à droite ne constituent pas un nom valide, le système utilise les caractères situés à droite du dernier point de ces caractères. Par exemple, XXXXX.ABCDEF*.YYYYY devient YYYYY car DEF*.YYYYY n'est pas un nom valide.
When the system converts a from-file label to a to-file member name during a copy operation, it uses the last 10 characters that appear before all consecutive blanks at the right. For example, OPQRSTUVWXYZ would become QRSTUVWXYZ OPQRSTUVWXYZ followed by blanks would become QRSTUVWXYZ XXXXX.ABCD.EFGHI.12345 would become FGHI.12345 If the last 10 characters that appear before all consecutive blanks at the right is not a valid name, the system uses the characters that are to the right of the last period in these characters. For example, XXXXX.ABCDEF*.YYYYY would become YYYYY because DEF*.YYYYY is not a valid name.
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 |
17 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF2818) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF2818) EXEC(DO)
/* traitement de l'erreur */
ENDDO