abap 怎样使两张内表合成一个内表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap 怎样使两张内表合成一个内表相关的知识,希望对你有一定的参考价值。
两张表结构不同 比如说 第1张表示采购订单 第2张表是物料 而采购订单下有多个物料
目的:把第2张表和第1张表 合成一个表 注:都是内表 并且 要相互对应
2.你还可以做一个动态内表,结构参照两个需要合并的内表结构。 参考技术A 1. 如果两张内表结构相同的话,用下面的语句:
APPEND LINES OF 内表一 TO 内表二.
2. 如果两张内表的结构不同的话,就需要用关键字做双层LOOP循环了。 参考技术B DATA:BEGIN OF C OCCURS 0.
INCLUDE STRUCTURE A.
INCLUDE STRUCTURE B.
data: end of C.
LOOP AT A.
MOVE-CORRESPONDING A to C .
LOOP AT B where <condition>.
MOVE-CORRESPONDING B to C .
APPEND C.
ENDLOOP.
ENDLOOP.本回答被提问者和网友采纳
ABAP 一张内表的,相同物料的数量汇总。
现在有一张有数据内表ITAB,其中有物料号,数量,单位。现在要把相同物料号下的数量进行汇总。该怎样写?
假设内表名叫itab 如果物料号matnr是key 那就用collect.data: itab1 like table of itab with header line.
clear itab.
loop at itab.
move-corresponding itab to itab1.
collect itab1.
endloop.
fresh itab.
itab[] = itab1[].
这样应该可以,还有一个方法,如果你解决不了我再打出来。。。下班了有点记不住~~~ 参考技术A 内表其他栏位要定义成字符型的变量,数量定义为整型变量。
然后Loop内表,Collect内表即可。
楼上方法正解...只是以上这点要注意
Loop at itab.
...
Collect itab.
clear itab.
endloop. 参考技术B loop内标,然后试试COLLECT。应该可以实现。
以上是关于abap 怎样使两张内表合成一个内表的主要内容,如果未能解决你的问题,请参考以下文章
SAP abap开发现在有一张内表ITAB里面有两个字段A和B数据如下: