点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我需要执行脚本逻辑并提供计算所需的值。
脚本是:
//第一部分***************************
* SELECT(%PER%," [ID]",TIEMPO," [LEVEL] = MONTH")
*查看率
* DIM FXTASA = TPM
* DIM MONEDAENTRADA = COP
* DIM FXSOCIEDAD =全局
* DIM VERSION = REAL
* FOR%PER_TC%=%PER%
* DIM P_%PER_TC%:TIEMPO ="%PER_TC%"
* NEXT
* ENDLOOKUP
//第二部分**************************
* XDIM_MEMBERSET CLASEACTIVO = NO_APLICA
* XDIM_MEMBERSET MONEDA = ML
* XDIM_MEMBERSET MOVIMIENTO = BAS(MOV_PER)//此语句生成不同的期间概念,例如(2017.12,2018.01,2018.02 ........ 2040.12)
* XDIM_MEMBERSET INDICADORES = MOV_MES
* XDIM_MEMBERSET TIEMPO =%TIEMPO_SET%
* XDIM_MEMBERSET SOCIEDAD =%SOCIEDAD_SET%
* XDIM_MEMBERSET VERSION =%VERSION_SET%
* XDIM_MEMBERSET CUENTA = BAS(3)
* XDIM_MEMBERSET FLUJO = FL_000
* XDIM_MEMBERSET度量= YTD
*当CUENTA * IS <> BAS(3815)
* FOR%PER_TC%=%PER%
* REC(EXPRESSION =%VALUE%* LOOKUP(P_%PER_TC%),INDICADORES = MOV_MES,MONEDA = COP,TIEMPO =%TIEMPO_SET%,FLUJO = FL_002)
* NEXT
* ENDWHEN
* COMMIT
问题是LOOKUP提供了100个值,而脚本逻辑的第二部分提供了5个值。 在这种情况下,REC提供5个值是不正确的,因为将5个值与100个值的总和相乘,或者与在LOOKUP中找到的100个值的REC乘以5个值相同。
我只需要将为脚本逻辑第二部分提供的5个值乘以对应于LOOKUP的5个值(比率)即可。
例如第二部分,脚本逻辑为DIM MOVIMIENTO 2017.12生成1个值,我需要将此值乘以对应于2017.12月份的汇率。
如果仅需要使用5个比率将第二部分中找到的5个值乘以脚本逻辑,该怎么办? 如何改善此脚本逻辑?
基于MOVIMIENTO的脚本
阅读有关LOOKUP的帮助不是一个坏主意: https ://help.sap.com/viewer/a2049170bfeb4178ace32222842c3ec1/10.1/zh-CN/f02a3d4897254042be24ebea3ba572f3.html
另外,请阅读我的博客: https://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script-logic-issues /
在您的示例中,您并没有说明要将结果存储在哪里...
最好从一开始就解释所有内容:)
阅读第二个答案!
LOOKUP的工作方式如下:
它将使用通过LOOKUP中的* DIM语句直接指定的尺寸。
如果* DIM未指定维度,则其成员将从WHEN/ENDWHEN循环的当前记录中传递。
脚本将是:
我已删除了无用的语句。 永远不要使用* COMMIT。
然后脚本就可以了!
嗨,Vadim,
谢谢您的答复。 您的脚本是正确的,但不是我所需要的。 您的脚本对于使用单一费率到一个月执行转换很有用,但是我需要在几个月内使用多个费率。
维度MOVIMIENTO用于对时间概念(例如2017.12)中的记录进行分类。 记录可以为2018.01月,但MOVIMIENTO为2017.12。 我需要MOVIMIENTO 2017.12的费率而不是2018.01月份的费率。 我不需要根据时间的价格,我需要根据MOVIMIENTO的价格。
在脚本逻辑的第二部分中,时间具有两个维度:TIEMPO和MOVIMIENTO,但是Dim MOVIMIENTO是用于查找生成值转换的速率的维度。 因此,我使用FOR生成LOOKUP来更改TIME,以便查阅所有费率。 但是我只需要使用脚本逻辑第二部分中生成的值所必需的比率。
例如,一个月内(2018.01。Dim TIEMPO)可能有3条记录(3个值),具有相同月份但具有不同的MOVIMIENTO(2017.12、2016.12、2015.12)。 在这种情况下,我需要找到3个比率:一个比率为2017.12,一个比率为2016.12和一个比率为2015.12。 您的脚本仅允许查找2018.01月份的汇率,并且以此汇率执行3个值的转换。
此图显示了我需要如何进行转换。
嗨,瓦迪姆,
感谢您的帮助。 我证明了这种脚本逻辑并可以正常工作。
我有一个问题:"在WHEN/ENDWHEN中使用当前记录的MOVIMIENTO成员ID"是什么意思?
是否需要在WHEN/ENDWHEN中包含MOVIMIENTO成员ID。 如果是这样,我应该如何在语句中加上MOVIMIENTO维?
最诚挚的问候,
杰森
一周热门 更多>