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

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做为主键,所以需要insta

相关推荐

  1. 安全与认证Week3 Tutorial

    2024-04-06 21:24:03       32 阅读
  2. 周记-week3-人脸识别

    2024-04-06 21:24:03       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 21:24:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 21:24:03       20 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 21:24:03       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 21:24:03       20 阅读

热门阅读

  1. 第十四届蓝桥杯省赛大学B组(C/C++)整数删除

    2024-04-06 21:24:03       21 阅读
  2. 抖音运营技巧2

    2024-04-06 21:24:03       24 阅读
  3. MyBatis plus 详解

    2024-04-06 21:24:03       56 阅读
  4. 谈谈Python中的正则表达式及其用法。

    2024-04-06 21:24:03       22 阅读
  5. 在MacOS上安装Homebrew:初学者指南

    2024-04-06 21:24:03       28 阅读
  6. js的some函数

    2024-04-06 21:24:03       21 阅读
  7. 【面经】3月29日 美团/美团平台/后端/一面/1h

    2024-04-06 21:24:03       19 阅读
  8. tomcat 知多少

    2024-04-06 21:24:03       18 阅读