CDS+Odata课程纪要
CDS+Odata 2020/5/16 15:00-18:30
CDS使用场景:
1.复杂的检索条件
2.统计型的检索,因为cds有聚合功能
3.利用CDS作为数据库
CDS开发基础
开发工具:Eclips(需要添加CDS的插件)
设定SAPGUI的链接,登陆SAP
常用语法:
选择aba XXX other创建对象。(define view)
@AbapCatalog部分的填写
Key的添加后,激活,姐可以使用了。
SAPGUI的view里面可以找到做好的cds view。
.单表查询
define view z01test001 as select from ekko {
key ekko.ebeln,
ekko.bukrs
}
.inner join 只有Key指定的项目才能作为检索结果
ex:
define view z01test002 as select from ekko
innor join ekpo on ekko.ebeln = _ekpo.ebeln
{
key ekko.ebeln,
ekpo.ebelp
}
.associantion 可有key指定,也可以所有associantion定义的表,没有在key里指定的话,检索结果中不会出现。
ex:
define view z01test003 as select from ekko
associantion [*] to ekpo as _ekpo
on $projection.ebeln = _ekpo.ebeln {
key ekko..ebeln, “ 表示
_ekpo.ebelp, ”表示
ekko.bukrs, ”表示
_ekpo ”表示しない
}where ekko.bukrs = ’TD10’
可用于权限检查。
.parameter 很少用,基本是测试时候用。因为CDS带有过滤功能,检索结果的项目都可以进行过滤。
ex:
define view z01test004
with parameters p_bukrs : abap.char( 4 )
as select from ekko {
key ekko.ebeln,
ekko.bukrs
}
.表的扩展
ex:
extend view nsdm_e_marc with ztestextends{
zfield2
}
odataとは:
- ODataはRESTの考え方をもとに作られている
- URIを指定してリソースを操作する
- どのような言語でも使え、レスポンスはJSONまたはXML
发布odata方式与测试
。通过CDS直接发布
cds代码里面追加@Odata.publish:true,然后添加服务,激活。
。通过segw进行发布,
要做跟cds的mapping之后,生成。注册。
CDS的注解:
和fiori的应用来说明
.CDS内利用注解生成查询画面
F1可以查看各种注解。用注解实现画面的需求
ex:
define view z01test003 as select from ekko
associantion [*] to ekpo as _ekpo
on $projection.ebeln = _ekpo.ebeln
associantion [1] to zdemobukrs as _zdemobukrs “zdemobukrs是事先做好的公司信息cds
on $projection.burks = _zdemobukrs.burks
{
@UI.selectionField:{position: 10} "检索条件
@UI.LineItem:[{position: 10}] "行项目
key ekko.ebeln, "10的位置上检索条件和结果项目是采购订单号码
@UI.selectionField:{position: 20}
@UI.LineItem:[{position: 20}]
@Consumption.valueHelp: ‘_zdemobukrs’ "公司代码的帮助
ekko.bukrs,
_ekpo,
_zdemobukrs
}
选好模版,也可自己画模版,选中做好的cds。就可以生成一个检索画面。
激活服务tcode:scif