abap 内表的结构体比数据库的结构体少一个client字段,怎么把内表的数据添加到数据库中?
展开全部
直接将结构体与数据表关联起来
如自定义数据表为ZMMZTKC1,完全可以直接按以下方法定义:
DATA: it_zt LIKE zmmztkc1 OCCURS 0 WITH HEADER LINE.
把需要的数据写入到内表it_zt当中。
然后LOOP内表,MODIFY到数据表zmmztkc1中即可。
client字段是否指的数据表中的mandt?这个不需赋值的。
如自定义数据表为ZMMZTKC1,完全可以直接按以下方法定义:
DATA: it_zt LIKE zmmztkc1 OCCURS 0 WITH HEADER LINE.
把需要的数据写入到内表it_zt当中。
然后LOOP内表,MODIFY到数据表zmmztkc1中即可。
client字段是否指的数据表中的mandt?这个不需赋值的。
追问
不是最好不要用modify嘛!如果本来就有一条数据存在了,用modify再去添加相同的数据的时候,他就不添加了呀!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你参考数据库表建一个结构,比如数据库表是 dbtab
data: it_dbtab like table of dbtab.
再把你内表的数据 写到这个内表里,比如内表是it_tab
loop it_Tab.
move-corr it_Tab to it_dbtab.
endloop.
insert dbtab from table it_dbtab.
这样就可以了
data: it_dbtab like table of dbtab.
再把你内表的数据 写到这个内表里,比如内表是it_tab
loop it_Tab.
move-corr it_Tab to it_dbtab.
endloop.
insert dbtab from table it_dbtab.
这样就可以了
追问
定义出来的内表他是跟内表的数据结构式一模一样的呀,所以用insert是没有的问题,现在关键是,内表表比数据库的表少一个字段,他的需求是从excel导入数据的,excel里面也没有client那个字段,所以才很纠结~~~
追答
mandt不需要赋值,这个代表端口号,忽略掉就好了。它自己会填默认值的。你就按我说的方法没问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你真滴那么纠结
那你就再定义一个内表B
和数据库的结构一样
move-corresponding (excel导入结构) to b
然后对内表B用insert语法
那你就再定义一个内表B
和数据库的结构一样
move-corresponding (excel导入结构) to b
然后对内表B用insert语法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询