LOOP AT ITAB INTO WA
WA2-ZHSJ1 = WA-B
APPEND WA2 TO ITAB2
ENDLOOP
没怎么明白你的意思
循环ITAB到工作区,然后将工作区对应字段再付给与ITAB2对应的工作区WA2,
最后把WA2弄到ITAB2里
TYPES:BEGIN OF itable,
bldat TYPE mkpf-bldat, "制单日期
xblnr TYPE mkpf-xblnr, "送货单或报关单号
usnam TYPE mkpf-usnam, "制单人
mblnr TYPE mseg-mblnr, "物料凭证
END OF itable
MKPF 抬头:物料凭证
MSEG 凭证段:物料
DATA: itab TYPE itable
SELECT a~bldat a~xblnr a~usnam b~mblnr INTO CORRESPONDING FIELDS OF TABLE itab
FROM mkpf AS a
INNER JOIN mseg AS b ON b~mblnr = a~mblnr AND b~mjahr = a~mjahr
WHERE a~mblnr = p_mblnr
AND a~mjahr = p_mjahr
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_events = event_tb[]
tables
t_outtab = itab[]
你参考数据库表建一个结构,比如数据库表是
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
这样就可以了
1 你写的代码是怎样的?有可能是没注意DATA和TYPES的区别。types c1(30) type cdata itab1 type table of c1data c2(30) type cdata itab2 like table of c22 char30是一个Data element,相当于Data typeCHAR, Length 303 char是数据字典中的一种数据类型(同类的有ACCP、DATS、QUAN等), c是ABAP中的数据类型(同类的有C、N、D、T、X、I、P、F、STRING、XSTRING)。数据字典中的数据类型是user interface层对数据的分类,用这种分类定义的table field 、structure field或data element用在ABAP程序时,ABAP处理器会把它转换成C,N,D这样的类型。在数据库中创建表时,数据字典的数据类型就会转换成数据库系统所用的类型。
所有的ABAP程序都驻留在SAP数据库里。他们不像Java或者C++程序那样存储在一个单独的外部文件里,在数据库里所有的ABAP代码都以两种形式存在:可以用ABAP workbench查看 来源网络。
对于alv不知道你是通过function来做,还是通过class来做,不过不管哪种方法,都需要按照alv输出的字段来设置内部表,然后把这个内部表作为参数传给function或者class的methord。
至于这个内部表,就看你的需求了,可以先从需要的不同的系统数据库表中找出多个字段,然后编辑好就可以了。
如果你不知道怎么找字段,这个也没什么特别好的办法,如果没有式样书参照,只能按照经验来了。例如是mm模块的,就有可能用到物料这个字段,matnr,那你就在mm相关的表里面找。
希望对你有帮助。
以上就是关于sap abap从结构相同的两个数据库表取两次数据放到同一个内表,不带条件的两次内表只保留第二次全部的内容,包括:sap abap从结构相同的两个数据库表取两次数据放到同一个内表,不带条件的两次内表只保留第二次、在ABAP 中用ALV做报表怎么实现要在数据库两个表中字段现示到报表中、求ABAP中内表,工作区,数据库的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)