问题描述:
销售发货单报错算数溢出:将numeric转换成数据类型numeric时出现算数溢出错误。具体如下图:
当销售发货单的数量为>7万时,报错
当销售发货单的数量为<7万时,单据正常保存
更改了BcStk表的avgprice值后也添加不了。
排查过程
过SQL数据库追踪检查到底是哪里的问题。
前方高能请注意:
打开追踪工具
先停止,清除
然后运行,同时执行报错的操作(先运行后操作),再在这里立刻停止(越快越好),然后查看语句,可以通过编辑-查找相关的语句。
通过这种方式,找到了表BCbal和细表BCbalA中的字段OrderBalance值太大导致的,把该值清零就可以添加了,这个值到底是什么意思?
继续追究,经过检查发现该客户的未清订单未及时关闭,14年的订单有好多特别大的未清值,订单并未及时关闭。
备注:先是备份后把 指定的一条数据(对应的客户那条)update了 ,发现后面这个值会根据未清订单自动计算上去的。根源还是在这些未清订单上
解决方案:
1、未清订单及时关闭。
2、要注意单位使用。