L'erreur de données décimales est quelque chose qui arrive très souvent pendant que je fais des tests et débogue des programmes RPG. Parfois, le champ en erreur est très évident et clair comme lorsque vous déboguez un programme et que l'erreur est lancée lors d'une opération EVAL. Mais dans certains autres cas, ce n'est pas clair et une option pour prendre un Dump apparaît. Après avoir pris une décharge, comment comprenez-vous le champ par erreur et où le problème s'est-il produit? Donc, fondamentalement, la question est de savoir comment lire un fichier Spool et comprendre ce qui s'est mal passé. Comment comprendre l'action requise pour corriger le problème. Principalement comment comprendre quel champ est assigné une mauvaise valeur qui a abouti à l'erreur de données Decimal? Quels sont les points importants à surveiller dans la bobine? Ci-dessous un exemple de fichier spool pour référence que j'essaie de comprendre.Comment lire un vidage iSeries après une erreur de données décimales
https://www.dropbox.com/s/qls40890gfije5o/pftest.txt?dl=0
Si vous avez une liste de compilation à portée de main (ou si vous pouvez la régénérer pour qu'elle corresponde à ce qui est déjà en cours d'exécution), recherchez le numéro de requête dans la liste de compilation. Il aura probablement le champ numérique avec le problème. –
Et si l'erreur est levée sur une instruction d'entrée, c'est presque certainement un fichier DDS natif plutôt qu'une table SQL. Les valeurs de champ pour les fichiers natifs sont validées lors de la lecture, mais les colonnes SQL sont validées lorsqu'elles sont écrites (ce qui rend difficile l'obtention de données invalides dans une table en premier lieu). – user2338816