问题现象: |
在存货核算中进行单据记帐总有若干条单据无法记帐(ADMIN的密码是1861、记帐日期区间选择2005/07/26-2005/07/28,有11条记录无法记帐) |
问题原因: |
1、进入存货模块进行‘正常单据记账’,其中有11条记录不能正常记账。通过跟踪发现,在记账时,程序会往IA_subsidiary表中插入记录,包括当前材料出库单中所有的表头及表体内容,但是在插入过程中出现错误,将此语句在查询分析器中执行后,提示“将截断字符串或二进制数据。语句已终止。”这时,可以判断是某个字段超过预置长度造成。经过仔细查询发现错误字段为csaleordercode(对应销售订单号),在ia_subsidiary表中csaleordercode字段的长度设置为20,而材料出库单中的对应销售订单号却录入了26个字符,造成不能记账的错误。 2、那么,即然超长了为什么对应的入库单号还可以录入进去呢?这时,我们再来看一下so_somain (销售订单主表)和 so_sodetails(销售订单子表)中csocode(销售订单号)的预置长度为多少?结果发现为30!这下问题原因就找到了,是由于两个表之间的销售订单号预置长度不统一造成。 |
解决方案: |
修改ia_subsidiary表的设计,将csaleordercode字段的长度改为30,再记账就可以了。 |
相关补丁: |
|
版本: |
8.60sp |
模块: |
存货核算 |
产品: |
U860SP----存货核算 |
问题名称: |
单据无法正常记帐 |
最后更新: |
2005-09-12 00:00:00 |