如何在SAP云平台ABAP编程环境里把CDS-view暴露成OData服务

22次阅读

共计 920 个字符,预计需要花费 3 分钟才能阅读完成。

Jerry 2016 年在学习 SAP CDS view 时,曾经写过一个 CDS view 的自学系列,其中有一篇提到了一个很方便的注解:

@OData.publish: true

加上这个注解的 CDS view,一旦激活后就会在 ABAP Netweaver 自动生成一个 OData 服务,在事务码 /IWFND/MAINT_SERVICE 里将其搜索出来并添加,就能够以 OData 服务的方式,消费这个 view 暴露出来的数据了。

当然 @OData.publish 这个注解为什么有这种神奇的魔力,在 Jerry 之前的博客里有详细介绍。

那么到了 SAP 云平台 ABAP 环境上,因为我们无法访问 SAP GUI,所以要实现同样的效果,无法直接照搬上述步骤。幸运的是,在云上进行 CDS view 暴露的步骤依然简洁,整个过程 5 分钟就能搞定。

用 ABAP Development Tools 像登录 On-Premises ABAP 系统那样登录 ABAP 云环境,新建一个 Service definition:


在 Service 的实现体里,使用关键字 expose 将 ABAP 环境里的标准 view,I_Currency 以 Service 的方式暴露出来。

这个 Service 需要以 Service Binding 的方式暴露成 OData 服务:

把第一步创建的 Service 分配给这个 Service Binding:

注意下图右边的 Service Details 标签页里,此时是空的。点击 Publish 按钮:

发布成功后,我们看到了之前在 Service 实现里把 I_Currency 暴露成的名为 Currency 的实体:

对这个 Currency Entity 点右键,选择 Open Fiori Elements App Preview,就能在预览模式下通过一个标准通用的 Fiori Elements 应用把当前系统上 I_Currency 里的数据显示出来:


点击这个 Service URL 超链接,也能直接打开对应 OData 服务的元数据 (metadata) 链接:


至此我们就可以用各种消费端来使用这个通过 I_Currency 暴露成的 OData 服务了,当然也可以开发一个 SAP Fiori 来消费,Jerry 后续会介绍。

感谢阅读。

要获取更多 Jerry 的原创文章,请关注公众号 ” 汪子熙 ”:

正文完
 0