怎么解决Fiori上mycontact加了Dr.后搜索不出数据的问题-创新互联

这篇文章主要介绍“怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题”,在日常操作中,相信很多人在怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站是一家集成都网站设计、做网站、网站页面设计、网站优化SEO优化为一体的专业网络公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

在My task UI上维护了Account后,再点Contact F4 value help:

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

我们发现在GM6上,只要在search field里加了”Dr”, 就搜索不出来contact,如下图。但是换成诸如“Florianna Adler”就可以。

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

昨晚我们纠结了好久,想知道为什么会有这种奇怪的behavior。

上午经过debug找到了原因:

起初我们怀疑加了Dr之后的search没出来结果,是因为DB 没query到数据。今早经过验证,发现不是。Contact 的open sql是下列这个方法里动态生成的:

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

主要就是这4张表做inner join:

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

然后在下列这个方法里动态执行OPEN SQL,命中40条数据。

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

命中40条的原因就是OPEN SQL的where条件是扫描account的mc_name1和contact的mc_name1, mc_name2这三个字段。

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

因此,像下图中第一行和第三行这种数据也命中了,只因为它们的三个column中有一个column的value包含”DR”:

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

DB search做完后,对结果集做filter.

逐一遍历结果集的40条entry,对每个entry,执行三轮扫描,扫描条件定义在lt_search_f­里, 每个entry只有通过所有三轮扫描,才会最后返回给UI。

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

扫描的具体逻辑:检查某个entry的这三个红色的field里是否包含每轮扫描指定的key word。如果不包含,将该行entry从结果集中删除,再处理下一个。

怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题

因此,加了Dr后搜不出来结果的原因:

Contact F4 search仍然将Dr作为一个free text传入后台,在后台从DB取回来数据做filter之后,如果结果集的三个column里没有包含DR这个字符串的话,就会从结果集里过滤掉。只有name1 & name2里面形如Andrew,Dragon的contact才有机会呗search出来。

到此,关于“怎么解决Fiori上my contact加了Dr. 后搜索不出数据的问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联-成都网站建设公司网站,小编会继续努力为大家带来更多实用的文章!


当前标题:怎么解决Fiori上mycontact加了Dr.后搜索不出数据的问题-创新互联
当前地址:http://myzitong.com/article/dpoied.html