记得先前写新增修改记录时,采用先Update,然后判断Sy-subrc是否为零,为零则Update成功,否则再用一句Insert的语句把新增的记录插入表。
这个写法被人家笑死了。 “不会用Modify 吗?”
新语言新特性!所以,不管以前做过什么,遇到新的东西,也有必要好好去看文档。
那么这么好用的Modify是如何用的呢?
其实很简单,Modify会根据你提供的Workarea中的字段对应Table的字段,通过匹配Primary Key 值来操作,记住这个Primary Key是Table的而不是Workarea或内表中的非数值字段。
MODIFY dbtab - source
Syntax
... FROM { {wa} | {TABLE itab} }.
这条语句会先判断是否存在相同的Primary Key值,有的话会采用Update,这里要注意一下,wa或内表和DB Table的结构是一样的,如果你只是更新其中的某个栏位,请不要使用这个语句,否则它会wa中的空值栏位更新到数据库中,要不你必须把所有的栏位先按照原来的值填充进来。
如果没有相同的Primary Key则会产生一条Insert的语句.
总结如下:
1. 适合整条记录更新或新增
2. 无法按照非Primary Key值作为条件去更新某条记录
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-531620/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/554557/viewspace-531620/