SAP中的增量机制,可以有助系统提高数据抽取效率,在初始化执行后,每天只更新新增和修改了的记录。在我们正常的使用或开发中,这些东西并不需要知道,只要数据正常上载,就好了,此处所介绍的内容之为大家参考用。
在介绍DELTA机制之前,先介绍下DSO和CUBE:
DSO:一般DSO用来存储明细数据,其结构比较简单。对于值的转换(决定了可用的DELTA类型),既可以使用合计,也可以使用覆盖的方式。激活DSO后,其在后台对应3个数据表:
A表,存放了最后激活的数据。即存放了汇总后的数据。
LOG表:存储了数据变化的数据记录
N表,NEW表,临时存放更新的数据,待激活后,将数据转入A表和LOG表
以上数据表,可以通过在SE11中,描述中搜索DSO技术名称找到
CUBE:典型的星型架构。CUBE只支持数据值的合计上载。
建立了CUBE之后,可以到SE11中,通过在表名中搜索CUBE的名称,找到对应的维表和事实表。
同样都是数据模型,而DSO更多用于存储明细数据,星型架构的CUBE更适合作为分析数据源。关于具体的DSO和CUBE,我们以后再介绍
下面给大家介绍两个表,是定义DELTA类型的基本表,如下:
ROOSOURCE:定义了每个数据源的属性,大部分属性我们在创建自定义数据源时已介绍,请参考http://community.kingdee.com/pages/chunguangz/blog/archive/2010/03/18/401671.aspx,其中,DP列定义了增量类型。
RODELTAM:定义了每种增量提取方式的方法,即:DP的属性
DP:增量处理名称
T: 标识是否为 仅全量更新
NIM:标识是否为传输 新镜像(即:新数据的状态)
BIM:标识是否为传输 前镜像(即:更新前的状态)
AIM:标识是否为传输 后镜像(即:更新后的状态)
ADD:标识是否为传输 差额镜像(即:更改的差额状态)
DID:标识是否为传输 删除镜像(即:删除状态)
RIM:标识是否为传输 反转镜像(即:冲销的状态)
SER:标识为 哪种序列化方式,即:数据的排序
1. 无所需序列化
2. 所需的请求序列化
3. 所需的数据包序列化
类型:DELTA处理的类型。标识何种数据抽取方式。
BW中的增量机制就是围绕RODELTAM表设置来进行的,首先介绍增量类型的定义,我们假设有一笔业务创建100,而后更改为80,然后删除,对于以上设置,会产生什么样的影响:
ORDER NO STATUS QTY RECODE TYPE
创建订单
100000000 CREATED 100 N 将带有记录类型为‘’的新建记录上载到BW,BW以N载入DSO
更改 100->80
100000000 CHANGED -100 X 前镜像生成
100000000 CHANGED 80 “” 后镜像生成
100000000 CHANGED -20 A 差额镜像生成
标志删除
100000000 DELETED 0 R 反转镜像生成
100000000 D 删除镜像生成
创建100的业务:此为创建操作,传输新镜像,在R3端,以‘’表示新镜像
更改100->80:
如果前镜像设置:以X表示前镜像传输。
如果后镜像设置:以‘’表示后镜像传输
如果差额镜像设置:以A表示差额镜像传输
我们下面用两种类型来说明DELTA在R3和BW端的处理步骤:
ABR:MM中采购用到这种类型,我们可以看出ABR存在新镜像、前镜像、后镜像和反转镜像,我们创建一采购订单,并查看,R3数据源给BW提供的数据。
根据ABR的定义,对于采购订单操作,应按以下顺序传输数据:
ORDER NO STATUS QTY RECODE TYPE
创建订单
100000000 CREATED 100 “” 将带有记录类型为‘’的新建记录上载到BW,BW以N载入DSO
更改 100->80
100000000 CHANGED -100 X 前镜像生成
100000000 CHANGED 80 “” 后镜像生成
标志删除
100000000 DELETED 0 R 反转镜像生成
通过RSA7查看统计的待传输数据:
首先创建采购订单:订单号为4510000008
查看RSA7的统计数据:
将100改为80:
将10项目标志位删除:
关于在BW中的数据上载步骤,因为我的系统有些问题,这里就不再截图了,只是说明一下:
对于存在多种镜像属性的数据源,系统会自动为其增加ROCANCEL字段,作为传输镜像属性值用。我们这里的采购订单数据源,就是这样的类型。
我们知道,CUBE只能合计数据,DSO既可以做合计,也可以做覆盖的汇总,所以,ABR的DELTA类型是既适合CUBE又适合DSO直接更新的。用上面的数据说明,订单传输到合计的更新模式(CUBE或DSO),因为连带着前镜像一起传输,所以,汇总后的结果就是最后的结果0。如果为覆盖的话(DSO),那么序列化后的最后状态为“R”的记录,这样也实现数据的成功上载。这种方式需要数据源的序列化,对于ABR设置为2。
因此,这种方式既可以直接上载到DSO也可以直接上载到CUBE。但我们一般都会经过DSO,保证数据模型中,存储了所有的明细数据。
接下来,我们再对FI的数据源和自定义的数据源做一下分析:
首先说明一下,自定义的数据源默认都是AIE的增量处理方式,即:只提供后镜像的数据源,而且没有提供更改增量处理的方法。与FI的数据源相似。这样就说明,这些数据源只能首先上载到DSO,然后在进行分析。
以我们前面做的自定义的数据源为例:
AIE只支持后镜像,即:所有的新建或修改后,都只将最后的状态传输到BW,并且只支持一种传输方式的数据源不建立ROCANCEL字段,默认为空。
执行初始化,并将数据上载到DSO,不激活DSO数据,我们在后台数据表中,查看DSO的数据变化:
我们通过在SE11中查询ZRSO01的描述,找到了其3个表:
A表:/BIC/AZDSO0100
LOG表:/BIC/B0010239000
N表:/BIC/AZDSO0140
并且,可以看到每个表中,都存在RECORDMODE的字段,有系统自动生成,用来记录RECORD TYPE。
执行到这里,只有N表内存在数据:
激活数据:
A表:
保存了最后汇总的数据
LOG表:
数据转移到LOG表中,对于以前不存在的记录,自动将RECORD TYPE置为’N’。
同时,N表被置为空
下面,我们将1234567890的记录,修改为800,再次执行DELTA更新,并上载到DSO,查看在未激活之前的状态:
这里说明一下,手工修改记录的时间戳,需参考RSA7中的统计时间:
我们将数据修改为:
以下是未激活DSO前的状态:
A表:
激活后:
A表:
LOG表:
从中可以看出,虽然我们只是将后镜像数据上载,系统自动为我们建立了前镜像,保证了DSO保存明细数据的要求。
关于更多的DELTA处理的问题,大家可以通过以上的方式跟踪数据在系统间的传输来了解。
最后还要说明一下,FI与其他模块的数据抽取方式不太一样。
FI是通过BW的请求,到R3中执行对应的FM,然后获得数据,写入DELTA队列,这种方式叫做”PULL”。自定义数据源也是这样的方式。
对于其他模块,如MM,是通过将数据写入DELTA队列,BW请求后,并不直接读取真实的数据源,而是读取DETLA队列。
FI和自定义数据源,这里就不说了,大家可以参考自定义数据源的文章来了解。
对MM,激活信息结构的时候,会让我们选择,更新类型:
同步更新(V1):DELTA队列与凭证同步更新,如果DELTA队列写入出现错误,那么凭证也被取消
异步修改(V2):与V1相比,写入DELTA若出现错误,不对凭证的保存产生影响
异步收集更新(V3):与做凭证没有关系。在后台定义一程序,定时运行,收集产生变化的数据到DELTA队列。
与FI的抽取方式差别太大,而且需要我们在源系统进行必要的操作。感觉好像不是一批人开发的,实现DELTA的逻辑从本质上不同,SAP的解释是说,对于不能直接实现DELTA抽取的数据源,可以采用这种方式。
http://blog.csdn.net/futurewind/archive/2009/08/07/4421190.aspx
http://space.itpub.net/9381143/viewspace-627142
分享到:
相关推荐
在DELTA机制中,系统会根据不同的增量类型和提取方式,自动为数据源增加ROCANCEL字段,以实现数据的增量处理和抽取。 在BW中,DELTA机制可以实现数据的增量处理和抽取,提高数据处理效率和准确性。BW可以根据不同的...
数据库/视图:SAP 提供的这种提取方式,系统为你定义好了提取程序,通过在数据库中,设置增量相关字段(如:时间戳、日期、数字),来轻松实现 DELTA(增量)抽取,是 BW 中最常用的自定义数据源,一般是通过程序将...
### 实施BW时如何自定义数据源 在企业级数据管理与分析中,SAP Business Warehouse(BW)作为一款强大的工具,在数据集成、转换及分析方面发挥着重要作用。本文将详细介绍如何通过RSO2(Report Service Object 2)...
在SAP BW (Business Warehouse)环境中,Delta处理是一种非常重要的技术,用于捕捉数据源系统中数据的变化,并将其增量地加载到数据仓库中。这对于提高数据加载效率和减少资源消耗至关重要。 #### 二、业务情景 在...
这是BW中管理增量数据传输的机制,包括初始化加载和Delta更新,确保数据一致性。 7. **更新模式**: 包括Full Update、Delta Update和Repeat。Full Update是全量加载,Delta Update仅传输变化数据,Repeat模式...
"BW GENIUC DELTA" 提到的是SAP BW中的一个特定概念,即“GENIUC”数据源与增量更新(Delta)的结合。在本文中,我们将深入探讨这个主题,了解如何自定义数据源并进行一般增量处理。 首先,"GENIUC"是SAP BW中的...
它分为两部分:数据源的DELTA机制和BW的DELTA机制。 1. **数据源的DELTA机制**: - **后勤数据源DELTA机制**: 通过Extraction Queue (ExtractionQ) 和 Delta Queue (DeltaQ) 以及 V3 JOB 来实现。首先使用 IP ...
当数据源将数据上传到BW系统时,新数据会先放在New表中,同时RecordMode字段会记录这些数据的状态。对于Active表,RecordMode字段的值是由数据源提供的,表示该记录当前在活动表中的状态。而ChangeLog表则是用来记录...
在SAP BW中,首先需要通过事务代码SBIW访问数据源管理界面。在这个界面中,你可以创建和维护用于交易数据、主数据属性或文本数据源,这些数据源可以来自各种透明表、数据库视图或SAP查询功能区。 ##### 步骤2: 定义...
18. RSA7:BW Delta队列监视器,用于监控增量处理的状态。 19. RSA8:数据源存储库,用于查看和管理数据源定义。 20. RSA9:传输应用程序组件,用于在不同SAP BW系统间移动对象。 21. RSANWB:分析过程设计器,...
7. **RSA7 - BW Delta Queue Monitor**:用于监控和管理Delta队列,这些队列记录了自上次完整加载以来的增量数据更改。 8. **RSA8 - DataSource Repository**:提供了一个界面来维护和管理数据源对象的详细属性和...
- SAP BW 支持多种外部数据源,包括关系型数据库、文本文件等。 - 在处理外部数据源时,需要定义数据源的信息,如连接参数、数据格式等。 - 通过特定的函数模块(Function Modules)可以实现数据的抽取和加载。 ...
- **数据源**: 需要明确这些报表的数据来源,以及是否熟悉数据源的增量更新机制(delta机制)。 #### 2. 项目团队结构及工作分配 - **团队规模**: 在一个典型的项目中,团队规模为5人,其中3人专注于建模工作,另外2...
- Delta管理是SAP BW中用于处理增量数据加载的技术。它允许系统仅处理自上次加载以来发生变更的数据,从而提高效率。 #### LO (Logistics Information System) - 物流信息系统(LO)是SAP ECC的一个组成部分,它...
这些预配置对象包括Datasources、InfoObjects、数据目标和InfoSources等,支持整个数据流在BW中的运行。 Business Content为快速启动关键业务信息建模提供了一个快速的起点,并且旨在覆盖大多数企业面临的传统报告...
DTP允许设置Extraction Mode,如Full(全量抽取)和Delta(增量抽取),根据实际情况选择。初始设置通常为Full,以完整获取初始数据。 4. 创建另一个Transformation,这次是从DSO到InfoCube的映射。InfoCube是多维...