笔记-Building Apps with the ABAP RESTful Application Programming Model-Week3

第三周的学习涵盖了ABAP RESTful应用程序编程模型的增强业务场景,包括定义基本业务对象行为、创建行为投影、理解EML、实现行为、启用草稿处理和故障排查。在这一周,学员将学会如何为旅行实体启用CRUD功能,使用确定、验证、动作以及乐观锁,并实现业务逻辑。

Week3

在这里插入图片描述

Unit 1: The Enhanced Business Scenario

本节介绍了将要练习的demo的业务场景,在前两周成果的基础上,也就是只读列表,也可以说是报表APP基础上启用了事务能力,也就是CURD以及自定义业务功能的能力,从创建基本的behavior definition,然后behavior definition projection,同时介绍了EML(Entity Manipulate Language),使用EML实现实际的业务逻辑,然后扩展到了validations,determinations,以及actions,在unit7,会介绍draft的使用,最后一节会介绍常见的解决问题的方法。

最终的APP包含CRUD功能,将会用到determinations,为travel 这个entity设置初始状态 ,用Validations检查输入数据的一致性,Actions来审批Travel,并且会有静态和动态的特性控制,以及权限控制,Draft允许用户把未提交的数据保存到数据库,即使换了操作设备或是异常结束后面也可以继续。

看一下开发流程和将要用到的managed runtime

在这里插入图片描述

Managed runtime是相对于Unmanaged runtime来说的,简单来说就是,如果几乎没有需要复用的已有代码逻辑,那就用Managed runtime,好处就是框架会自动实现CRUD操作,如果已有很多逻辑需要复用,那就选择Unmanaged runtime,自己来实现CRUD等Behavior,开箱即用(out-of-the-box),开发人员只需要通过专用的出口(Determinations,validations,actions)关注额外增加的BO特定业务逻辑既可,Runtime会自动管理BO的生命周期,所以这种特别适合新应用。

Unit 2: Defining the Basic Business Object Behavior

在这里插入图片描述
在这里插入图片描述
这是本节要实现的内容,Behavior Definition就是定义BO的事务能力,我们将使用Root CDS Interface View的上下文菜单创建它,
在这里插入图片描述
开始
在这里插入图片描述

在这里插入图片描述
一定要注意这里的Implementation type
在这里插入图片描述
可以看到,两个entity已经被assign了基本的CUDcreate update delete操作,注意一个细节,Booking的创建是Associate到Travel的,因为它是child node。如果不创建entity是不可以创建Booking的。
接下来在这基础上做一些调整,两个entity基本类似:

  1. persistent table zrap_atrav_1132,指定persist 表,就是数据库表,然后框架才知道对哪个表进行CUD。
  2. lock master,为entity启用锁处理,锁的实现由RAP框架( managed runtime)来自动实现。
  3. etag master LocalLastChangedAt,为Travel实体启用所谓的乐观锁——即ETag处理。取消etag那行语句的注释,并将其中的<field_name>替换为LocalLastChangedAt
  4. field ( numbering : managed, readonly ) TravelUUID;,因为使用了UUID做为主键,所以需要instance创建时系统自动生成主键,为了实现这一点,需要指定关键字段TravelUUID由runtime完全管理,并且不能使用关键字从外部进行编辑。
  5. 最关键的一步,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值