网站建设公司itcask,网站建设与网页设计试卷,vps 网站攻击ip地址,个人引流推广怎么做文章目录 1.什么是abap cdsadap cds的优点 2.常用cds语法常用函数一 数值函数1.绝对值2. 最小整数不小于arg的值3.两个参数相除4.两个数相除切保留小数位5.最小整数不大于arg的值6.取除数的余数 二 字符串函数1.拼接字符2.替换字符3.截取字符串 三 常用的分支语句1.CASE 表达式… 文章目录 1.什么是abap cdsadap cds的优点 2.常用cds语法常用函数一 数值函数1.绝对值2. 最小整数不小于arg的值3.两个参数相除4.两个数相除切保留小数位5.最小整数不大于arg的值6.取除数的余数 二 字符串函数1.拼接字符2.替换字符3.截取字符串 三 常用的分支语句1.CASE 表达式2.IF 表达式 3.cds 语法演示1.汇总2.字符串截取3.CASE 语句4.case / coalesce()5.除法计算7.添加过滤条件 eclipse ADT安装及abap cds模版创建 https://blog.csdn.net/weixin_49198221/article/details/135545378?spm1001.2014.3001.5501
1.什么是abap cds
ABAP CDSCore Data Services是一种数据建模语言用于定义和管理数据模型和服务。它提供了一种简单而强大的方式来定义数据结构、关联和业务逻辑并且可以与数据库无缝集成。ABAP CDS可以用于创建适用于SAP HANA数据库的数据模型也可以用于创建适用于SAP S/4HANA和其他SAP应用程序的数据服务。它还可以与ABAP程序和其他SAP技术进行集成为开发人员提供了更多的灵活性和功能。ABAP CDS是SAP的一种推荐的数据建模和服务定义语言被广泛应用于SAP系统和应用程序的开发中。(来自gpt-3.5)
adap cds的优点
1.可以利用DDIC语义进行高级数据模型定义; 2.内置了各种SQL函数和表达式进行数据的处理; 3.cds表函数利用本地 SAP hana特性和功能;
2.常用cds语法
常用函数
Aggregation Functions: SUM, AVG, MIN, MAX, COUNT 等用于对数据进行聚合计算的函数。String Functions: CONCAT, SUBSTRING, REPLACE, TRANSLATE 等用于处理字符串的函数。Date and Time Functions: CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP 等用于处理日期和时间的函数。Mathematical Functions: ROUND, CEIL, FLOOR, ABS 等用于数学运算的函数。Conditional Functions: CASE, COALESCE, NULLIF 等用于条件判断的函数。一 数值函数
1.绝对值
ABS(arg1)2. 最小整数不小于arg的值
CEIL(arg1)3.两个参数相除
arg1 除以 arg2 的整数部分 在金额除以后分配符号;如果参数具有相同的符号则为正数如果参数具有不同的符号则为负数。异常arg2 的值为 0。
DIV(arg1,arg2)4.两个数相除切保留小数位
arg1/arg2 保留 dec位小数;相除的结果是四舍五入的 ,dec必须是是int类型的
DIVISION(arg1, arg2, dec)5.最小整数不大于arg的值
FLOOR(arg)6.取除数的余数
arg1/arg2 的余数
例如 10 / 4 2.5
MODarg1 arg2mod(10 , 4) 5二 字符串函数
1.拼接字符
CONCAT(arg1, arg2)2.替换字符
字符串 arg1其中 arg2 的所有实例都替换为 arg3 中的内容。字母的替换区分大小写。
REPLACE(arg1, arg2, arg3)例如:arg1 abcd1234.arg2 cd.arg3 00
REPLACE(arg1, arg2, arg3) ab001234 3.截取字符串
截取arg字符串从pos开始取len个字符
SUBSTRING(arg, pos, len)例如:arg 1234567890.SUBSTRING(arg, 2, 5) 23456 . 在使用函数或分支语句的时候 需要给 他一个别名
三 常用的分支语句
1.CASE 表达式
类似于SQL中的CASE语句可以根据不同条件执行不同的逻辑。
写法一:
CASEWHEN condition1 THEN result1WHEN condition2 THEN result2ELSE result3
END.
写法2:
CASE argWHEN A THEN result1WHEN B THEN result2ELSE result3
END.
2.IF 表达式
用于执行简单的条件判断。
IF condition.statement1.
ELSE.statement2.
END.3.cds 语法演示
1.汇总
sum(_m.stock_qty) as menge2.字符串截取
取a.prodh 从 第一个字符到 第五字符的值
a.prodh abcdefg123456
substring(a.prodh,1,5) as prodh2结果:
prodh2 abcef3.CASE 语句 case _ekko.bsartwhen Z006 then _ekpo.menge * -1 when Z008 then _ekpo.menge * -1 else _ekpo.menge end as emenge,4.case / coalesce()
如果为z006/z008 menge * -1 - p.menge
否则 menge - p.menge case when _ekko.bsart Z006 or _ekko.bsart Z008 then coalesce(_ekpo.menge * -1,0) - coalesce(_ekbe.menge,0)else coalesce( _ekpo.menge,0) - coalesce(_ekbe.menge,0) end as menge_diff 5.除法计算
division(A,B,3) : A / B 保留三位小数
division(_d.labst ,_mr.umrez,3) * _mr.umren复核处理case/division/coalesce case when _ekko.bsart Z006 or _ekko.bsart Z008 then division( coalesce(_ekpo.menge * -1,0) - coalesce(_ekbe.menge,0) ,_marm.umren ,3) * _marm.umrez else division( coalesce( _ekpo.menge,0) - coalesce(_ekbe.menge,0) ,_marm.umren,3) * _marm.umrez end as menge_tran 7.添加过滤条件
define view zbv_stka_eb_ddl with parameters 条件p_date : datum as select from matdoc as _minner join ZBV_MARA_CO as _a on _a.matnr _m.matnr
{_m.werks,substring(_a.prodh,1,5) as prodh2,sum(_m.stock_qty) as menge
}where _m.budat $parameters.p_date 条件
group by_m.werks,
having sum(_m.stock_qty) 0