2020-08-27 06:39发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
有人可以提供一些有关使用For Loop(在脚本逻辑中)检查当月数据的见解吗?如果当前月为零,请复制上个月的数据。
从DM程序包中的用户选择中将触发月份选择。
非常感谢!
您还可以尝试以下操作:
//%TIME_SET%= 2019.04(当前期间-选择单个期间) * XDIM_MEMBERSET TIME = TMVL(-1,%TIME_SET%)//范围为上个月2019.03 *当TIME.MONTHNUM * IS <> 12//如果当前期间不是-JAN * REC(EXPRESSION =([TIME]。[%TIME_SET%]> 0 || [TIME]。[%TIME_SET%] <0)?[TIME]。[%TIME_SET%]:%VALUE%,TIME =%TIME_SET %) * ENDWHEN
" ||" -OR运算符: https://launchpad.support.sap.com/#/notes/0002228643
对不起,但您似乎没有阅读我的博客。 仍未提供完整信息...
完整的UJKT结果:
----------- ABAP代码生成错误:4 ------------- MESSAGEG27关系运算符")"不受支持。 Line13 Word ) --------代码--------- 程序。类主要定义。公共部分。方法METH1导入 P1 类型decfloat34 P2类型decfloat34 导出RET类型decfloat34 提高CX_SY_ZERODIVIDE。 endclass。类主要实现。方法METH1。"([TIME]。[2020.04 ] = 0)?%VALUE%:[TIME]。[2020.04] 如果0)。 RET =P2。else。 RET = P1。 endif。 抱歉, endclass。
但这是我要阅读 https://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script -logic-issues /
并提供所需的信息! 您使用的是ABAP计算引擎!
嗨,Vadim,
信息:SAP BW 7.5,SP级别5
在此之前,我还有另一个错误:
UJKT中的脚本:
* XDIM_MEMBERSET TIME = 2020.04 * XDIM_MEMBERSET TIME = TMVL(-1,2020.04) * XDIM_MEMBERSET AUDITTRAIL = INPUT * XDIM_MEMBERSET CATEGORY = ACTUAL * XDIM_MEMBERSET ENTITY = K XDIM_MEMBERSET GROUPS = G_NONE * XDIM_MEMBERSET MOVEMENT = F500 * XDIM_MEMBERSET RPTCURRENCY = USD * XDIM_MEMBERSET ACCOUNT = 244000
REC:([TIME]。[2020.04] == 0)吗? %VALUE%:[TIME]。[2020.04] ------------ ABAP代码生成错误:4 ------------- MESSAGEG27相关运算符 <=>不支持。 Line13 Word == --------代码--------- 程序。类主定义。公共部分。方法METH1导入P1类型decfloat34 P2类型decfloat34 导出RET类型decfloat34提高CX_SY_ZERODIVIDE。 endclass。类主要实现。 方法METH1。"([TIME]。[2020.04] == 0)?%VALUE%:[TIME]。[2020.04] if(P1 == 0)。 RET = P2。< br> else。 RET = P1.endif。 endmethod。 endclass。 --------输入公式--------- ([TIME]。[2020.04] == 0)?%VALUE%:[TIME]。[2020.04] ------------ ABAP代码生成错误结束----- -------
无法正常工作:
REC:([TIME]。[2020.04] <> 0)吗? [TIME]。[2020.04]:%VALUE%1 ([TIME]。[2020.04] <> 0)吗? [TIME]。[2020.04]:%VALUE% var $ 2 $ = 4.1972426137439489E-01; var $ 1 $ = 6.6735165584877876E-01;($ 1 {replace1} lt;> 0)吗? $ 1 $:0;
使用JavaScript计算引擎,我的代码将正常工作。
对于ABAP,请尝试以下操作:
//%TIME_SET %= 2019.04(当期-单期选择) * XDIM_MEMBERSET TIME = TMVL(-1,%TIME_SET%)//范围为上个月2019.03 *当TIME.MONTHNUM * IS <> 12//如果当前期间不是-JAN * REC(EXPRESSION =([TIME]。[%TIME_SET%] <> 0)?[TIME]。[%TIME_SET%]:%VALUE%,TIME =%TIME_SET%) * ENDWHEN
而不是" =="尝试" <>"
最多设置5个标签!
您还可以尝试以下操作:
" ||" -OR运算符: https://launchpad.support.sap.com/#/notes/0002228643
对不起,但您似乎没有阅读我的博客。 仍未提供完整信息...
完整的UJKT结果:
----------- ABAP代码生成错误:4 -------------
MESSAGEG27关系运算符")"不受支持。
Line13 Word )
--------代码---------
程序。
类主要定义。
公共部分。
方法METH1导入
P1 类型decfloat34
P2类型decfloat34
导出RET类型decfloat34
提高CX_SY_ZERODIVIDE。
endclass。
类主要实现。
方法METH1。
"([TIME]。[2020.04 ] = 0)?%VALUE%:[TIME]。[2020.04]
如果0)。
RET =P2。else。
RET = P1。
endif。
抱歉,
endclass。
但这是我要阅读 https://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script -logic-issues /
并提供所需的信息! 您使用的是ABAP计算引擎!
嗨,Vadim,
信息:SAP BW 7.5,SP级别5
在此之前,我还有另一个错误:
UJKT中的脚本:
* XDIM_MEMBERSET TIME = 2020.04
* XDIM_MEMBERSET TIME = TMVL(-1,2020.04)
* XDIM_MEMBERSET AUDITTRAIL = INPUT
* XDIM_MEMBERSET CATEGORY = ACTUAL
* XDIM_MEMBERSET ENTITY = K XDIM_MEMBERSET GROUPS = G_NONE
* XDIM_MEMBERSET MOVEMENT = F500
* XDIM_MEMBERSET RPTCURRENCY = USD
* XDIM_MEMBERSET ACCOUNT = 244000
*当TIME.MONTHNUM
* IS <> 12
* REC(EXPRESSION =([TIME]。[2020.04] == 0)?%VALUE%:[TIME]。[2020.04],TIME = 2020.04)
* ENDWHEN ----
错误消息:
REC:([TIME]。[2020.04] == 0)吗? %VALUE%:[TIME]。[2020.04] endclass。
------------ ABAP代码生成错误:4 -------------
MESSAGEG27相关运算符 <=>不支持。
Line13 Word ==
--------代码---------
程序。
类主定义。
公共部分。方法METH1导入P1类型decfloat34
P2类型decfloat34
导出RET类型decfloat34提高CX_SY_ZERODIVIDE。
类主要实现。
方法METH1。
"([TIME]。[2020.04] == 0)?%VALUE%:[TIME]。[2020.04]
if(P1 == 0)。
RET = P2。< br> else。
RET = P1.endif。
endmethod。
endclass。
--------输入公式---------
([TIME]。[2020.04] == 0)?%VALUE%:[TIME]。[2020.04]
------------ ABAP代码生成错误结束----- -------
无法正常工作:
REC:([TIME]。[2020.04] <> 0)吗? [TIME]。[2020.04]:%VALUE%1
UJK_VALIDATION_EXCEPTION:LINE 15语法错误:"语法错误"([TIME]。[2020.04] <> 0)吗? [TIME]。[2020.04]:%VALUE%
var $ 2 $ = 4.1972426137439489E-01; var $ 1 $ = 6.6735165584877876E-01;($ 1 {replace1} lt;> 0)吗? $ 1 $:0;
使用JavaScript计算引擎,我的代码将正常工作。
对于ABAP,请尝试以下操作:
而不是" =="尝试" <>"
一周热门 更多>