Created by Jerry Wang, last modified on Apr 12, 2014
issue: PPR search的behavior是如果search parameter包含product ID,则无论max hit维护多大的值,search出来始终小于100条。例如下面搜索期望的结果是338条,但是只有25条返回.
原因分析:
1. 当搜索条件里包含product_id时,入口函数iv_restrict_up_to hard code成0:
进去后会根据product id做一次pre-selection, 找到所有包含输入product的PPR guid (crmm_prp_prod_i inner join crmm_prpadm_i)。
2. 这里restrict_up_to被hard code 成100,
所以接下来取header data的时候,只能从429行里面取出101行。
这里把多取出来的1行删除了。
3. 最后这100条作为输入传到API里去,maxhit也传进去了,但是不会起作用了。
虽然up to 的值是max hit,但是是在一个100行的internal table上做join,最后的结果永远<= 100.
在后台使用 transaction CRMM_PPR搜索, 发现max hit也被hardcode成100了:
参考下面SAP对此behavior的说明:
另一个相关note: