逻辑脚本错误-多余的ELSE

2020-09-07 19:13发布

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

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


嗨,

我收到带有以下代码的错误消息"无效/何时结束:多余的其他"。

 *当实体=范围实体时
      * REC(因子= 0)
   *其他
      * REC(因子= 1)
   *结束
 

但是,下面的代码没有错误。 为什么添加* ELSE行会引发错误?

 *当实体=范围实体时
      * REC(因子= 0)
   * ENDWHEN 

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

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


嗨,

我收到带有以下代码的错误消息"无效/何时结束:多余的其他"。

 *当实体=范围实体时
      * REC(因子= 0)
   *其他
      * REC(因子= 1)
   *结束
 

但是,下面的代码没有错误。 为什么添加* ELSE行会引发错误?

 *当实体=范围实体时
      * REC(因子= 0)
   * ENDWHEN 
付费偷看设置
发送
6条回答
小灯塔
1楼 · 2020-09-07 19:51.采纳回答

不带HANA的BW 7.50 SP12上的BPC10.1

UJKT测试结果:

 * SELECT(%IC%,ID,INTERCO,ENTITY <>'')//不为空的ENTITY属性!
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%

 *当实体
 * IS INTERCO.ENTITY
      * REC(因子= 0.5)
 *结束
 验证:可以
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%
 *当实体
 * IS INTERCO.ENTITY
 * REC(因子= 0.5)
 *结束
 执行:
 正确的结果!!!!
 
 * SELECT(%IC%,ID,INTERCO,ENTITY <>'')//不为空的ENTITY属性!
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%

 *当实体
 * IS INTERCO.ENTITY
      * REC(因子= 0)
 *其他
      * REC(因子= 0.5)
 *结束
 验证:错误
 UJK_VALIDATION_EXCEPTION:何时/何时结束无效-第6行:此处仅支持" =" 
 * SELECT(%IC%,ID,INTERCO,ENTITY <>'')//不为空的ENTITY属性!
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%

 *当实体
 * IS INTERCO.ENTITY
 *其他
      * REC(因子= 0.5)
 *结束
 验证:错误
 UJK_VALIDATION_EXCEPTION:何时/何时结束无效-第6行:此处仅支持" =" 
 * SELECT(%IC%,ID,INTERCO,ENTITY <>'')//不为空的ENTITY属性!
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%

 *当实体
 * IS <> INTERCO.ENTITY
      * REC(因子= 0.5)
 *结束
 验证:错误
 UJK_VALIDATION_EXCEPTION:何时/何时结束无效-第6行:此处仅支持" =" 

您可以看到不等于属性不受支持!

请阅读: https://blogs.sap.com/2015/03/24/how-to-write-dynamic-bpc-script-logic-part-6 /

语法错误:

 * SELECT(%IC%,ID,INTERCO,ENTITY <>'')//不为空的ENTITY属性!
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%

 *当ENTITY = INTERCO.ENTITY时
      * REC(因子= 0.5)
 *结束
 验证:可以
 * XDIM_MEMBERSET ENTITY = DE,FR,ZA
 * XDIM_MEMBERSET INTERCO =%IC%
 *当ENTITY = INTERCO.ENTITY时
 * REC(因子= 0.5)
 *结束
 执行:
 UJK_VALIDATION_EXCEPTION:模型" Planning"中的维度" ENTITY = INTERCO"无效
 像" ENTITY = INTERCO"维的ENTITY属性一样处理行" * When ENTITY = INTERCO.ENTITY" 
蓋茨
2楼-- · 2020-09-07 19:38

对不起,但我不明白您的意思是什么:

"但是,我收到了只允许使用" ="的错误。(可能是SAP的新事物。很多年后我第一次收到)"

Aaron 3364
3楼-- · 2020-09-07 19:40

奇怪的语法!

 *当ENTITY = SCOPE.ENTITY时
      * REC(因子= 0)
 *其他
      * REC(FACTOR = 1)
 * ENDWHEN 

必须是:

 *当实体
 * IS范围
      * REC(因子= 0)
 *其他
      * REC(FACTOR = 1)
 * ENDWHEN 

但是无论如何它将无法正常工作! WHEN/ENDWHEN的属性限制。 不固定!

您可以尝试编写2个循环的脚本:

 *当实体时
 * IS *//所有
      * REC(FACTOR = 1)
 *结束
//明确
 *当实体
 * IS范围
      * REC(因子= 0)
 * END                                                                     
何必丶何苦呢
4楼-- · 2020-09-07 19:53
愤怒的猪头君
5楼-- · 2020-09-07 19:41

感谢瓦迪姆。 是的,这在语法上很奇怪。 但是,我得到的错误是只允许使用" ="。 (可能是来自SAP的新事物。多年后我第一次收到)。 所以,我正在使用

 *当ENTITY = SCOPE.ENTITY时

代替

 *实体时
 * IS 

无论如何,我只是举了一个简单的例子来克服错误。 但是,我的实际要求是要有2个WHEN(一个WHEN内另一个WHEN)。 所以,我正在寻找这样的东西。 任何反馈都将不胜感激。

 *当实体=范围实体时
     //注意。
 * ELSE 
//在INTERCO上再检查1次。 *当INTERCO.ENTITY =范围实体时 //注意。 *其他 * REC(因子= 0) *结束 * ENDWHEN
d56caomao
6楼-- · 2020-09-07 19:54

当我使用以下语法时,出现以下错误,提示仅" ="。

所以,我使用的是"等号"而不是*像*当ENTITY = SCOPE.ENTITY

使用的语法
 *当实体
 * IS SCOPE.ENTITY 

一周热门 更多>