SAP CDS---常用字符函数
2026/5/22 16:35:02 网站建设 项目流程

效果

@AbapCatalog.sqlViewName: 'Z_VYYY_CDS_03'

@AbapCatalog.compiler.compareFilter: true

@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #NOT_REQUIRED

@EndUserText.label: '常用字符函数'

@Metadata.ignorePropagatedAnnotations: true

// distinct 去重 一般不用 as select distinct from ska1 as A

define view ZVYYY_CDS_03 as select from ska1 as A

inner join skat as T on A.saknr = T.saknr and T.spras = '1'

and A.ktopl = T.ktopl

{

key A.ktopl ,

A.saknr ,

A.erdat ,

A.ernam ,

A.xloev ,

A.xspea ,

A.xspeb ,

A.xspep ,

T.spras ,

T.txt20 ,

T.txt50 ,

A.ktoks ,

@EndUserText.label: '科目编号+创建用户名(拼接)' // 尝试注解 但是失败了 应该咋注解

concat( A.saknr , A.ernam ) as ZNAME , // 拼科目和用户名

cast( T.txt20 as abap.char(10)) as TXT10, // 转换类型

substring( A.erdat ,1,4 ) as ZYEAR, // 截取字段

substring( A.erdat ,5,2 ) as ZMON, // 截取字段

substring( A.erdat ,7,2 ) as ZDAY, // 截取字段

case A.ktoks when 'Z008' then '次级成本要素'

when 'Z001' then '资产' end as ktoks_txt ,

// 可以嵌套使用case

case A.ktoks when 'Z001' then

case A.ernam when '3651' then 'AAA创建的资产' else '其他人创建的资产' end

end as ktoks_txt2 ,

// 可以嵌套使用case

case A.ktoks when 'Z008' then

case A.ernam when '123' then 'BBB创建的次级成本要素' else

( case A.xloev when 'X' then 'AAA创建的被删除的次级成本要素' else 'AAA创建的次级成本要素' end ) end

end as ktoks_txt3 ,

// 长度

length( A.ernam ) as zernam_lenth ,

upper( A.ernam ) as ZUPPER ,

// 安全除法

// division( A.ernam * 2 , 3 )

// 四舍五入 ROUND

ROUND( A.last_changed_ts , 2 ) as ZNUM,

//拼接字段并在中间插入指定数量空格 CONCAT_WITH_SPACE( )

CONCAT_WITH_SPACE( A.saknr , A.ernam , 2 ) as ZNAME_SPACE

}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询