Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

根据大家的反馈,openSAP决定在正常的课程中间增加额外的一部分,介绍一些其他的东西,比如马上即将release的SPS06的新特性。SAP HANA几乎每一个SP都会带来一些令人兴奋的重要特性,能够了解SPS6的特性再好不过了。不过,好吧,我也没有SPS06的系统,没有办法实际操作了。这里我就总结一下我认为比较重要的改进功能点。

开发体验

这里面最重要的一点是我们可以从HANA的lifecycle manager创建一个新的XS应用,而HANA会帮我们将一个XS应用所需要的基础工作做好。
比如我们前面学到的,创建xsapp xsaccess文件,创建项目使用的SCHEMA,创建必要的role。

115

27

此外,我们在HANA Repository里面浏览对象,如果想查看具体内容,哪怕是一个文本文件也必须要checkout才行。而SP6以后我们可以双击打开,以只读的模式查看,这是很方便的。

基于网页的IDE

116

SAP在SP6引入了两个基于网页的IDE,一个是轻量级的叫做HANA IDE lite,一个是功能完整的HANA Web-based development workbench。后者可以认为是网页版的HANA Studio。第一个lite版本适用于快速的创建,更改,测试。最里面我认为最酷的功能是开发完毕以后可以模拟在网页、android、ios上运行。而功能完整的development workbench不但可以开发还可以debug,而有一个我认为很棒的功能是有一个视图可以让我们浏览HANA产生的log和trace文件。
有了这两个基于网页的IDE,快速的修改和调试应用更加容易了。

在试用以前我看到的一个可以改进的地方是当出现了错误的时候,错误信息在右上角一闪而过,甚至在你还没看清错误内容的时候它就消失了。我想这个错误信息应该是让用户手动关闭的。

CDS - core data services

117

好吧,又一个data services,不过这跟EIM的DataServices可没什么关系,只是可以预见到未来当你想搜索一些跟EIM DS相关的内容后时,会有干扰项了。

还记得前面介绍HANA XS开发时,我们可以通过文件的方式.hdbtable来定义HANA的表。CDS是这种方式的一个升级版。软件世界就是这样,抽象,再抽象,总是有在某一种方式之上的另一种更加抽象的定义出现。CDS目前在SP6以定义语言的功能出现,也就是说帮助开发者定义底层数据之间的关系,以一种更加高级、抽象的方式。未来,它还可以是查询语言和表达式语言。等到它的功能延伸到那儿时我们在看看到底如何使用。在SP6它可以替代以前的.hdbtable。

基础表的定义是最底层的,而对于开发者来说,我们需要的是建模,根据真实业务需求建立模型。目前CDS依然是以编写文本的方式,但是未来会引入图形化方式。怎么样,似乎一下子豁然开朗了,知道它的作用了吧。

这是CDS的语法以及激活后生成的HANA表。你们感受一下。

28 36

Server Side Javascript外向连接

在SPS05里,我们看到的XSJS主要是接收请求提供数据的作用,而SPS06提供了一个新的功能可以使XSJS向外发送请求获取数据。这里举的例子是XSJS接收用户的请求用户名,然后向外发送请求到一个ERP系统,以RESTFUL的形式获得用户的详细信息,然后插入到HANA的数据库里。向外请求服务的定义也是通过文件的形式,后缀名为.xshttpdest

OData增删改操作

我们之前学到的是SPS05提供的XS直接以OData标准暴露HANA表数据的功能,但是只是提供数据。在SPS06,XS丰富了增删改的操作。本来OData标准就支持这些操作的 - 利用HTTP请求的方法POST为增,PUT为改,DELETE为删除。除此以外还有个更酷的功能,就是对这些操作的定制,举个例子,比如插入之前要验证数据正确性。SPS06可以通过编写存储过程来增强这些操作,类似传统SAP里面的customer exit。

SQLScript增强

首先增加的是一个叫做存储过程模板的东西,类似代码模板,将一些大家可能不一样的地方,如表明,定义成变量。在创建存储过程的时候可以根据定义好的模板创建。另外一个增强我觉得是很酷的,对存储过程debug的增强。还记得之前讲到SPS05调试带参数的存储过程么,我们必须要写一个wrapper,从SPS06开始不用了,因为debug支持输入参数了。除此以外,我们可以配置外部调试,用过ABAP external debug session breakpoint的对此不会陌生,就是针对某个特定的用户设定的断点,无论从什么协议调用进来,HTTP还是RFC,都会激活这个断点。这样在ABAP调用了HANA的存储过程时,就可以连调了。这对于suite on hana来说是很重要的一个功能。

版本管理和资源库

可以显示在本地编辑过的文件的历史并显示历史版本。可以显示在HANA资源库的文件历史版本但是如果不是在本地编辑的,则没办法显示具体修改内容。待开发功能。

Plan Visualizer

主流数据库都提供解释执行计划的功能,SAP HANA也有,我们可以更加清晰地观察整个HANA的执行过程,帮助我们解决性能问题。但是要强调的是这并不是SPS06引入的新功能.


118

团队开发代码冲突

对于软件开发版本管理来说很基本的一个功能。

决策表 Decision Table

这不是SPS06的新特性,是SPS05引入的,只是在本节加入了相关的讲解。它的作用是类似用配置表替代CASE WHEN或者IF ELSE。具体用法可参考
http://scn.sap.com/community/developer-center/hana/blog/2013/01/11/what-can-you-do-with-decision-tab...
http://www.saphana.com/docs/DOC-3133

以上介绍的是与XS相关的SPS06新特性。除此以外,HANA其它方面在SPS06也有很多很酷的增强,比如语义分析方面,与其它数据源的整合方面。在SPS06发布以后,SCN应该会有很多相关文章。