脚本逻辑根据具有Tx数据的成员数奇数相乘

2020-08-27 19:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我的脚本做的事情很奇怪。...

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

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


嗨,

我的脚本做的事情很奇怪。 给定我初始作用域中的值(EXPRESSION =%VALUE%),我希望能够将其加/减/乘或除以我在* REC语句中指定的另一个帐户值。 如果我乘或除,我的脚本会完美地工作,但是每当我使用加法或减法时,我在* REC语句中指定的帐户值(甚至任何硬编码值)都将乘以具有父级交易数据的成员数 从我的初始范围的节点。

例如,从我共享的脚本中,想象一下:

* BAS(Z00720)有18个成员,其中14个具有交易数据

*来自BAS(Z00720)的%VALUE%== 10

* [CUENTA]中的值。[Z007629] ... = 2

很好...

如果我乘以10 * 2 = 20

如果我除以10/2 = 5

但是...

如果我求和,我期望10 + 2 = 12 ...但是它的确是10 +(2 * 14)= 38

如果我减去,我期望10-2 = 8 ...但是它确实是10-(2 * 14)= -18

我得到的%VALUE%总是正确的,那里没有问题,问题在于我想对其求和或减去的任何值。

下面的脚本在* REC语句中被简化,仅用于显示我的示例。 根据用户的要求,该计算涉及对每个具有特定时间偏移的FOR循环在非常特定的维度上进行减法,乘法,汇总和除法,就像我说的,当我乘或除时,它是完美的。 我总结或减去。

有什么想法为什么会发生以及如何解决?

 * SELECT(%CAT%," [BASECATEGORY]",VERSION," [ID] =%VERSION_SET%")
 * SELECT(%ACC%," [PROJECTED]",CUENTA," [ID] = Z00720")

 * XDIM_MEMBERSET E_GLOBAL =全局
 * XDIM_MEMBERSET MONEDA = MXN
 * XDIM_MEMBERSET FLUJO = F00
 * XDIM_MEMBERSET FUENTE_P = 00_MCO
 * XDIM_MEMBERSET CUENTA = BAS(Z00720)
 * XDIM_MEMBERSET VERSION =%CAT%
 * XDIM_MEMBERSET TIEMPO AS%TIME%= BAS(%TIEMPO_SET%)


 * FOR%TIEMPO_SET%=%TIME%
 * XDIM_ADDMEMBERSET TIEMPO = TMVL(-12,%TIEMPO_SET%)
 *当TIEMPO
 * IS TMVL(-12,%TIEMPO_SET%)
 *开始

                         * REC(EXPRESSION =%VALUE%*
 ([CUENTA]。[Z007629],[FLUJO]。[F99],[FUENTE_P]。[00_ECA],[VERSION]。[%VERSION_SET%],[TIEMPO]。[%TIEMPO_SET%]),
 CUENTA =%ACC%,VERSION =%VERSION_SET%,TIEMPO =%TIEMPO_SET%,FLUJO = F99,FUENTE_P = 00_ECA)
 *结束
 *结束
 *下一个
 
5条回答
派大星 ヾ
2020-08-27 19:45 .采纳回答

不正确的语句:

" BAS(Z00720)具有三个子成员,其中两个具有事务数据 (图片中的前两个),因此,%VALUE%= 200; 和[CUENTA]。[Z007629] = 50。"

您有2条记录,%VALUE%= 100

乘法:

100 * 50 = 5000

100 * 50 = 5000

总计10000

要添加:

100 + 50 = 150

100 + 50 = 150

总计300

要添加,您必须使用:

 * XDIM_MEMBERSET E_GLOBAL = GLOBAL
 * XDIM_MEMBERSET MONEDA = MXN
 * XDIM_MEMBERSET FLUJO = F00
 * XDIM_MEMBERSET FUENTE_P = 00_MCO
 * XDIM_MEMBERSET CUENTA = BAS(Z00720),Z007629//作用域添加所有成员
 * XDIM_MEMBERSET VERSION =实数
 *当TIEMPO//TIME
 * IS 2020.001
 * REC(EXPRESSION =%VALUE%,CUENTA = 21011001,VERSION = 00_PPTO)
 * ENDWHEN 

如果成员的组合不同(例如FLUJO不同),则:

 * XDIM_MEMBERSET E_GLOBAL = GLOBAL
 * XDIM_MEMBERSET MONEDA = MXN
 * XDIM_MEMBERSET FLUJO = F00,F99//同时作用域
 * XDIM_MEMBERSET FUENTE_P = 00_MCO
 * XDIM_MEMBERSET CUENTA = BAS(Z00720),Z007629//作用域添加所有成员
 * XDIM_MEMBERSET VERSION =实数
 *当TIEMPO//TIME
 * IS 2020.001
 *当CUENTA
 * IS BAS(Z00720)
 *当FLUJO
 * IS F00
 * REC(EXPRESSION =%VALUE%,CUENTA = 21011001,VERSION = 00_PPTO)
 *结束
 *结束
 *当CUENTA
 * IS Z007629
 *当FLUJO
 * IS F99
 * REC(表达式=%VALUE%,CUENTA = 21011001,VERSION = 00_PPTO,FLUJO = F00)
 *结束
 *结束
 * ENDWHEN 

一周热门 更多>