CE_CALC IF条件(或)不起作用

2020-09-26 02:37发布

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

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


大家好,

我在CE_PROJECTION中有以下语句,OR条件不起作用。

只要FUNCCUR为YEN,它就起作用,当FUNCCUR为NTD时,它不乘以100。有人可以让我知道我是否可以像下面的用法那样在CE_CALC中使用OR条件,否则请更正我。

CE_CALC('IF((" FUNCCUR" =``YEN''或" FUNCCUR" =``NTD''),(" GLTSL07" * 100.00)," GLTSL07")',十进制(17,2) ),如" GLTSL07_2",

我可以用大小写相同,但是只是想学习上面代码中的错误。

谢谢

Gokul

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

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


大家好,

我在CE_PROJECTION中有以下语句,OR条件不起作用。

只要FUNCCUR为YEN,它就起作用,当FUNCCUR为NTD时,它不乘以100。有人可以让我知道我是否可以像下面的用法那样在CE_CALC中使用OR条件,否则请更正我。

CE_CALC('IF((" FUNCCUR" =``YEN''或" FUNCCUR" =``NTD''),(" GLTSL07" * 100.00)," GLTSL07")',十进制(17,2) ),如" GLTSL07_2",

我可以用大小写相同,但是只是想学习上面代码中的错误。

谢谢

Gokul

付费偷看设置
发送
3条回答
SC_Yao
1楼 · 2020-09-26 03:14.采纳回答

看起来像是引号错误。

使用双引号("")时,是指列名,而不是值。 要指定值,请使用单引号('')。 要在单引号内指定单引号,请通过在一行中多次提供单引号来使用转义机制:

'''<-这些是单引号->'''
spaceman01
2楼-- · 2020-09-26 03:14

OR可以在CE_CALC函数中以这种方式使用。 您是否已检查FUNCCUR是否确实具有值" NTD",并且该值不包含例如 尾随空格使if条件失败?

致谢,
弗洛里安

PS:正如您已经提到的,您应该不使用CE函数来解决您的要求,因为它们已经被淘汰了一段时间。

clever101
3楼-- · 2020-09-26 03:26

Lars,

非常感谢您的答复。

我在YEN和NTD之前删除了单引号,现在我遇到了错误。

SAP DBTech JDBC:[257]:sql语法错误:" YEN"附近的语法不正确:第180行第26行(在pos 15391处)

CE_CALC('IF(("" RTCUR" ='YEN'或" FUNCCUR" ='NTD'),(" GLTSL07" * 100.00)," GLTSL07")',十进制(17,2))AS" GLTSL07_2 ",

如果我加引号不给出错误。

也只想添加以下代码

" FUNCCUR"-这是双引号,代表字段名称

" YEN"-用两个单引号表示值-如果我将其更改为1个单引号,则会出错。

CE_CALC('IF((" FUNCCUR" =``YEN''或" FUNCCUR" =``NTD''),(" GLTSL07" * 100.00)," GLTSL07")',十进制(17,2) ),如" GLTSL07_2",

上面的代码的问题是,或运算符后的任何条件都不起作用,这意味着当我通过YEN货币传递记录时,它乘以100,但是当我通过NTD传递记录时,它不与100乘。 OR条件不起作用。 如果我切换YEN和NTD,则备用条件可以正常工作。 如果语法正确,可以请您更正。

谢谢

Gokul

一周热门 更多>