在AMDP中选择联接查询

2020-08-16 08:20发布

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

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


大家好,

任何人都可以帮助我修复以下查询。

我正在使用AMDP,所以我需要使用选择连接条件在AMDP中编写选择查询,以便可以在内部表中获取过滤后的值。 下面是我在旧的abap程序中编写的代码。 请让我知道我们如何在AMDP中转换相同的代码。

从vbrp中将vbeln,posnr,parvw,kunnr选择到表@data(lt_vbrp1)中
 对于lt_itab中的所有条目
 其中vbeln = lt_itab-aubel和posnr = lt_itab-aupos且parvw ='WE'。


 *-从标题获取值(此处标题值存储在000000行项目中)
 对于lt_itab中的所有条目,从vbrp中选择vbeln,posnr,parvw,kunnr到表@data(lt_vbrp2)中
 其中vbeln = lt_itab-aubel,posnr ='000000',parvw ='WE'。

 按vbeln posnr排序lt_vbrp1。
 按vbeln posnr排序lt_vbrp2。

 在lt_itab处循环进入data(ls_itab)。
 用键vbeln = ls_itab-aubel posnr = ls_itab-aupos二进制搜索将表lt_vbrp1读入data(ls_vbrp)。
 如果sy-subrc eq 0。
 *将数据附加到itab_final。
 其他。
 使用键vbeln = ls_itab-aubel posnr ='000000'二进制搜索将表lt_vbrp2读入ls_vbrp。
 *将数据附加到itab_final。
 万一。

 清除ls_vbrp。
 结束循环。


 

预先感谢。

-Vijendra

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

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


大家好,

任何人都可以帮助我修复以下查询。

我正在使用AMDP,所以我需要使用选择连接条件在AMDP中编写选择查询,以便可以在内部表中获取过滤后的值。 下面是我在旧的abap程序中编写的代码。 请让我知道我们如何在AMDP中转换相同的代码。

从vbrp中将vbeln,posnr,parvw,kunnr选择到表@data(lt_vbrp1)中
 对于lt_itab中的所有条目
 其中vbeln = lt_itab-aubel和posnr = lt_itab-aupos且parvw ='WE'。


 *-从标题获取值(此处标题值存储在000000行项目中)
 对于lt_itab中的所有条目,从vbrp中选择vbeln,posnr,parvw,kunnr到表@data(lt_vbrp2)中
 其中vbeln = lt_itab-aubel,posnr ='000000',parvw ='WE'。

 按vbeln posnr排序lt_vbrp1。
 按vbeln posnr排序lt_vbrp2。

 在lt_itab处循环进入data(ls_itab)。
 用键vbeln = ls_itab-aubel posnr = ls_itab-aupos二进制搜索将表lt_vbrp1读入data(ls_vbrp)。
 如果sy-subrc eq 0。
 *将数据附加到itab_final。
 其他。
 使用键vbeln = ls_itab-aubel posnr ='000000'二进制搜索将表lt_vbrp2读入ls_vbrp。
 *将数据附加到itab_final。
 万一。

 清除ls_vbrp。
 结束循环。


 

预先感谢。

-Vijendra

付费偷看设置
发送
3条回答
zhangjiyang1323
1楼-- · 2020-08-16 09:03

嗨Satish Kumar,

感谢您的答复,但这不是我期望的答复。

SAP德到
2楼-- · 2020-08-16 09:14

VK

要回答您的问题,您必须了解 首先,这将有助于您理解解决方案的一部分。

并非您的代码的所有部分都可以转换为AMDP,因此您必须了解并确定应该将逻辑的哪一部分推入到AMDP中。 AMDP以及您想在ABAP编辑器中处理的那一部分。

要清楚了解以上所有概念,必须先了解这些概念,然后您自己才能到达解决方案部分。

从以下内容开始:

1)了解AMDP的理论部分。

2)从以下简单示例开始。

3) 开始编写一些练习。

论坛中有很多相同的文章,您可以尝试搜索。

一切顺利!

干杯!

闻人可可
3楼-- · 2020-08-16 08:57

您好 VK

首先,VBRP表不包含 PARVW字段。

这是个主意,假设您的确是VBPA,并且您要提供LT_ITAB作为AMDP的参数。

 SELECT
   当b〜vbeln不为空的情况下,然后b〜vbeln否则,c〜vbeln以vbeln结尾,
   当b〜posnr不为空时,然后b_posnr以ELSE c〜posnr END作为posnr的情况,
   当b〜parvw不为空的情况下,然后b〜parvw否则为c_parvw结束为parvw,
   b〜kunnr不为空时的情况,然后b〜kunnr否则c〜kunnr以kunnr结尾
   来自:it_itab AS a
   左外联接vbpa AS b
     ON b〜vbeln = a〜aubel
     AND b〜posnr = a〜aupos
     AND parvw ='我们'
   左外连接vbpa AS c
     ON b〜vbeln = a〜aubel
     AND b〜posnr = 0
     AND parvw ='我们'
   在哪里(b〜parvw不为空或(b〜parvw为NULL和c〜parvw不为NULL))。

亲切的问候,

Mateusz

一周热门 更多>