通过查询选择多个时间段

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条回答
wang628962
2020-09-09 15:35 .采纳回答

您的问题通常与TMVL功能和LOOKUP有关...

 * DIM TIME = TMVL(-12,%TIME_SET%)

多个月中包含%TIME_SET%的TMVL将导致TMVL(-12,<%TIME_SET%中的最低月份>)

例如:%TIME_SET%= 01.2018、02.2018、03.2018

然后:TMVL(-12,%TIME_SET%)= 01.2017

从帮助中获得: https://help.sap.com /viewer/a2049170bfeb4178ace32222842c3ec1/10.1/zh-CN/c8d961d0dbfd4745af4b667279573702.html

"变量,例如%TIME_SET%

  • TIME_SET的第一个周期用作负偏移量的基础周期,而TIME_SET的最后一个周期用作正偏移量的基础周期。"

要在%TIME_SET%中使用多个月,您必须在TIME维度中创建一个属性,例如PREVYEARMONTH并填充它:

01.2018-01.2017

02.2018-02.2017

...

然后您可以使用:

 * DIM TIME = TIME.PREVYEARMONTH 

将根据该属性选择LOOKUP的时间成员。

一周热门 更多>