拍摄于凤凰岭
CDS视图中数据类型转换及说明、
原文链接
https://www.ut163.com/fiori_learning_arrangement/sap-cds/data_type_conversion_and_description_in_cds_view/
字符
数字文字
文字的前缀
算术表达式
使用CAST进行类型转换
CDS中最基本的数据数据是字符与数值类型,
1.字符
用单引号引起来的一系列字符
如果仅包含数字,则为NUMC
否则为CHAR
2.数字文字
无引号的数字系列
可以包含小数点,但不能在第一位数字之前
如果包含小数点,则为FLTP
否则,请键入INT1,INT2或INT4,具体取决于大小
3.文字的前缀
在某些操作数位置,文字可以具有域前缀。域前缀由DOMAIN类型的存储库对象的名称组成,以字符“#”或“:”引入,并用句点(..)分隔。
对于大多数文本文字,引号带有域前缀时可以省略。
如果文字带域前缀,则语法检查将发出警告,以防文字与域的固定值不匹配或不在域指定的值范围内
//character literals
'Hello' as col_char,
'231432' as col_numc,
//numeric Literals
32768 as col_int4,
4711 as col_int2,
255 as col_int1,
1.5 as col_fltp,
// Literals with Domain Prefix
#belnr.'Y' as col_eco1,
#S_CLASS.Y as col_eco2,
:S_CLASS.Y as col_eco3
4.算术表达式
在ABAP CDS中,算术表达式可以用作字段列表的元素。
ABAP CDS支持四个运算符,方括号和三个不同的算术(整数,十进制和浮点数)。中间结果的值范围和精度在很大程度上取决于所使用的算法。
注意:
不带小数的数字文字具有整数类型。带小数的数字文字的类型为FLTP!
5.使用CAST进行类型转换
使用CAST表达式进行类型转换
与ABAP不同,ABAP CDS不知道隐式类型转换。相反,CDS检查非常严格的类型兼容性规则。
CDS的CAST表达式使您可以实现显式类型转换。
在NW 740中,只能将目标类型指定为技术类型,即指定为预定义的字典类型,例如INT4,CHAR或DEC。
从NW 7.50开始,来自Dictionary的任何数据元素都可以成为使用CAST进行类型转换的目标类型。
类型转换的操作数不能仅是文字源或数据源(例如数据库表)的字段。各种其他表达式都是可能的,例如算术表达式,CASE区分,预定义函数等。
注意:
关于源类型和目标类型的组合存在限制。完全不支持某些组合。其他人只能有局限性。例如,当前不可能使用FLTP类型的操作数作为CAST表达式的源。可以在ABAP语言文档中找到详细的矩阵。
推荐阅读:
《ABAP新语法1》
《关于 SM30/VIEW_MAINTENANCE_CALL锁整张表问题》
《使用cl_gui_docking_container 实现多ALV》
《DEMO:S/4 1809 FAGLL03H 增加字段增强》
《几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了》
《SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序》
《CC02修改确认日期BAPI:Processing of change number was canceled》《我是怎样调试BAPI的,以F-02为例》
《苏州游记》
《杂谈:几种接口》
《RESTful DEMO 一:SAP 如何提供 RESTful Web 服务》
《DEMO search help 增强 ( vl03n KO03 等)》
Debug 系列