具有多个REC语句的脚本逻辑

2020-08-18 23:12发布

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

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


专家您好,

我正在使用SAP BPC NW 10.1 SP15,并使用以下逻辑来计算ZXXXXX帐户中的值。

帐户ZXXXXX在上一期间对于COST_ID维度均具有某些值,ZYYYYY没有值。

此外,"所有权"模块中没有增加/减少的功能,因此在逻辑中间的那个查找块中没有任何计算。

问题在于,要计算COST ID 111的值,但要计算1221的值,最后一个REC语句会将其覆盖为0。

* SELECT(%COMPALL%," ID"," COMPANY_CODE"," DEL_TYPE ='1'"和" DIVEST_DATE =''")

* XDIM_MEMBERSET GRP_ACCNT_ID = XXXXX,ZXXXXX,YYYYY,ZYYYYY

* XDIM_MEMBERSET FISC_PERIOD = TMVL(-1,%GCR_FISC_PERIOD_SET%)

* XDIM_MEMBERSET CURR_CODE = USD

* XDIM_MEMBERSET COMPANY_CODE = SU01

* XDIM_MEMBERSET CONSOL_GROUP = GSU00

* XDIM_MEMBERSET COST_ID = 111,1221

*何时GRP_ACCNT_ID

*是ZYYYYY

* REC(FACTOR = 1,GCR_GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

*是ZXXXXX

* REC(FACTOR = 1,GCR_GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

* ENDWHEN

*查找所有权

* DIM P_INC:FISC_PERIOD =%FISC_PERIOD_SET%

* DIM P_INC:O_ACCOUNT = PINC_NET

* DIM P_INC:TRD_PTR_CODE =第三方

* FOR%A_COMP%=%COMPALL%

* DIM PNET_%A_COMP%:COMPANY_CODE =%A_COMP%

*下一步

* ENDLOOKUP

*何时GRP_ACCNT_ID

*是XXXXX

* REC(EXPRESSION =%VALUE%* LOOKUP(P_INC)+ [GRP_ACCNT_ID]。[ZXXXXX],GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

*是YYYYY

* REC(EXPRESSION =%VALUE%* LOOKUP(PNET_INC)+ [GRP_ACCNT_ID]。[ZYYYYY],GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

* ENDWHEN

谢谢

HKJ

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

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


专家您好,

我正在使用SAP BPC NW 10.1 SP15,并使用以下逻辑来计算ZXXXXX帐户中的值。

帐户ZXXXXX在上一期间对于COST_ID维度均具有某些值,ZYYYYY没有值。

此外,"所有权"模块中没有增加/减少的功能,因此在逻辑中间的那个查找块中没有任何计算。

问题在于,要计算COST ID 111的值,但要计算1221的值,最后一个REC语句会将其覆盖为0。

* SELECT(%COMPALL%," ID"," COMPANY_CODE"," DEL_TYPE ='1'"和" DIVEST_DATE =''")

* XDIM_MEMBERSET GRP_ACCNT_ID = XXXXX,ZXXXXX,YYYYY,ZYYYYY

* XDIM_MEMBERSET FISC_PERIOD = TMVL(-1,%GCR_FISC_PERIOD_SET%)

* XDIM_MEMBERSET CURR_CODE = USD

* XDIM_MEMBERSET COMPANY_CODE = SU01

* XDIM_MEMBERSET CONSOL_GROUP = GSU00

* XDIM_MEMBERSET COST_ID = 111,1221

*何时GRP_ACCNT_ID

*是ZYYYYY

* REC(FACTOR = 1,GCR_GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

*是ZXXXXX

* REC(FACTOR = 1,GCR_GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

* ENDWHEN

*查找所有权

* DIM P_INC:FISC_PERIOD =%FISC_PERIOD_SET%

* DIM P_INC:O_ACCOUNT = PINC_NET

* DIM P_INC:TRD_PTR_CODE =第三方

* FOR%A_COMP%=%COMPALL%

* DIM PNET_%A_COMP%:COMPANY_CODE =%A_COMP%

*下一步

* ENDLOOKUP

*何时GRP_ACCNT_ID

*是XXXXX

* REC(EXPRESSION =%VALUE%* LOOKUP(P_INC)+ [GRP_ACCNT_ID]。[ZXXXXX],GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

*是YYYYY

* REC(EXPRESSION =%VALUE%* LOOKUP(PNET_INC)+ [GRP_ACCNT_ID]。[ZYYYYY],GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)

* ENDWHEN

谢谢

HKJ

付费偷看设置
发送
2条回答
愤怒的猪头君
1楼-- · 2020-08-19 00:01

"被最后一个REC语句覆盖为0。" -错误的主意!

在单个WHEN/ENDWHEN内,同一目标的多个记录将被汇总且不会被覆盖。 并且您基于脚本具有相同的目标:

 * REC(EXPRESSION = ...,GRP_ACCNT_ID = ZXXXXX,FISC_PERIOD =%FISC_PERIOD_SET%)
 
追夢秋陽
2楼-- · 2020-08-18 23:49

Harshit Jain

首先-请阅读: https://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script-logic-issues /

您的帖子中缺少很多信息。

第二步-简化脚本-删除所有未使用的逻辑以清楚地说明问题。

那我会帮助。

一周热门 更多>