通过查询选择多个时间段

2020-09-09 15:15发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好BPC专家, 以下脚本按预...

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

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


您好BPC专家,

以下脚本按预期工作,如果我选择一个月(Ex 01.2018)时间段并运行该程序包,则基于上一年同月(Ex 01.2017)的汇率进行汇率转换。 结果是错误的,如果我一次选择了12个蛾月周期(例如,从01.2018到12.2018)并执行该程序包,则货币转换将在12个月后的周期(例如,Ex 01.2017)进行。 要求是即使每个用户选择多个月,也要检查每个期间前12个月的转换因子。 例如:如果用户选择三个月01.2018、02.2018、03.2018,则汇率转换应基于01.2017、02.2017、03.2017。 我是脚本逻辑的新手,不知道如何在以下脚本中声明和引入FOR循环以实现所需的结果。

版本为BPC 10 Netweaver

请帮助我。

克里希纳

 * SELECT(%VERSION_LIST%,FX_SOURCE_CATEGORY,VERSION,ID =%VERSION_SET%)

 *查询率
 * DIM TIME = TMVL(-12,%TIME_SET%)
 * DIM R_ENTITY =" GLOBAL"
 * DIM VERSION =%VERSION_LIST%
 * DIM R_ACCT = summary_ACCOUNT.RATETYPE
 * DIM LKPLC:INPUTCURRENCY = E_ENTITY.CURRENCY
 * DIM LKPSUB:INPUTCURRENCY = E_ENTITY.SUBMISSION_CURRENCY
 * ENDLOOKUP

 * XDIM_MEMBERSET E_ENTITY = BAS(%E_ENTITY_SET%)
 * XDIM_MEMBERSET TIME = BAS(%TIME_SET%)

 *当RPTCURRENCY
 * IS Subm
 *当E_ENTITY.SUBMISSION_CURRENCY
 * IS <>""
 *当summary_ACCOUNT.RATETYPE时
 * IS <>""
 * REC(EXPRESSION =%VALUE%* LOOKUP(LKPSUB),RPTCURRENCY = USD)
 *其他
 * REC(FACTOR = 1,RPTCURRENCY = USD)
 *结束
 *结束
 *结束
 
7条回答
Aaron 3364
2020-09-09 15:29

嗨Vadim Kalinin,

我的意图是在FOR/NEXT循环中不应该使用LOOKUP。 而且FOR/NEXT可以在LOOKUP内使用,但这无助于解决我的问题。

您错误地提到了以下行。

* XDIM_MEMBERSET TIME = TIME.PREVYEARMONTH

我更改为以下内容(TIME是从提示中选择用户的12个月)

* XDIM_MEMBERSET TIME = BAS(%TIME_SET%)

我已经更新了完整的代码,请确认。

我不清楚您的陈述"尝试了解LOOKUP正在使用WHEN/ENDWHEN循环中的当前TIME成员。"

以前我了解-LOOKUP块将首先执行,结果将传递到WHEN/ENDWHEN循环。 在您的语句之后,将首先执行WHEN/ENDWHEN循环,而在WHEN循环中,LOOKUP关键字将调用LOOKUP/ENDLOOKUP块。

如果我误会了,请纠正我。

 * SELECT(%VERSION_LIST%,FX_SOURCE_CATEGORY,VERSION,ID =%VERSION_SET%)

 *查询率
 * DIM TIME = TIME.PREVYEARMONTH
 * DIM R_ENTITY =" GLOBAL"
 * DIM VERSION =%VERSION_LIST%
 * DIM R_ACCT = summary_ACCOUNT.RATETYPE
 * DIM LKPLC:INPUTCURRENCY = E_ENTITY.CURRENCY
 * DIM LKPSUB:INPUTCURRENCY = E_ENTITY.SUBMISSION_CURRENCY
 * ENDLOOKUP

 * XDIM_MEMBERSET E_ENTITY = BAS(%E_ENTITY_SET%)
 * XDIM_MEMBERSET TIME = BAS(%TIME_SET%)

 *当RPTCURRENCY
 * IS Subm
 *当E_ENTITY.SUBMISSION_CURRENCY
 * IS <>""
 *当summary_ACCOUNT.RATETYPE时
 * IS <>""
 * REC(EXPRESSION =%VALUE%* LOOKUP(LKPSUB),RPTCURRENCY = USD)
 *其他
 * REC(FACTOR = 1,RPTCURRENCY = USD)
 *结束
 *结束
 *结束
 

一周热门 更多>