ByD KUT字段查询参数,但无限制

2020-08-15 01:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我们在Custome...

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

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


大家好,

我们在CustomerQuote BO中为" Original_Quote"实现了一个KUT字段,以便从旧版迁移到保留旧客户的"合同"编号。 该字段已可供搜索(在报价对象通用搜索-企业搜索中)

在CustomerContract BO(服务合同)中,该字段也可用,但合同加载时未引用报价:第二个特定字段可用于提供报价参考,即Bydesign报价编号。

为克服这种情况,我们尝试在customerContrat扩展中实现一个小的ABSL脚本,以从填充的OriginalQuote字段中搜索内部CustomerQuote ID。

CustomerQuote被声明为"对特定于客户的字段的引用"。 我们可以为CustomerQuote声明一个变量,然后对其发起查询。 可以将字段Original_Quote添加为查询限制。

我们甚至有两次(我怀疑另一个扩展引用了相同的字段(OriginalQuote_2FKX8V4V3X861I2KI0F4H6SII和OriginalQuote_2W9H20UMMUKXCCV9SP3YRM4PO),但两个字段的结果相同:

具有限制的查询将返回数据库中的所有记录!

您知道为什么查询不考虑它或是否需要其他条件吗?

这里是合同根对象扩展后进行事后修改的代码摘录。

 var lquote:客户报价;
 var lquery = lquote.QueryByElements;
 var lqueryParams = lquery.CreateSelectionParams();


 如果(this.QuoteReference =="")
 如果(this.OriginalQuote!="")
 {
     
 lqueryParams.Clear();
 lqueryParams.Add(lquery.OriginalQuote_2FKX8V4V3X861I2KI0F4H6SII," I"," EQ",this.OriginalQuote);
 var lqueryResults = lquery.Execute(lqueryParams);
 如果(lqueryResults.Count()> 0)
 {
 this.QuoteReference = lqueryResults.GetLast()。ID.content.TrimLeft(" 0");
 }
 }
 }