写日志的ADSO除了1,2,3表之外。还会有6,7,8view。8view是上了BW4HANA2.0之后激活ADSO就会生成的。如果旧版本没有8,那就RSDG_ADSO_ACTIVATE激活一下。
如果勾了外部HANA视图,那就等于说还有一个HANA view。
首先咱知道ADSO是BW里面用来物理存储,管理数据的。入栈表1,激活表2,日志表3是常规表(不同ADSO类型对应不同表)。除此以外,ADSO还会生成给抽取用的extraction view6,给报告用的reporting view7。还有一个external SQL view8。看这个名字就知道是给外部访问用的。这个8就是专门设计给数据发布到第三方或者是给混合建模场景用的。
这个8里头,会多一个字段叫COLD_STORE_FLAG,如果你这个ADSO做了DTO,温度管理放进冷存储一部分数据了,这里就会标记。
相比直接用数据库表2来做混合建模,SAP推荐用这个8。
总结一下子:
因为8是个视图,它就是在数据库表和第三方之间的一层,一般我们肯定是不会直接和数据表交互的,因为如果直接去读2表,它有时候正在激活的,正在写,然后你去读,拖慢进程。直接读视图更安全,也更有利于数据的管理。而且在view上也能做权限控制。
它里头还给有非累积关键值的ADSO加了一列。
在视图上你要改列名描述,或者加上计算的列啥的,都比较好弄。你在view上再去聚集数据,加过滤器,做数据类型转换,清洗数据,做和其他view的关联也好弄。好过你在前端报表工具上弄,效率更高。
用SAC,PowerBI都能直接用上这个外部视图。
而其他的6视图和7视图:
1. 抽取视图6
看名字就知道是给从ADSO抽取数据用的。比如,比如啊,你的BW数据从IDMC通过workflow抽取到snowflake,那中间这个ETL过程就可以用6视图。
你要把数据给第三方数据库的,也可以用这个视图。
2. 报表视图7
看名字知道它是给报表分析用的。上层SAC,PowerBI 或者Tableau都可以直接用上。可以直接基于这个view来建可视化的Dashboard。
直接把这个给用户,让他们自己去建dashboard也行。
总结一下:如果你下一步是要给其他ETL工具的,比如Informatica,比如要把数据放到Azure上的,那就用view6。
如果你是要给业务用户做简单报表或者dashboard用的,那就用view7。
如果你要混合建模啥的,那就用view8。
再来看下view8 (External SQL View)和 External HANA View的区别:
View8是BW4HANA上的,可以理解为它是ABAP层的,它在ADSO激活的时候自动生成了。
External HANA View,你首先得勾它,它然后在HANA数据库上生成的,直接从HANA数据库访问。
在混合建模里头,view8上是可以设置权限的,如果你们公司既有SAP系统,还有第三方的云上的业务系统,你从SAP抽取的数据,先保存到了ADSO里,然后这个第三方也需要访问SAP来的数据,你又得考虑到SAP上数据的权限设置问题,那么就用这个view8,来确保你只允许第三方访问他权限范围的数据(权限得配置)。数据更安全。
而external HANA view,是你要在HANA里头把ADSO的数据和外部HANA Schema的数据做结合,去做一些复杂的需要join啦,做一些计算列啦的操作,那就用打那个小勾,用这个external HANA view。复杂逻辑计算。
所以说,基于你的需求来选择用哪个。