云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库_达梦数据库下载_限时特惠

小七 141 0

旁白:正如你现在可能已经意识到的,SAP世界中发生的两件大事是引入了Cloud RAP(Restful ABAP编程模型)和用于版本管理的abapGit,因此这个博客系列的标题讲述了关于这两个新概念的恐怖故事。

在"ABAP"发布的前一天晚上对于未来3"书两个可怕的事情同时发生。首先,作者在写这本书的时候,如果这本身还不够糟糕的话……

故事是这样的远..

https://blogs.sap.com/2019/02/26/the-rappy-horror-abapgit-ture-show/

https://blogs.sap.com/2019/03/05/the-rappy-horror-abapgiture-show-part-two/

https://blogs.sap.com/2019/03/12/the-rappy-horror-abapgiture-show-part-three/

https://blogs.sap.com/2019/03/19/the-rappy-horror-abapgiture-show-part-four/

旁白:当我们离开的时候上一次是在那个决定命运的夜晚,也就是SAP新闻发布会的前一天晚上,男爵带着他的新怪物复活了,SAP和ABAP惊恐地看着。与此同时,作者已经完成了他的DDIC元素和示例程序,并准备继续进行事务处理。在这场惊醒的噩梦中,有什么难以言喻的恐怖在等待着这三位"演员"?男爵所说的"平面图经理秀"是什么?在本周的一集《疯狂的恐怖故事秀》中,你会发现……

39步(书/电影)

https://en.wikipedia.org/wiki/The\u 39\u步骤_(1935年的电影)

我已经确定了36个步骤来准备这本书的可下载代码,现在我们已经确定了13个步骤。那些有数学倾向的人现在已经计算出——或者已经被他们的人工智能数字助理告知——这意味着总共会有8个令人兴奋的恐怖博客,其中第8个让grand Floorplan Manager用一大堆歌曲来展示结局。

暂时把基于SAP的歌曲放在一边——很困难尽管这可能是——各种新的ABAP编程模型与以前的编程模型(SAP喜欢称之为"经典的自由泳编程方式")之间的主要区别在于,在所有东西都挤在一起之前,新的方法是将所有东西分层,每层只知道上面和下面的东西最底层是数据库表。CDS视图位于这一层之上,作为不同层之间的桥梁,业务逻辑和用户界面都可以从中生成。这是需要注意的一个重要问题—最初,CDS视图看起来就像数据库视图,即美化的SQL语句。在某些方面,这正是它的本来面目,但随着注释和所谓的"虚拟数据模型"的出现,CDS视图更多地定位为"实体"(如销售订单或怪物)的活文档形式。它们可以用于一个应用程序,但我更喜欢将它们视为不可知于应用程序的,这就是为什么UI注释存在于一个单独的元数据扩展对象中–这样CDS视图就可以在应用程序之间重用。

再次坚持,就像我们去年夏天所做的

步骤13涉及到持久性层–其思想是,每当程序或类想要访问数据库时,它都必须经过一个专用的持久性层类。

这主要是出于测试目的–如果业务逻辑代码与执行直接操作的代码混合在一起,返利平台,则无法执行正确的单元测试SELECT语句,但使用数据库访问类(持久层),您可以创建数据库访问类的test double,该类返回硬编码值。

这意味着您至少需要两个人工制品–接口和基类。调用者只知道接口。这意味着在实际的类(或子类)中,您可以以任何方式获取数据—直接SQL读取、通过CDS视图、通过AMDP、通过BOPF框架、通过RFC等等,然后可以根据需要进行切换和更改。例如,如果我想要一个订单状态字段,在ECC 6.0中,持久层类将从VBUK读取,在S/4中,HANA VBUK不存在(作为一个表),因此我将从VBAK读取,调用者将不知道或不关心更改。

因此,第13步是"为每个业务对象创建持久类",这是它们是:-

村庄怪物预订销售订单。交付

最初您只需要CRUD操作,它来自于BOPF(对于sapfiori的ABAP编程模型)和事务CDS视图(对于RAP),但生活从来没有这么简单,您必然会有出于任何原因需要对一个或多个表执行直接SQL读取的情况。如前所述,拥有一个专用的数据库访问类给了您这种自由。

因此,在每种情况下,您首先定义接口,只需说明返回的数据是响应什么查询的,然后使用您选择的检索机制(例如,实体的CDS视图、更模糊的查询的SQL查询)来定义基类。持久性类隐藏在模型类中,模型类由各种框架使用,如BOPF、webdynpro、RAP等。终端框架不需要知道模型的底层部分,这就是OO的全部目的,即封装。

终端应用程序往往有本地持久层类,当然也可以有用于单元测试的双重测试。

哦!哦!你要去的OSQL地方!

第14步是"使用OSQL测试SQL语句"。这是指SQL语句的testdouble框架。正如刚才提到的,很可能在一个或多个数据库表上会有一些直接的SELECT语句,您可以在持久性层中对这些语句进行单元测试。该层不需要知道它将调用什么,但是您需要知道它将首先用于任何给定的SQL查询,这就是OSQL测试双框架的全部内容。

(在后台,"入侵者警报"指示灯开始闪烁。没有人注意到。