点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
BPC专家您好,
我需要一个脚本,该脚本将比较PC和INTCO的属性,然后比较Entity和INTCO,然后如果通过* REC语句将两个属性(PC/ENTITY)连接起来以得出利润中心elim成员,则比较发布结果是否相等 至。 如果不相等,它将发布到固定的PC Elim。 我已经在每个这些维度中创建了属性,以便可以对其进行比较,并在组合后创建ELIM PC。 我还有其他一些场景也需要包括在内-共有四种(相同,相同,相同,差异,差异,相同,差异,差异)。 这是到目前为止我拥有的same-same和same-diff的代码的副本,如果我注释掉same-diff部分,这种方法也可以工作,但是它创建了太多的记录-4条记录而不是1条记录。 结束了。 我们目前没有BADI选项,因此我坚持使用标准脚本逻辑。 任何建议,不胜感激! 请参阅下面的系统配置信息。
//PC ELIM-第1部分
* SELECT(%PC_SEL%,ID,C_PROFITCENTER,VAR1 <>"")
* SELECT(%ENT_SEL%,ID,C_ENTITY,VAR2 <>"")
* SELECT(%PC_VAR1%,VAR1,C_PROFITCENTER,ID =%PC_SEL%)
* SELECT(%ENT_VAR2%,VAR2,C_ENTITY,ID =%ENT_SEL%)
* XDIM_MEMBERSET C_AUDITTRAIL = AT_INPUT
* XDIM_MEMBERSET C_ENTITY =%ENT_SEL%
* XDIM_MEMBERSET C_PROFITCENTER =%PC_SEL%
* FOR%PCVAR1%=%PC_VAR1%AND%ENTVAR2%=%ENT_VAR2%
*当C_PROFITCENTER.VAR1//相同时-此部分有效,但记录太多
* IS = C_INTERCO.VAR1
*当C_ENTITY.VAR2//相同时
* IS = C_INTERCO.VAR2
* REC(EXPRESSION =%VALUE%,C_PROFITCENTER =%PCVAR1 %% ENTVAR2%,C_AUDITTRAIL = AT_PCELIMCALC)
//* IS *//same-diff-但它不起作用,包含时什么也没发生
//* REC(表达式=%VALUE%,C_PROFITCENTER =%PCVAR1%CROSSREG_ELIM,C_AUDITTRAIL = AT_PCELIMCALC)
* ENDWHEN
* ENDWHEN
* NEXT
系统配置:
-HANA sp 8上的BPC 10.1 NW
-标准-SAP BW 7.4 sp13
要添加的奖励问题:
在比较这样的动态属性并将其放入上面的逻辑中时,我该如何等效于<>? 在相同差异,差异相同和差异差异的其他情况下,我将需要它。
这是行不通的,因为在比较动态属性时,它仅接受" =":
* FOR%PCVAR1%=%PC_VAR1%AND%ENTVAR2%=%ENT_VAR2%//AND%ENTCROSS%= CROSSREG_ELIM
//相同
*当C_PROFITCENTER.VAR1时
* IS = C_INTERCO.VAR1
*当C_ENTITY.VAR2时
* IS = C_INTERCO.VAR2
* REC(EXPRESSION =%VALUE%,C_PROFITCENTER =%PCVAR1 %% ENTVAR2%,C_AUDITTRAIL = AT_PCELIMCALC)
* ENDWHEN
//相同的十字
*当C_ENTITY.VAR2时
* IS <> C_INTERCO.VAR2
* REC(EXPRESSION =%VALUE%,C_PROFITCENTER =%PCVAR1%CROSSREG_ELIM,C_AUDITTRAIL = AT_PCELIMCALC)
* ENDWHEN
* ENDWHEN
* NEXT
将诸如C_PROFITCENTER =%PCVAR1 %% ENTVAR2%之类的属性串联起来,由于使用了FOR/NEXT,通常是个坏主意。
请解释业务需求(而不是您的脚本),也许我将向您展示一些更好的解决方案! 提供数据样本和所需的结果!
一周热门 更多>