
Correction de "Another user changed the definition of..." (version 3.2.91c)
Depuis quelque temps, nous nous heurtions à un message d’erreur de MS Dynamics NAV C/Front lors de la mise à jour ou de l’ajout d’enregistrements dans NAV. Le message obtenu était "Another user changed the definition of table xxx", où xxx est la table NAV dans laquelle nous essayons d’écrire.
Le message d’erreur indique que la définition ou la structure de la table concernée a été modifiée par un autre utilisateur. Le problème : dans tous les cas où ce message apparaissait systématiquement, personne d’autre ne modifiait de définition de table dans NAV ; le message était donc clairement erroné.
Les recherches sur Internet proposaient différentes pistes autour de la mise à niveau de NAV Client/Server et de C/Front vers une version plus récente. Cela n’a pas non plus aidé dans notre cas.
Solution
La solution était liée aux données exactes écrites dans NAV via C/Front. Lors de la mise à jour d’une valeur BCD dans NAV (BCD signifie Binary Coded Decimal, le type de données numérique que NAV utilise en interne) avec la valeur 0 (zéro), nous définissions dans certains cas l’exposant à une valeur différente de 0 et le reste de la valeur à des zéros. C’est aussi ce que NAV nous renvoyait lors de la lecture de valeurs BCD.
Mettre la valeur BCD à 0
C’était bien là l’erreur et la cause du message ci-dessus. Lorsque vous écrivez une valeur 0 encodée en BCD dans NAV, vous devez tout mettre à zéro, y compris la partie exposant.
J’espère que cela aidera d’autres utilisateurs de NAV C/Front confrontés à cette erreur.
Mettre à niveau le RapidiConnector
Concernant le service RapidiOnline, retenez simplement ceci : si vous rencontrez l’erreur ci-dessus et qu’elle persiste (car si elle n’apparaît qu’une seule fois, il est très possible que quelqu’un ait réellement modifié la définition de la table), la solution consiste à mettre à niveau le RapidiConnector en version 3.2.91c ou ultérieure.
Si votre RapidiConnector doit être mis à niveau, contactez notre support. Nous pouvons désormais le faire à distance dans de nombreux cas, sans aucune intervention de votre part.
Merci
Michael
