Message d'erreur IBM i (AS/400)
CPF4028
Ouverture du membre &1 changée en SEQONLY(*NO).
Gravité 10 · Avertissement
Cause
Le membre &1, &2, &3 a été ouvert avec SEQONLY(*YES) dans le pgm ou dans OVRDBF. Or, ce paramètre a été remplacé par SEQONLY(*NO) en raison de l'erreur &4. 1 - Le pgm a ouvert le membre &1 en écriture seule. SEQONLY(*YES) était défini avec le nombre d'enreg par défaut. Ce paramètre a été remplacé par SEQONLY(*NO) afin de permettre au pgm de gérer les clés en double, le mappage de données, le mappage de clés et les erreurs de sélection et/ou d'omission lors de l'écriture. 2 - Le pgm a ouvert le membre pour des opérations autres que la lecture ou l'écriture seule. 3 - Le pgm a ouvert pour l'écriture seule un membre de fichier logique qui est sous-jacent pour plusieurs autres membres du fichier physique. 4 - La longueur d'enreg ajoutée aux informations en retour pour le membre dépasse 32767 octets. 5 - Le contrôle de validation *ALL est actif et le membre a été ouvert pour des opérations de lecture seule, ou le contrôle de validation *ALL, *CS ou *CHG a été indiqué pour un fichier réparti ouvert pour des opérations de lecture seule. 6 - Le pgm a ouvert le membre &1 en écriture seule et SEQONLY(*YES) a été indiqué avec le nombre d'enregistrements par défaut. Un retour de clé en double ou de clé d'insertion a été demandé. SEQONLY(*YES) a été remplacé par SEQONLY(*NO) afin d'obtenir un retour de clé en double ou d'insertion au niveau de chaque enregistrement. 7 - Le pgm a ouvert un membre de requête qui contient au moins une sous-sélection avec une référence corrélée à la sous-requête ou à la sous-sélection de plus haut niveau. L'opérateur IN, = ANY ou <> ALL, indiqué avec cette sous-sélection, a été traité comme une référence corrélée. Or ce type de requête n'autorise l'extraction que d'un enregistrement à la fois. 8 - Le fichier contient des contraintes référentielles ou des déclencheurs, ou bien il s'agit d'un fichier réparti. 9 - Il s'agit d'un fichier réparti ouvert pour DSTDTA(*CURRENT). Au moins un noeud de ce fichier a été mis en oeuvre par un traitement de fichier logique joint. 10 - Le fichier comporte des zones de type liaison de données de contrôle de liaison de fichiers. 11 - Le fichier comporte une colonne de type ROW-BEGIN (début de ligne), ROW-END (fin de ligne), TRANSACTION-START-ID (ID de début de transaction), ou expression générée. 13 - Le fichier est répliqué et n'est pas journalisé. 14 - Le fichier est répliqué et comporte au moins une zone d'objet LOB. 85 - Le fichier est répliqué et la cible n'adment pas SEQONLY(*YES).
Que faire
Pour la condition 1 ou 6 :
- Si le remplacement du paramètre SEQONLY(*YES) par SEQONLY(*NO) n'est pas accepté, remplacez-le en indiquant SEQONLY(*YES N) dans la commande OVRDB, N spécifiant le nombre d'enregistrements. Renouvelez ensuite la demande.
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 | *BIN |
2 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF4028) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF4028) EXEC(DO)
/* traitement de l'erreur */
ENDDO