SAP CDS 偏移语法?

问题描述 投票:0回答:1

Eclipse(2023 年 6 月版)在以下 SAP CDS 语法上显示错误,我无法在 SAP ECC_System_1 中保存/激活它,但完全相同的代码在另一个 SAP 系统中保存/激活正常,但它是S/4_HANA_System_2。我看到的错误红色标记位于下面 CASE 语句中的 LEFT 和 RIGHT 语法中,如果我删除整个 CASE 语句,那么它的保存/激活效果很好,请。让我们知道如何在 SAP ECC_System_1 中实现相同的目标?谢谢

@AbapCatalog.sqlViewName: 'YSD_SHP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'SHP data extract'
define view ZSD_SHP_EXTRACT as select from prps
    inner join proj as proj on proj.pspnr = prps.psphi
{
    key prps.pspnr as pspnr,
        prps.objnr as OBJNR,
    case left( prps.objnr, 2 )
     when 'PR' then right( prps.objnr, 8 )
     else ''
     end as WBS,
     prps.prart as prart,
     prps.psphi as psphi,
     proj.pspid as pspid
}
abap cds
1个回答
0
投票

消息来自ABAP内核,所以这不是Eclipse版本的问题,而是ABAP版本的问题,这在你的两个ABAP系统之间显然是不同的。

LEFT
RIGHT
已添加到 ABAP 7.50 中的 CDS 视图中(请参阅修改 3)。

解决方案非常简单:使用从一开始(ABAP 7.40 中)就存在于 CDS 视图中的函数

SUBSTRING

© www.soinside.com 2019 - 2024. All rights reserved.