如何使用select和delete语句获取数据?

2020-09-23 19:11发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我在选择查询时遇到了...

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

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


大家好,

我在选择查询时遇到了问题,我正在创建一个SD报表,在该报表中,我从4个表(VBAK,VBPA,VBKD,KONV)中获取数据。

VBAK字段是vbeln,auart,vkorg,vtweg,spart,vgrp,ernam,audat,knumv。

VBPA字段是parvw,kunnr。 (通过vbak- vbeln)

VBKD字段为bskd,bstdk。(通过vbak-vbeln)

KONV字段是kschl,knumv,kwert,kawrt。 (通过vbak-knumv)

我能够从VBAK VBPA VBKD成功获取数据,但是从KONV获取数据时遇到了问题。

从KONV获取数据的条件是:-

vbak-knumv中的knumv。

并且KSCHL应该等于'JOIG'或'JOCG'或'JOSG'。

如果满足上述条件,则应从KONV选择kawrt和kewrt。

当我在单个select语句中定义所有条件时,我正在使用delete语句查找查询,这需要大量时间来获取数据。所以,我正在尝试通过以下方式进行操作:-

<<<<从LT_VBAK中所有条目的KONV到表LT_KONV中选择kschl knumv kwert kawrt

其中KNUMV = LT_VBAK-KNUMV。

删除LT_VBAK,其中kschl NE'JOIG'或'JOCG'或'JOSG'。>>>>

但是我没有得到数据。

有人可以建议我做些更好的方法或修改吗!

谢谢。

6条回答
DafaDDDa
2020-09-23 19:37 .采纳回答

嗨,阿钦,

主要问题是:您是不是从数据库(因此是从SELECT语句)获得数据,还是在使用DELETE语句处理内部表之后没有获得任何数据?

如果是后者,那么起初我建议将您的DELETE条件合并到SELECT语句中:

如果lt_vbak不初始化。
 选择kschl knumv kwert kawrt
 来自konv
 进入表lt_konv
 对于lt_vbak中的所有条目
 在哪里knumv = lt_vbak-knumv
   AND(kschl EQ'JOIG'
或kschl EQ'JOCG' 或kschl EQ'JOSG')。 万一。 "您还可以使用" IN"运算符:... AND kschl IN('JOIG','JOCG','JOSG')。

如果上述方法不起作用-则意味着您的算法中存在逻辑问题,并且数据不在DB中(根据您的逻辑)。

希望有帮助,

最诚挚的问候,

Marcin

一周热门 更多>