在内部表B中查找内部表A中不存在的行

2020-08-25 14:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我有两个内部表。 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我有两个内部表。

只是为了阐明我的观点。 我正在举一个例子:

内部表A包含10个条目,内部表B包含12个条目。

表A和B有10个共同的条目。 现在,我对B中而不是A中的2个条目感兴趣。

我正在使用以下方法:

在这里,我只是从B中删除A中存在的条目。

将LOOP AT 放入
删除 WHERE(Where_Condition)。
ENDLOOP。

但是效率不高。 因此,您能建议我采取任何有效的方法来实现这一目标吗?

我还要动态创建上述where条件。

任何帮助将不胜感激。

谢谢

Partish

7条回答
Haoba3210
2020-08-25 14:47

Hello Partish,

尝试一下

类型:st_zkds01的开始,
mandt类型zkds01-mandt,
num1类型zkds01-num1,
st_zkds01的结尾。


类型:st_zkds012的开始,
mandt类型zkds012-mandt,
num1类型zkds012-num1,
st_zkds012的结尾。


数据:st_1 st_zkds01的类型表,
wa_1 st_zkds012的类型表,
wa_2 st_zkds012的类型表。


选择开始。/p>


选择*从zkds01进入表it_1。
选择*从zkds012进入表it_2。


DATA lv_data TYPE num1。


在it_2上进入wa_2。


DATA(标志)=0。
将表_1读入wa_1中,键num1 = wa_2-num1。
如果sy-subrc =0。
标志=1。
ENDIF
IF标志=0。
写:/wa_2-num1。
ENDIF。

ENDLOOP。

一周热门 更多>