modify数据库表时注意数据结构要一致

前几天小伙伴说MODIFY透明表突然失效了,SUBRC为0但是数据没进数据库,程序用了好多年了,最近只是加了个复选框,没做其他改动。

写法大致如下,运行完后SY-DBCNT等于内表条数(实际案例是内表更新),SY-SUBRC等于0,但SE16N查数据发现数据毫无变化。

modify数据库表时注意数据结构要一致

看了下代码,注意到MODIFY后面的结构LS_OUT和数据库表SCARR结构并不完全一致,我以前MODIFY之前一般都是参考数据库表定义一个局部变量,然后把其他结构中要更新的数据MOVE到这个变量进行更新。

让小伙伴参考透明表定义一个局部变量,然后用这个变量更新数据库,成功了。

modify数据库表时注意数据结构要一致

modify数据库表时注意数据结构要一致

其实人在清醒的时候,不容易犯错,但当事情特别多、特别杂的时候,出现上面这样看起来很基础的问题,有时候一下子卡壳了确实会发现不了原因。

假如生活欺骗了你,一般情况下,ABAP不会欺骗你,除非编译器有BUG。

平时按照规范多加练习,有些写法自然而然按照规范写就对了。

本文作者: GavinDong

版权属于: GavinDong博客

文章链接: https://www.gavindong.com/9133.html

版权所有,转载时必须以链接形式注明作者和原始出处及本声明。

email