CDS相关资料整理(八) ​CDS视图中数据类型转换及说明

1a9cb02f907f969a59d1c61641b4903e.jpeg

拍摄于凤凰岭

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类型的存储库对象的名称组成,以字符“#”或“:”引入,并用句点(..)分隔。

对于大多数文本文字,引号带有域前缀时可以省略。

如果文字带域前缀,则语法检查将发出警告,以防文字与域的固定值不匹配或不在域指定的值范围内

d8c25ddf05cf703c3eebc52fc6ca4a39.png

//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.算术表达式

4c1544d087b5a269b847012f46b459fa.png


在ABAP CDS中,算术表达式可以用作字段列表的元素。

ABAP CDS支持四个运算符,方括号和三个不同的算术(整数,十进制和浮点数)。中间结果的值范围和精度在很大程度上取决于所使用的算法。

注意:

不带小数的数字文字具有整数类型。带小数的数字文字的类型为FLTP!

40c33a5542757e6a3e2d8469e811a609.png


5.使用CAST进行类型转换

b92a16af6dc14939de91b44767e33114.png


使用CAST表达式进行类型转换

  • 与ABAP不同,ABAP CDS不知道隐式类型转换。相反,CDS检查非常严格的类型兼容性规则。

  • CDS的CAST表达式使您可以实现显式类型转换。

  • 在NW 740中,只能将目标类型指定为技术类型,即指定为预定义的字典类型,例如INT4,CHAR或DEC。

  • 从NW 7.50开始,来自Dictionary的任何数据元素都可以成为使用CAST进行类型转换的目标类型。

  • 类型转换的操作数不能仅是文字源或数据源(例如数据库表)的字段。各种其他表达式都是可能的,例如算术表达式,CASE区分,预定义函数等。

注意:

关于源类型和目标类型的组合存在限制。完全不支持某些组合。其他人只能有局限性。例如,当前不可能使用FLTP类型的操作数作为CAST表达式的源。可以在ABAP语言文档中找到详细的矩阵。

c0a21362592362521f7028e2f1c8a79f.png

推荐阅读:

ABAP新语法1

《ABAP新语法2》

《SM30添加按钮:批导,筛选,排序等完整demo 》

《关于 SM30/VIEW_MAINTENANCE_CALL锁整张表问题》

《Demo:弹出文本输入框》

《关于update task几个有意思的测试》

动态批量修改任意表任意字段的值

动态获取查询条件的一个小Demo

使用cl_gui_docking_container 实现多ALV》

VOFM 修改 组单开票时 会计凭拆分规则

DEMO SUBMIT 某程序并获取该程序ALV数据

DEMO:S/4 1809 FAGLL03H 增加字段增强

几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了

DEMO:BTE增强实现凭证创建检查

SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序

CC02修改确认日期BAPI:Processing of change number  was canceled》《我是怎样调试BAPI的,以F-02为例

我是不是被代码给耽误了……不幸沦为一名程序员……

三亚自由行攻略(自己穷游总结)

苏州游记

记码农十周年(20110214--20210214)

不一样的SAP干货铺群:帅哥靓妹、红包、烤羊腿!

十年老码农搬砖习惯和技巧

我这个老码农是怎么debug标准程序的

我是怎样调试BAPI的,以F-02为例

杂谈:几种接口

Odata 增删改查详例

ODATA CREATE_DEEP_ENTITY 详例

RESTful DEMO 一:SAP 如何提供 RESTful Web 服务

RESTful DEMO 四 :增删改查及调用

DEMO  search help 增强 ( vl03n KO03 等)

录BDC时  弹出的公司代码框问题

《搜索帮助系列》

《增强相关》

Debug 系列

DEBUG  系列一:Dump debug
DEBUG  系列二:Configure Debugger Layer
DEBUG系列三:使用  F9 和 watch point
DEBUG系列四:第三方接口debug
DEBUG系列五:Update  模式下的function debug
DEBUG系列六:后台JOB  debug
DEBUG系列七:保存测试参数
DEBUG系列八:Debug弹出框
debug系列九:SM13查看update更新报错
DEBUG系列十:Smartforms  debug
DEBUG系列十一:GGB1  debug
Debug系列十二:QRFC  队列 debug
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值