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











このブログの人気の投稿

ABAP:データファイルのアップロードとダウンロード

ABAPSE12 更新ビュー作成手順

ABAP:]バックグラウンドジョブDEBUG