就是以前,我自建了数据源。是先基于我在ERP那边建的一个view的。我用SE11来建的view。然后用RSO2建了一个数据源。
后来我们系统升级了之后,我就发现。RSO2的数据源都不能用了??
而且我还发现,现在大家都直接在ERP那边搞CDSview了,然后再在BW这里建一个数据源。我就😏
看来这个玩意我就头疼了,得写代码好像。先不说它说比SE11的view好用了,那肯定是好用的。功能更强大了。而且代码推到HANA层了。哎,代码啊。。。今天我就来看看这个CDSview到底啥?
啥是CDS view
首先得说下,之前跟ODQ那里讲了。标准数据源现在都是ODP数据源了。那么一般数据源呢?有些可以ODP,有些没有ODP这个有区分的。
Core Data Services是个综合的核心数据服务,以Open SQL这个语言为基础,可以建view,table和function。
CDSview在eclipse的ABAP里建。select好多个表join啦。CDS view可以再基于CDSview建。
这个就要说这个因为在ABAP里建,跟HANA没关系。只是说它执行的时候如果是在HANA里,会被push到HANA底层。
也就是说呢,这个CDSview是在eclipse的ABAP project里面建的,是在application server层的。不是在HANA database里面建的。当你去建它的时候,它是一个CDS view吼。
怎么建CDS view
这个呢,就是你去ABAP project里面去。
在ERP的ABAP project或者BW的ABAP project,反正就得是个ABAP project,然后去在一个包下面建core data services,或者你自建一个包,然后再右键新建一个Core data services,这个里面有很多,那我们建view的话,就点击data definition。所以你建的是个DDL。然后进去选个传输请求,选个view。
建完之后激活,那么会有两个东西,第一个带两个泡泡的是CDS view实体,第二个是SQL view:
为啥会有两个view呢?这个SQL view你是可以在SE11里面看到的,它是用来和数据库做沟通的。你不能说把它当成一个正常的view来用。它只是个中间人。这个中间人在你建view的时候,给个名字:
也就是在这些@开头的注释里面给上名字,一般这个SQL view的名字得另起。你的DDL的名字和CDS view实体的名字可以一样。
建view的时候,一些语法会自动帮你写好:define view **** as select from ****{} 这个from那里,你Ctrl+space就能把想要的关联出来。
那么建好这么个CDS view之后,一般来说,下一步是啥呢?
建完CDS view之后去BW建数据源
就是直接去BW的数据源那里了:
建一个数据源,默认给你的是ODP类型的源系统选项。
此时你去找你建好的CDS view,如果按照以上的语法,那是找不到的。
为啥呢,缺少注释。得加上这俩,然后才能成为可抽取的ODP数据源。
好了,现在可以添加了,添加啥呢?添加SQL view。别添加错了成CDS view实体了。然后给个描述。
好了,在extraction界面能看到你的数据源,当前是什么抽取方式,默认是full。你可以改成delta。
然后可以搞数据预览。
数据源搞好了要去搞数据流
那就是啥呢?
就是右键在数据源上去建个数据流。
拉两个ADSO,连上转换然后接下来就正常搞。这个是你建模的蓝图。这个东西很好用。只建一个数据流,你将得到一个蓝图。
这篇写的比较草率。因为懒得截图了。后续准备写一个系列的。。。
这个还是得好好来写啊。