首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AMDP Select查询正在提取错误的记录

AMDP Select查询正在提取错误的记录
EN

Stack Overflow用户
提问于 2021-01-15 15:26:50
回答 2查看 68关注 0票数 0

在AMDP过程中执行以下Select查询时,我得到了错误的结果。伙伴使用一个地址号码重复两次,该地址号码与WHERE条件中传递的值完全无关。

代码语言:javascript
复制
SELECT score( ) AS score,
                   partner,
                   rltyp,
                   addrnumber,
                   name,
                   postalcode,
                   street,
                   street4,
                   country
    FROM zcdsbpaddr
    WHERE
      CONTAINS ( zcdsbpaddr.name, :im_name1, FUZZY(0.8, 'similarCalculationMode=compare, textSearch=compare, bestMatchingTokenWeight=0.3' ) ) AND
      CONTAINS ( zcdsbpaddr.postalcode, :im_post_code1, FUZZY(0.8) ) AND
      CONTAINS ( ( zcdsbpaddr.street, zcdsbpaddr.street4 ), :im_street, FUZZY(0.7) ) AND
      ( :im_country = '' OR zcdsbpaddr.country = :im_country )
      ORDER BY score( ) DESC;

如果有人能帮上忙那就太好了。

EN

回答 2

Stack Overflow用户

发布于 2021-01-15 18:23:36

我很确定这是由你的CDS视图zcdsbpaddr引起的,而不是你所描述的SELECT或AMDP。

检查该视图的数据预览- ABAP Development Tools中的F8 -以验证它是否生成了预期的记录。

在这个视图中,您所描述的听起来像是一个被误导的联接。要了解更多信息,请提供该视图的代码或描述其图形组成的图表。

不管是否模糊,您的SELECT查询除了选择该视图提供的一小部分记录外,什么也不做。我看不出它怎么能对重复的数据负责。

票数 0
EN

Stack Overflow用户

发布于 2021-01-16 16:31:56

我通过以下更改解决了这个问题:

通过在查询WHERE annotation.

  • Modified @ClientHandling.type: #CLIENT_DEPENDENT SESSION_CONTEXT('CLIENT')

中添加AMDP OPTIONS READ-ONLY CDS SESSION CLIENT current.

  • Passed SESSION_CONTEXT('CLIENT')来添加AMDP方法签名,以依赖于CDS客户端
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65732024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档