CDS视图通过 SEGW 和 /IWFND/MAINT_SERVICE 发布OData服务
通过SEGW创建EntitySet 和 EntityType,然后在/IWFND/MAINT_SERVICE添加OData服务并发布
实现效果如下:
输入事务代码SEGW进入SAP Gateway Service Builder
点击创建按钮创建工程
右键Data Model–>Reference–>Data Source,通过该方式的好处就是在CDS View被修改的情况下,可以不用修改EntityTypes、EntitySets等,Gateway内容会参照该CDS View自动修改。
输入在eclipse创建的cds视图名,注意该cds需要设置主键,CDS View如下
@AbapCatalog.sqlViewName: 'YVH_WAERSVN'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '货币搜索帮助'
define view YVH_WAERS as select distinct from tcurt {
key waers,
ltext
}where spras = '1'
添加成功后点击按钮生成Runtime Artificats
如果想要在后面实现OData的增删改功能,则需要进入YCL_YDEMO_DPC_EXP类中重定义YVH_WAERS_CREATE_ENTITY、YVH_WAERS_DELETE_ENTITY、YVH_WAERS_UPDATE_ENTITY方法,如果只需要查询功能就不用管这些
在创建完Gateway之后输入事务代码 /n/IWFND/MAINT_SERVICE 进入Activate and Maintain Services点击按钮添加服务,如果SEGW和/IWFND/MAINT_SERVICE是同一个服务器,则选择Co-Deployed(联合部署),如果不是则在System Alias(系统别名)选择SEGW所在服务器名。
点击SAP Gateway Client进入Odata服务页面
设置Request URI
测试结果,状态码200则为成功