在一个大循环中,有好多小循环填充每一处字段,结果在填充数量时,手误把上面的变量拿来做了判断,一时半会儿看不出来,发现不了。
导致莫名其妙的填充了数量的数据,最后在测试环境,用少量的测试数据一步一步调试,终于找到了这个BUG。

其实应该用read来读取内表,这样的写法还可以减少书写错误:
READ TABLE GT_RESB WITH KEY aufnr = GS_hebing-aufnr MATNR = GS_hebing-MATNR INTO GS_RESB.
IF sy-subrc = 0.
gs_alv-Z1MATNR = GS_RESB-MATNR. "物料
gs_alv-bdmng = GS_RESB-bdmng. "需求数
gs_alv-z1meins = GS_RESB-meins. "单位
clear GS_RESB.
ENDIF.
本文介绍了一个在循环填充过程中出现的BUG及其修复过程。由于变量使用不当,在大循环中错误地填充了数量数据。通过逐步调试测试数据最终定位并解决了问题。文章还提供了一种使用READTABLEGT的方法来减少类似的编程错误。
19万+

被折叠的 条评论
为什么被折叠?



