独特价值

2020-08-19 02:21发布

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

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


我有2个表VBAK和vBAP。 我想从vbak获取销售组织,客户和分销渠道,并从VBAP表获取matnr并与it_cond表进行比较。

我是ABAP的新手。 。 您能否让我知道如何从2个内部表vbak和vbap中获取唯一值。

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

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


我有2个表VBAK和vBAP。 我想从vbak获取销售组织,客户和分销渠道,并从VBAP表获取matnr并与it_cond表进行比较。

我是ABAP的新手。 。 您能否让我知道如何从2个内部表vbak和vbap中获取唯一值。

付费偷看设置
发送
6条回答
大道至简
1楼-- · 2020-08-19 03:09

有关以下信息,请参阅SAP帮助:删除Itab-重复项

SAP砖家
2楼-- · 2020-08-19 03:00

如果您了解SQL,能否解释您尝试过的内容,以便澄清您的问题?

Baoming ROSE
3楼-- · 2020-08-19 02:56

Prema S

您必须执行以下操作:

1)通过将两个表VBAK和 VBELN以VBELN作为要连接的关键字段。

2)一旦从两个表中检索了值,请删除上面提到的重复条目。

3)当您说出自己的名字时 想要获得唯一条目,这是什么意思? 可以在不同的销售订单中使用相同的物料,这里销售订单和物料的组合将是唯一的。 您是否要获取唯一的物料编号? 尝试重新查看您的业务目标并相应地前进。

下面的代码对于开始来说应该很好,但是您必须从选择查询中确定所需的内容并做出相应的决定。 如果只需要唯一的材料,则仅使用MATNR对内部表进行排序,然后删除MATNR的相邻重复项。 如果要对select语句中所有字段的组合进行唯一输入,则下面的代码应该会有所帮助。

 SELECT h〜vbeln,
        h〜vkorg,
        h〜vtweg,
        h〜kunnr,
        我〜
   从vbak AS h
   内联vbap AS i
   在h〜vbeln = i〜vbeln
   插入表@DATA(it_tab)。

 如果sy-subrc EQ 0。
   SORT it_tab。
   从it_tab中删除相邻的重复项,并比较所有字段。
 ENDIF。

南山jay
4楼-- · 2020-08-19 03:10

您好,Prema

您想与条件表(it_cond)比较什么。

因此可以对查询进行陷害。 但是,我相信您想在ABAP程序中进行操作吗?

四川大学会员
5楼-- · 2020-08-19 02:56

您需要更具体,或者至少要显示到目前为止所进行的操作以及卡在哪里的代码。 到目前为止,大家都在猜测! 现在,我假设您正在寻找下面的选项c),但是您可能已经能够使用选项a)解决您的问题。 因此,请看一下并提供一些反馈:

选项a)如果您的程序正在从数据库中选择数据,则应将DISTINCT选项与SELECT语句一起使用,这将仅基于

从dbtab1的INNER JOIN dbtab2的key1 = key1 WHERE ...上选择SELECTTINTINCT列...。

选项b)如果您的程序没有从菜单中选择数据 数据库,但是已经将数据连接到一个内部表中,则应使用SORT和DELETE ADJACENT DUPLICATES语句,在其中按需要唯一/唯一的键值进行排序,然后删除重复项。

< pre> SORT itable BY key1 key2 ...。 从选项中删除相邻的重复项key1 key2...。

选项c)如果您的程序未从数据库中选择数据,但是您有两个内部表,这些表包含属性引用的数据,但是这些 属性不是您想要的输出的一部分,您需要遍历主表,通过引用属性在第二张表中具有内部LOOP,从匹配的第三张表中创建并使用选项b)的解决方案来减少它

在itable1 ASSIGNING 处循环播放。
   循环到itable2 ASSIGNEN ,其中key1 =  -key1。
     将移动到joinedline。
移动到joinedline。
在表itable中插入joindline3。 ENDLOOP。
ENDLOOP。
""使用选项b)将itable3减少为键值的不同行

还有许多其他方法可以解决您的问题,包括甚至具有更好性能的方法 ,但其中包括正确的数据/表定义和带有更多选项的更高级的语句。但是,现在,我正尝试为您简化操作,以便您更轻松地了解解决问题所需采取的措施。

悻福寶寶
6楼-- · 2020-08-19 02:51

Prema S ,请继续处理您的公开问题。

  • 评论答案或您的问题是否还有未解决的问题。
  • 否则将答案标记为接受,如果它可以帮助您解决问题
  • 或发布您自己的答案并接受 如果您自己找到了另一个有用的解决方案
  • ,或者将您的问题重定向到另一个相关且对解决您的问题有用的问题
  • 最后,请关闭您的问题

一周热门 更多>