通过ABAP编码逻辑合并范围

2020-08-18 23:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我需要将两个范围表(表a和表b)...

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

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


我需要将两个范围表(表a和表b)逻辑合并到第三个范围表c中。

此后,应在SELECT语句中使用此范围表c。

两个范围表都引用相同的数据元素,并且可以包含n个条目。

如果存在矛盾的条件,则应始终使用表b中的条件。

在我看来,这项任务可以通过集合论解决。

输入看起来像这样:

 range_table_a =值#((符号='I'选项='EQ'低='Z001')
                          (sign ='I'option ='EQ'low ='Z002'));

 range_table_b =值#((符号='E'选项='EQ'低='Z002'));  

在range_table_a和range_table_b进行逻辑合并之后,我希望得到此结果:

 range_table_c =值#((符号='I'选项='EQ'低='Z001')
                          (sign ='E'option ='EQ'low ='Z002'));  

有没有人在SAP标准中看到任何有关此的信息?

12条回答
ZJXianG
2020-08-19 00:41

在单个值列表中进行转换:

如何在不使用单个值的情况下转换范围或模式 进行查询以知道存在哪些实际值,或者您想针对所有可能的值(基于数据类型)执行此操作? 关于数字,小数,文本和字符串值呢?

考虑到问题" Z001"和" Z002"中给定的值,我认为它们来自定制表,因此不应 可能有太多的值,因此这是非常可行的,但是这样一来,已经可以对原始请求进行限制:将范围表A与范围表B合并到范围表C中,而B对于"矛盾条件"具有优先权。

什么是"矛盾条件"?

对于给定的示例:

  • 范围A选择了Z001和Z002
  • < li>范围B选择除Z002之外的所有内容
  • 范围A和B的简单组合仅选择Z001
  • "组合"范围C与"处理矛盾条件"仅选择Z001

因此,在这里,简单地将A和B组合在一起而不检查"矛盾条件"将已经达到要求的结果,整个讨论甚至都没有必要。

A 但是,真正的矛盾将是以下,恕我直言:

  • 范围A仅选择Z002
  • 范围B选择除Z002之外的所有内容
  • 范围A和B的简单组合不选择任何内容
  • "组合"范围 带有"处理矛盾条件"的C会选择除Z002之外的所有内容

现在是预期结果吗?基于这个问题,我会说是,但我们仍然不知道业务案例。

一周热门 更多>