我有一张表让我们称之为" dbtab"。 我的内部表的名称是" it_tab"。
我在" new_number"。
中有一个数字我将该号码插入空白字段" laufnr"在我的dbtab中使用:
update dbtab set laufnr = new_number where laufnr = ''.
这个工作正常,但是我的it_tab中没有变化。
如何从dbtab更新内部表?
或者如何将值插入内部表格中的特定字段?
答案 0 :(得分:2)
您有两种选择:
LOOP AT it_tab ASSIGING <tab> WHERE laufnr = ''. <tab>-laufnr = new_number. ENDLOOP.
答案 1 :(得分:0)
您可以像数据库表一样更新您的itab ...唯一的区别是,您不能使用“更新”...而是使用“修改”。
modify it_tab set laufnr = new_number where laufnr = '' .
另一个选项是简单地重新加载dbtab
CLEAR it_tab.
SELECT * INTO it_tab FROM dbtab WHERE .... .
答案 2 :(得分:0)
有两种不同的东西,它们没有联系。 内部表是特定时刻的数据集的表示。 数据库表是最新的数据。 您可以设置更改其中任何一个,但不能同时使用单个指令更改两者。 我会建议: - 更新您的数据库 - 刷新内存中的副本 提示:如果你想要这么做&#34;艰难的方式&#34;,只需创建一个对象,并用某种UPDATE方法做两件事。
答案 3 :(得分:0)
嗨试试这个希望它有帮助
LOOP AT it_tab.
it_tab-lufnr = new_number.
MODIFY it_tab TRASNPOTING laufnr WHERE laufnr = ''.
ENDLOOP.
或条件
LOOP AT it_tab where laufnr = ''.
it_tab-lufnr = new_number.
MODIFY it_tab TRASNPOTING laufnr WHERE laufnr = ''.
ENDLOOP.