如何优化脚本逻辑Loockup BPC版本10.1标准

2020-09-13 16:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我需要执行脚本逻辑并提供计算所需...

         点击此处--->   EasySAP.com群内免费提供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个值乘以脚本逻辑,该怎么办? 如何改善此脚本逻辑?

6条回答
SAP小菜
2020-09-13 17:34 .采纳回答

基于MOVIMIENTO的脚本

 *查询率
 * DIM FXTASA = TPM
 * DIM MONEDAENTRADA =缔约方会议
 * DIM FXSOCIEDAD =全球
 * DIM版本=实数
 * DIM COP:TIEMPO = MOVIMIENTO.ID//在WHEN/ENDWHEN中使用当前记录的MOVIMIENTO成员ID
 * ENDLOOKUP

 * XDIM_MEMBERSET CLASEACTIVO = NO_APLICA
 * XDIM_MEMBERSET MONEDA =毫升
 * 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度量=至今
 *当CUENTA
 * IS <> BAS(3815)
 * REC(表达式=%VALUE%* LOOKUP(COP),MONEDA = COP,FLUJO = FL_002)
 * ENDWHEN 

阅读有关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 /

在您的示例中,您并没有说明要将结果存储在哪里...

一周热门 更多>