上次举办了主题为:“UnlockSAP Data”的webinar后,很多小伙伴都很感兴趣(要是还没看赶紧去看录像啊~~),但是因为是英文的,不是很明白。这里跟大家再具体介绍一下。

SAP的ERP产品经过了多年的发展, 目前主要有2个版本, 老的ECC和新发布的S4HANA。 S4HANA是革命性的新产品, 但上市时间不久, 大部分的老用户应该还是使用的ECC。

如何”解锁“HANA的数据,我们下次再聊, 今天我们就主要聊聊ECC。

ERP系统在绝大多数企业都是最为核心的系统, 这么重要的系统,其中存放的数据也是非常宝贵的, 为了挖掘这些数据的价值, 企业纷纷上线了各种报表,BI甚至大数据分析系统。但是这些系统通常不能也不会直接在ERP的数据库上运行。

但是想要获取ECC系统的数据是件很复杂的事情。这是由于大部分的业务数据, SAP将它们封装起来,以二进制对象的方式存在表的LOB字段里,这些表叫cluster table或者pooled table。读取这些信息,需要使用专门的ABAP语言编程,然后再传输DW系统供用户分析使用。

关于这一点,我们可以用相对“静态”的物料主数据来举个例子。

首先,你需要业务顾问写好包含程序处理逻辑的功能说明书,定义清SAP在何种情况下触发程序,需要传输哪些字段数据,同时在程序里包含哪些逻辑条件,总之,说明书写的越详细,ABAP开发顾问就越容易理解开发需求,也就越能准确实现业务顾问想实现的功能。有了功能说明书之后,开发顾问就可以着手开发ABAP程序来传输数据了。一种比较简单的方法是可以在SAP中定义增强程序,当物料创建、修改时,只要在SAP系统中对物料主数据更新保存成功后,会自动调用增强程序将物料信息推送给目标系统,并根据目标系统的响应在SAP中记录推送结果。

听上去似乎也不是太复杂,ABAP老司机也许几个小时就完成了开发测试一条龙服务…

但是,这仅仅是一个物料主数据同步的接口,如果有很多不同的主数据呢?如果业务顾问有那么一点点不靠谱,说明书写的云山雾罩呢?如果ABAP开发顾问并不是一个老司机呢?嗯,Will you make a wish, make a wish,闭上眼睛 愿望是口井,Make a wish make a wish,你会听见真诚的回音……

而且,这还是“静态”数据,如果是交易数据,再假如业务忙碌那么一些,那么程序很可能就跪了。说个笑话,某公司SAP和MES系统的集成,关于生产订单的投料和工序确认数据同步,一开始设定的同步时间是5分钟,一个月后改成了10分钟,半年后改成了半小时…

对于ERP系统来说,数据是不断发生变化的,那么DW里的数据只能通过ETL的方式从ERP系统进行批量抽取,如果抽取频率太高,又会对ERP的运行产生很大的压力,所以一般来说DW的数据都是采用T+1的方式从生产系统抽取。

随着时代的发展,现在的企业越来越依赖数据分析支撑决策,越早拿到最新的数据进行分析,就越容易及时做出正确的决策,从而在残酷的商业竞争中抢占先机。所以实时数据获取是个很重要环节。

那么,有没有什么好的方法,能够解决数据传输的效率问题,能够大幅减少工作量而又简单易用呢?

下面我们就来谈谈HVR。

HVR是一家专注在实时数据集成领域的技术方案提供商, 许多世界顶级的企业都是HVR的用户, 例如通用电气, 波音飞机等等。HVR数据集成解决方案的基本特点是基于数据库事务日志的连续数据变化捕获技术(CDC)。简单的说就是通过直接读取生产数据库的事务日志就可以捕获业务数据的变化信息,这就避免了对数据库的SQL查询访问,不会对数据库系统产生压力,是一种非侵入式的数据捕获技术;由于对数据库的事务日志的分析是实时进行的,所以数据抽取的延迟时间也可以缩减到秒级,充分满足企业对于实时BI或者实时大数据的要求。

那么对于ECC里的cluser/pooled table怎么办呢?别着急, HVR提供了一个名为SapXForm的插件,可以在数据捕获的同时将LOB对象数据“解锁“为标准的格式化数据。举个例子:

假设我们现在需要将SAP ECC中的数据复制到位于云上的AWS Aurora大数据分析平台。我们只需要使用HVR完成以下步骤:

  1. 定义数据源

给出数据库(例如oracle)的访问信息(地址、用户名、口令等)

2. 定义数据目标

目标数据库可以是在本地或异地的数据中心,也可以在云上。 HVR支持各种异构场景的数据实时同步。在这里, 我们以AWS的Aurora大数据分析平台为例:

3. 定义需要复制的对象

假设我们需要获取SAP系统中业务代码为BSEG(财务凭证行项目)和T030(科目自动记账定义)的数据,我们可以直接在选取表的时候按业务代码过滤找到需要的表

4. 定义复制规则

在HVR中,复制的规则也被成为”Action”, 只需要简单的定义如下规则就可以完成数据的抽取,转换(”解锁“)和装载的工作流程。

5. 启动初始化同步数据和实时增量同步作业

HVR贴心的提供了在线初始化同步功能, 这样在进行首次存量数据的同步的时候,就不用中断业务啦。嗖的一下, 数据就自动整整齐齐分门别类的放到DW中去, 用户就可以随时使用报表查询工具或者分析工具来使用这些数据啦。

在我的笔记本上, 这十几万条记录只花了22秒钟的时间。

怎么样, 10万多条记录的T030表,即使使用我的笔记本电脑来测试也只用了5.1秒就完成了数据比对,这速度是不是杠杠的呀?

7. 数据查询

完成以上工作后, ECC系统的数据就可以被实时的同步到你的数据仓库或大数据平台上了。 数据也被解锁为标准的数据格式, 供用户直接访问。

最后, HVR可以将数据多种不同类型的平台之间进行复制,快看看有没有你感兴趣的?

Unlock SAP Data相关推荐

  1. SAP Data Intelligence Graph json源代码的结构分析

    以SAP Data Intelligence标准的示例Graph com.sap.demo.http.server为例,将其json代码保存到本地,使用json编辑器查看: operator之间有8条 ...

  2. SAP Data Intelligence API执行出错的排错之道

    使用HTTP GET访问SAP Data Intelligence graph API时,遇到500 internal server error的错误: 返回SAP Data Intelligence ...

  3. SAP Data Intelligence API如何获得Access Token - no authentication means found

    试图使用postman访问SAP Data Intelligence graph API时,遇到401 unauthorized的错误: no authentication means found A ...

  4. 使用SAP Data Hub Developer Edition将数据写入Hadoop

    SAP Data Hub Developer Editor有一个默认的Apache Hadoop安装. 使用如下的命令行启动Hadoop: docker run -ti --publish 127.0 ...

  5. 在SAP Data Intelligence Modeler里测试data Generator graph

    打开SAP Data Intelligence Modeler,切换到Graph标签页,打开data Generator: 查看这个Data Generator的实现脚本类型:JavaScript 这 ...

  6. 从SAP Leonardo到SAP Data Intelligence

    Jerry之前的文章介绍过,我所在的团队曾经用SAP Leonardo上的机器学习服务,开发了一系列消费这些服务的原型应用: 如何在Web应用里消费SAP Leonardo的机器学习API 如何对SA ...

  7. messagehub讲解_艾舜杰SAP Data Hub 数据服务总线技术深度讲解

    原标题:艾舜杰SAP Data Hub 数据服务总线技术深度讲解 艾舜杰SAP Data Hub 是一个多方面的数据编排解决方案, 旨在解决在不断增长的分布式数据环境中的挑战.它的关键功能包括:数据管 ...

  8. SAP Data Service操作简介

    SAP Data Service是通过SAP HANA认证的ETL工具,其主要功能就是将数据从多个业务系统中抽取出来,进行必要的处理,如转换.合并.过滤.清洗,然后加载到BW系统或者HANA. DS的 ...

  9. SAP Data Service 4.2 下载及安装教程

    SAP Data Service 4.2 下载及安装教程 1. 软件简介 2. 安装规划 3. 准备条件 3.1 硬件 3.2 软件 3.3 其他 4. 参考资料 5. 安装步骤 5.1 Linux ...

最新文章

  1. 传统编译器与神经网络编译器
  2. SQLServer On Linux Package List on CentOS
  3. 交互式线上科学期刊Distill上线,Ian Goodfellow表示“学ML就找它”
  4. spark 朴素贝叶斯
  5. 引用:编写高性能Web应用程序的10个技巧(一)
  6. 高铁上的排泄物都哪里去了,真的是“一泻千里”吗?
  7. getordefault java_Java map.getOrDefault()方法的用法详解
  8. Android -- 写xml到SD卡中
  9. linux脚本批量解压,Shell中使用tar命令批量解压缩的实现方法
  10. JSON格式输出Struts2
  11. MISC图片隐写之foremost
  12. 金字塔 2020-12-29
  13. 网络工程师 第5章 无线通信网
  14. 小米手机打开报告mimu查看程序调试错误locat
  15. 【JIRA 学习】JIRA 配置缺陷的reopen 次数
  16. NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低
  17. word2010使用记录
  18. PocketGamer专访Adrealm:数字广告将迎来全新解决方案
  19. VBA通过一定规律匹配后另存为文件
  20. RPA:企业信息孤岛的“克星”

热门文章

  1. JS的三种消息提示框alert confirm prompt
  2. C++多个文本读取问题
  3. Angular之组件的创建
  4. ASP.net core 使用UEditor.Core 实现 ueditor 上传功能
  5. 【Android Studio安装部署系列】十一、Android studio获取数字签名信息
  6. Fedora 14 网卡设置
  7. 给定数字的全部组合实现方式
  8. 淘宝+天猫+闲鱼卖的翻新货店家汇总(持续更新)
  9. 滴眼液的ph值与胶原纤维的粘结性(还没写完)
  10. Hive的六种UDF完整实例与使用方法汇总