如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)

简介: Restful ABAP Programming 编程模式是 ABAP 这门编程语言在不断向前进化的过程中,诞生的一门新的编程模型,简称为RAP模型。

(3) 现在三大支柱之一的Core Data Service已经就位了,接下来我们基于前一步得到的projection view创建Business Service. 选中projection view,右键选择New Service Definition:

image.png

这个服务定义的第一条记录,就是通过ABAP expose关键字把projection view ZC_TRAVEL_JERRY暴露出来,模型名称为TravelProcessor:

image.png

@EndUserText.label: 'Service Defintion for ZC_Travel_JERRY'
define service ZUI_C_TRAVEL_JERRY {
  expose ZC_TRAVEL_JERRY as TravelProcessor;
  expose /DMO/I_Customer as Passenger;
  expose /DMO/I_Agency as TravelAgency;
  expose /DMO/I_Airport as Airport;
  expose I_Currency as Currency;
  expose I_Country as Country;
}

然后基于这个Service Definition创建一个Service Binding,可以简单把Service Binding理解成Service Definition的一个实例:

image.png

image.png

Service Binding创建完毕后,点击Activate激活:

image.png

之前Service Definition里用expose关键字暴露并指定成的模型TravelProcessor此时就可见了,双击:

image.png

双击后会自动打开一个链接,一个Fiori应用就呈现在我们眼前了。我们没有进行一行的JavaScript web编程,就得到了一个专业的支持高级搜索的Fiori应用,能查看底层数据库表ZTRAVEL_JERRY的内容。

image.png

(4) 至此我们已经了解了Restful ABAP Programming模型的前两大支柱,还剩下Behavior Definition. 既然RAP的口号是打造具有Restful特性的应用,但到目前为止我们还没有感受到RAP对Restful的支持,这有待Behavior Definition来完成。


选中之前创建的CDS view,创建一个新的Behavior Definition:

image.png

实现类型指定为Managed:

image.png

我们可以看到这个Behavior Definition的定义里,又多了一些新的ABAP关键字。这个Behavior Definition负责定义底层模型的Transaction Behavior,即代码第18到20行的create,update,delete.

image.png

当然增删改查的功能光定义不行,还得创建其对应的实现。上图Definition中已经指定了实现这些行为的ABAP类名称为ZCL_BP_I_TRAVEL_M_JERRY. 为此,右键选择New Behavior Implementation:

image.png

创建这个特殊的ABAP实现类:

image.png

这个实现类里面也不需要开发人员手动编写代码来完成对底层数据库表的增删改查操作——既然能称之为一个编程模型,那么这些通用的功能都通过框架类CL_ABAP_BEHAVIOR_HANDLER统一完成了,应用开发人员只需要定义一个对该类的声明即可。

image.png

image.png

把这一步创建好的Behavior Definition模型和其实现全部激活,然后回到我们之前浏览器里打开的Fiori应用,刷新,会发现多了Create和Delete两个按钮,这意味着该应用对创建和删除的支持也已经自动可用了。

image.png同之前的搜索功能一样,这些功能的自动获得,都是建立在应用开发人员一行JavaScript代码都不用编写的基础上的,由此大家感受到了Restful ABAP Programming模型的强大威力了吗?

1.png

总结

本文介绍了通过 Restful ABAP Programming 编程模型开发前端应用的方式。该模型定义了一套架构体系,应用开发人员能够凭借其来高效地进行应用的端到端开发,这种应用具有与生俱来的 Restful 特质,能充分利用 HANA 平台的强大计算能力,支持云环境和 Fiori UX.


目录
相关文章
|
1月前
|
数据库
ABAP 泛型编程实战 - 分享一个数据库表内容的拷贝工具试读版
ABAP 泛型编程实战 - 分享一个数据库表内容的拷贝工具试读版
20 0
|
1月前
|
存储 资源调度 应用服务中间件
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
27 0
|
3月前
|
存储 SQL 数据库
工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享试读版
工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享试读版
25 0
工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享试读版
|
6月前
|
算法 搜索推荐 测试技术
ABAP 泛型编程(Generic Programming) 在实际工作中的一个例子
ABAP 泛型编程(Generic Programming) 在实际工作中的一个例子
62 1
|
2月前
|
存储 BI 数据库
如何使用 ABAP 编程的方式,给 Business Object 创建 attachment
如何使用 ABAP 编程的方式,给 Business Object 创建 attachment
22 0
如何使用 ABAP 编程的方式,给 Business Object 创建 attachment
|
3月前
|
JSON 数据格式
基于RestFul风格编程示例
基于RestFul风格编程示例
28 0
|
3月前
|
存储 SQL 数据库
128. 工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享
128. 工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享
22 0
|
3月前
|
UED 开发者
ABAP Draft handling 在 SAP 现代 Fiori 应用中的重要作用
ABAP Draft handling 在 SAP 现代 Fiori 应用中的重要作用
16 0
|
5月前
|
JSON JavaScript 前端开发
一种在 ABAP 端扩展 SAP Fiori 应用的方法介绍
一种在 ABAP 端扩展 SAP Fiori 应用的方法介绍
30 0
|
6月前
|
JavaScript 前端开发 Java
如何使用 SAP ABAP Development Tool 连接 SAP BTP 上的免费 ABAP 编程环境试读版
如何使用 SAP ABAP Development Tool 连接 SAP BTP 上的免费 ABAP 编程环境试读版
38 0