预算回溯逻辑

2020-08-25 14:28发布

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

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


我在最初的帖子中忘记了一些非常重要的信息,这些信息是基于本指南(很抱歉!)。

我正在尝试创建用于计算订单的逻辑。 它已经很好地工作了-但我遇到的问题是创建对其他类别的回溯。

我想做的是将2020.W01(TIME_WEEKLY)订单(OSB_ACCOUNT)预算(CATEGORY)计算回溯到2019年。W52ACTUAL BACKLOG以及将来的工作。

版本:

计算引擎: JAVASCRIPT(指南中经过测试的脚本,并且已通过验证)

模型: OSB模型用于计算订单,装运和积压。

模型中的尺寸:

在OSB_ACCOUNT维度中,有成员BACKLOG(AST)ORDERS(EXP)PPBACKLOG(AST)SHIPMENTS(EXP)

我们当前不使用PPBACKLOG-它可以用于此计算。 我只是不确定如何进行计算。

目的:要默认运行。lgf

描述计算逻辑:

订单=当前周的待办事项+装运-前一周的待办事项

此职位的问题是每年的20XX.W01预算的ORDERS计算使用20XX.W52或20XX.W53 ACTUAL作为上周的待办事项。

用户发送的数据(每周):

-当前周发货

-本周未完成订单

下面的当前脚本(无回溯)。 我不确定该回溯从何处开始。

//订单计算范围
 * XDIM_MEMBERSET OSB_ACCOUNT =发货,待办事项
 * XDIM_MEMBERSET TIME_WEEKLY =%TIME_WEEKLY_SET%,TMVL(-1,%TIME_WEEKLY_SET%)
 * XDIM_MEMBERSET AUDITTRAIL = <全部>
 * XDIM_MEMBERSET RPTCURRENCY = LC,USD,EUR

//计算订单
  * FOR%TIMES%=%TIME_WEEKLY_SET%
 *时间:TIME_WEEKLY
 * IS%TIMES%
 *当OSB_ACCOUNT
 *是发货
 * REC(OSB_ACCOUNT = ORDERS)
 *是待办事项
 * REC(OSB_ACCOUNT = ORDERS)
 *结束
 * IS TMVL(-1,%TIMES%)
 *当OSB_ACCOUNT
 *是待办事项
 * REC(FACTOR = -1,TIME_WEEKLY =%TIMES%,OSB_ACCOUNT = ORDERS)
 *结束
 *结束
 *下一个
 *承诺
 

(40.3 kB)

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

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


我在最初的帖子中忘记了一些非常重要的信息,这些信息是基于本指南(很抱歉!)。

我正在尝试创建用于计算订单的逻辑。 它已经很好地工作了-但我遇到的问题是创建对其他类别的回溯。

我想做的是将2020.W01(TIME_WEEKLY)订单(OSB_ACCOUNT)预算(CATEGORY)计算回溯到2019年。W52ACTUAL BACKLOG以及将来的工作。

版本:

计算引擎: JAVASCRIPT(指南中经过测试的脚本,并且已通过验证)

模型: OSB模型用于计算订单,装运和积压。

模型中的尺寸:

在OSB_ACCOUNT维度中,有成员BACKLOG(AST)ORDERS(EXP)PPBACKLOG(AST)SHIPMENTS(EXP)

我们当前不使用PPBACKLOG-它可以用于此计算。 我只是不确定如何进行计算。

目的:要默认运行。lgf

描述计算逻辑:

订单=当前周的待办事项+装运-前一周的待办事项

此职位的问题是每年的20XX.W01预算的ORDERS计算使用20XX.W52或20XX.W53 ACTUAL作为上周的待办事项。

用户发送的数据(每周):

-当前周发货

-本周未完成订单

下面的当前脚本(无回溯)。 我不确定该回溯从何处开始。

//订单计算范围
 * XDIM_MEMBERSET OSB_ACCOUNT =发货,待办事项
 * XDIM_MEMBERSET TIME_WEEKLY =%TIME_WEEKLY_SET%,TMVL(-1,%TIME_WEEKLY_SET%)
 * XDIM_MEMBERSET AUDITTRAIL = <全部>
 * XDIM_MEMBERSET RPTCURRENCY = LC,USD,EUR

//计算订单
  * FOR%TIMES%=%TIME_WEEKLY_SET%
 *时间:TIME_WEEKLY
 * IS%TIMES%
 *当OSB_ACCOUNT
 *是发货
 * REC(OSB_ACCOUNT = ORDERS)
 *是待办事项
 * REC(OSB_ACCOUNT = ORDERS)
 *结束
 * IS TMVL(-1,%TIMES%)
 *当OSB_ACCOUNT
 *是待办事项
 * REC(FACTOR = -1,TIME_WEEKLY =%TIMES%,OSB_ACCOUNT = ORDERS)
 *结束
 *结束
 *下一个
 *承诺
 

(40.3 kB)
付费偷看设置
发送
3条回答
代楠1984
1楼 · 2020-08-25 14:49.采纳回答

您是否有一些包含所有W01唯一值的属性? 可能是时期:W01?

在脚本中使用它:

 * LOOKUP OSB//NameOfCurrent模型
 * DIM OSB_ACCOUNT =" BACKLOG"
 * DIM TIME_WEEKLY = TIME_WEEKLY.PREVWEEK
 * DIM PRWEEK:CATEGORY =" BUDGET"
 * DIM PRWEEKFIRST:CATEGORY =" ACTUAL"
 * ENDLOOKUP

 *类别时
 * IS BUDGET//仅用于预算数据
 *当OSB_ACCOUNT
 *是发货
 * TIME_WEEKLY.PERIOD
 * IS W01
 * REC(EXPRESSION =%VALUE%+ [OSB_ACCOUNT]。[BACKLOG] -LOOKUP(PRWEEKFIRST),OSB_ACCOUNT = ORDERS)
 *其他
 * REC(EXPRESSION =%VALUE%+ [OSB_ACCOUNT]。[BACKLOG] -LOOKUP(PRWEEK),OSB_ACCOUNT = ORDERS)
 *结束
 *结束
 *结束

 *类别时
 * IS BUDGET//仅用于预算数据
 *当OSB_ACCOUNT
 *是待办事项
 * TIME_WEEKLY.PERIOD
 * IS W01
 * REC(EXPRESSION =%VALUE%+ [OSB_ACCOUNT]。[SHIPMENTS] -LOOKUP(PRWEEKFIRST),OSB_ACCOUNT = ORDERS)
 *其他
 * REC(EXPRESSION =%VALUE%+ [OSB_ACCOUNT]。[SHIPMENTS] -LOOKUP(PRWEEK),OSB_ACCOUNT = ORDERS)
 *结束
 *结束
 *结束

希望很清楚!

黑丝骑士
2楼-- · 2020-08-25 14:33

仅当加载了BUDGET 20XX.W01时,才能在不同类别中查找上一年的一周。

示例:当用户在2020年W01中保存BUDGET数据时,当前逻辑将使用BACKLOG 400,000。

目标是当用户在2020年保存BUDGET类别时,仅W01逻辑将获取420,000(实际积压),而不是400,000(预算积压)。

spaceman01
3楼-- · 2020-08-25 14:41

在TIME_WEEKLY维度中创建一个属性PREVWEEK,并为每个基本成员填充相应的上周成员。

然后使用以下脚本(为default.lgf!设计):

 * LOOKUP OSB//当前模型的名称
 * DIM OSB_ACCOUNT =" BACKLOG"
 * DIM PRWEEK:TIME_WEEKLY = TIME_WEEKLY.PREVWEEK
 * ENDLOOKUP

 *当OSB_ACCOUNT
 *是发货
 * REC(EXPRESSION =%VALUE%+ [OSB_ACCOUNT]。[BACKLOG] -LOOKUP(PRWEEK),OSB_ACCOUNT = ORDERS)
 *结束

 *当OSB_ACCOUNT
 *是待办事项
 * REC(EXPRESSION =%VALUE%+ [OSB_ACCOUNT]。[SHIPMENTS] -LOOKUP(PRWEEK),OSB_ACCOUNT = ORDERS)
 * ENDWHEN 

请阅读我的博客: https://blogs.sap .com/2014/06/09/how-to-write-defaultlgf /

一周热门 更多>