点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在从CPI-DS任务的IBP计算方案中提取数据。 如您所知,在从IBP提取数据时,我们需要小心,因为错误的选择查询会影响性能。 想象一下,我想使用" CUSTOMERID"上的where条件查询表。 该客户ID将通过全局变量$ CUSTOMERID作为CPI-DS任务的输入。 如果业务用户提供客户ID作为输入,则此方法很好。 将where条件下推到IBP,但是如果业务用户未对此参数输入,则无论customerid为null还是customerid不为null,cpi-ds仍应从IBP提取所有数据。 如何在CPI-DS中实现这一目标?
当然,当$ customerid为空时,我可以初始化标志$ inputgiven = 0,并使用以下where条件。
(0 = $ inputgiven或ibp.customerid = $ customerid)
但是这种情况不会将 ibp.customerid = $ customerid 下推到IBP,这会影响性能,因为IBP必须先查询所有数据并将其发送到CPI-DS,然后再发送到CPI-DS 应该在数据集上应用where过滤器。
创建多个数据流不是一个选择,因为我可能有很多其他情况,而且我无法为这些过滤器的每个组合都创建数据流。 它只是不可操纵的。
有什么想法吗?
关于,
砂纸
嗨,莱因哈德,
如果客户ID在源系统中始终包含一个值,即IBP,则确实可以使用。 想象一下,该属性在源系统中包含NULL,那么我仍然应该能够提取数据。 但是,如果IBP.CustomerID为NULL,则此过滤器将计算为false。
那将如何解决我的问题? 如果输入参数为空,我想从IBP中选择所有内容
嗨杰夫,
cpi-ds不允许仅变量作为过滤器的一部分。 这是语法错误。 我尝试了您的建议,但在第一个查询转换中出现以下错误具有无效的过滤器表达式:无法确定参数数据类型。
ERROR复制表
但是我也执行了任务,实际上我也收到了以下错误:
第<202>行的语法错误::在附近找到期望<+,||,除,=,> =,>,IN,IS,< =,LIKE,<,MOD,*,<>,十进制,字符434>。
一周热门 更多>