Open Hub-怎么把数据从BW传出去

今天人家问我,openhub到别的数据库上怎么是两个不同的地方。
这个问题问的我很懵,因为我知道Oracle那会还是十几年前。我感觉,我啥也不会啊。

今天就来研究研究这个OpenHub到底怎么出去。


前提是,你数据已经到infoProvider里面或者到数据源里面了。
哪些小对象能用openhub把数据传出去呢?

也就是说哪些对象能作为openhub的源呢?
很多啊,从这里就能看到了,甚至是query都能给传出去。
我有一点疑问就是infosource我理解是个虚拟的,咋也能传出去呢?暂时不管。因为按我这个虚拟的思路延伸,那infoprovider里面也会有CP。

SAP的解释是:只要能用DTP的,都能被当成openhub的源
query是咋用的?
在这里插入图片描述
还有目标是file和database table这个不讲了。
数据库表可以在BW里面或者其他SAP NetWeaver支持的数据库系统。可以用APIs,SAP Data Services或者第三方工具给数据传到下线系统。

把数据传出去需要几步?

  1. 创建Open Hub目标结构,告诉它传什么字段出去,传到哪里去。
  2. 创建转换,转换规则里的从master data读数(就是个关联外键),时间转换,货币转换和单位转换都不能用的。为啥?不支持?
  3. 创建DTP。
    在这里插入图片描述

1. 把数据传到其他数据库表

其实,这里有一个小知识点,就是这个DBCON在哪里设置的?
在这里插入图片描述
在这里插入图片描述
如果出去到数据库,从这里我们看到它出去的路有三条:

  1. 本地数据库
  2. SDA
  3. 到其他数据库(通过DBCON)

在这里插入图片描述
但看这个传到其他数据库去。
其实这个是Basis的活,但我们去选数据库的时候看得到有basis给我们设置好了的数据库。
这个在哪里设置的呢?

你在DBCON这个表里能看到。用SM30维护。
或者用tcode DBCO去看:
在这里插入图片描述
每个关联的数据库会有一个连接名。
数据库类型。
用户名密码。
数据库信息:数据库名,运行的主机。
测试连接是否成功用report:
ADBC_TEST_CONNECTION

新建数据库连接需要用Native SQL语句。

当选择export到数据库表的时候,激活open hub之后,会有一个数据库表生成了。前缀是/BIC/OH***
在这里插入图片描述
当你说要把数据export出去的时候,可以是保留数据,也可以删除数据。
在这里插入图片描述
如果你选delete and insert就是每次抽取完全删除表并且重新生成。如果你是full抽取,那可以。
如果选下面的Keep data,那系统只会在第一次抽取前生成表一次,以后会保留历史数据的。

对于delta类型抽取,一般咱选第三个,保留历史数据,并且只插入新的delta数据。

但是说你改了openhub的字段的话,表是会被删除并且重新生成的。

除此之外,Key 有技术键和语义键。
在这里插入图片描述
你选了技术键,会有一个唯一键,OHREQUID( open hub request ID), DATAPAKID 和 RECORD.这些跟着DTP请求来的,这个对于不删表的情况很有用。万一有重复数据进来,不同技术主键不会dump。
如果选语义键,所有的字段都会作为语义键。可能会有重复值,所有的数据条目被保存。
(2022-09-28 : 我今天看了下根本不是的,不是所有字段作为语义键,而是在转换里面能看到的哪个字段是主键,那就会用哪个字段,如果有重复值,那就会被覆盖,只会有一条。而技术键就是那三个了)

2. 把数据传到文件

文本文件的格式有csv,ASCII, XML .
当你用文本文件的时候,会有同时一个控制文件。
这个file可以存放到application server或者是本地。

本地文件最大0.5G 。 大文件只能放在application server上。

3. 从外部系统看open hub出来的数据

我们这个就是要从Open Hub导出到Oracle数据库去。直接从SAP BW连接到Oracle。
这个是直接导出,不是说有个BODS的ETL工具去连接到Oracle然后导出的。
从外部来看,就是我要去从openhub读数据。
那就是得先配置DBCON到一个数据库表。BW版本是on HANA之后的都行。
先建一个open hub。
在这里插入图片描述
然后选database table,选technical key。这个就是用到了请求号,包号之类的技术键。
semantic key就是表自己的主键。
在这里插入图片描述
你激活的时候,就会在外面这个数据库里生成这个表名。
前缀是/BIC/OH…
如果你不想保留历史数据,那就选delete data and insert data sets。这样每次抽取表会被全部删除并且重新生成。
在这里插入图片描述
如果不是选delete,那么这个表就只在第一次抽取的时候生成一次。那这个表里就会有历史数据。
一般主数据open hub就选第一个,以免不必要的麻烦。
对于选择technique key 呢,就是对于你不删除数据,还往表里填的情况有用。因为你不删数据,如果你还选sementic它自己的语义主键,那么相同主键的条目就会有个dump。这时候你不删数据,但是加了个请求号啥的技术主键,就不会有重复的。不过问题就是,那你除了请求号之外就有很多重复的了。
就这么个差别。
如果你选语义键,你要知道建open hub的时候不选主键的。这个语义主键会把所有的openhub字段都标志成sementic key。当然你可以在field list里面修改哪些是语义键。所以你用语义键会有重复。

你这个DB Connection已经建好了的话,也就是会直接生成表和数据到数据库里。
具体怎么连接看这里:
https://help.sap.com/viewer/ff18034f08af4d7bb33894c2047c3b71/7.5.23/en-US/48bbe36fd880307ce10000000a42189b.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaomici

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值