abap报表开发中如何输出不满足条件的数据
有2个表,入库表A和物料表B,查找A中物料号在B中是否存在,输出在B中匹配不到的物料号,如何输出不满足条件的数据,刚开始入手abap报表,只会输出满足条件的数据,请大家帮...
有2个表,入库表A 和物料表B,查找A中物料号在B中是否存在,输出在B中匹配不到的物料号,如何输出不满足条件的数据,刚开始入手abap报表,只会输出满足条件的数据,请大家帮帮忙。
展开
1个回答
展开全部
有很多种方法完成,我就说一种比较简单的吧!
根据你的条件先把A表中的物料全取出到内表T1,同时把B表中的物料全取出到内表T2,然后循环内表T1,在循环中读取T2表中是否存在该物料号,如果存在,就删掉T1中的这个条目,如下:
DATA: T1 TYPE TABLE OF A WITH HEADER LINE,
T2 TYPE TABLE OF B WITH HEADER LINE.
SELECT * FROM A
INTO TABLE T1
WHERE <Condition>.
SELECT * FROM B
INTO TABLE T2
WHERE <Condition>.
LOOP AT T1.
READ TABLE T2 WITH KEY MATNR = T1-MATNR.
IF sy-subrc = 0.
DELETE T1.
ENDIF.
ENDLOOP.
这样最后T1中留下的数据就是你想要的数据
根据你的条件先把A表中的物料全取出到内表T1,同时把B表中的物料全取出到内表T2,然后循环内表T1,在循环中读取T2表中是否存在该物料号,如果存在,就删掉T1中的这个条目,如下:
DATA: T1 TYPE TABLE OF A WITH HEADER LINE,
T2 TYPE TABLE OF B WITH HEADER LINE.
SELECT * FROM A
INTO TABLE T1
WHERE <Condition>.
SELECT * FROM B
INTO TABLE T2
WHERE <Condition>.
LOOP AT T1.
READ TABLE T2 WITH KEY MATNR = T1-MATNR.
IF sy-subrc = 0.
DELETE T1.
ENDIF.
ENDLOOP.
这样最后T1中留下的数据就是你想要的数据
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询