理论教育 生成数据表的层次结构:实现方法与技巧

生成数据表的层次结构:实现方法与技巧

时间:2023-05-30 理论教育 版权反馈
【摘要】:如果将节点关系的相关数据自动地每天同步到BW系统中,同时又采用本单元所述的层次结构自动生成程序,那么即可在两套系统之间自动地同步层次结构,这样就避免了源系统不是SAP系统,没有标准的层次结构数据源的缺陷。

生成数据表的层次结构:实现方法与技巧

1.应用场景描述

在某些项目中,我们可能抽取来自于不同系统的数据,这些数据既有主数据,也有交易数据,当然也可能有层次结构。让项目组成员感到为难的是,非SAP系统不会考虑到BW的需要而新建类似于ERP成本中心层次结构那样的数据源,但是用户又希望在BW系统自动构建这些层次结构,而不是手工处理上万条的记录,用户希望能够在系统获取了节点之间关系的信息后,由BW系统自动产生相同的层次结构。

2.根据节点关系表产生层次机构

本处以简单的公司代码的层次结构数据表为例,详细说明如何使用ABAP代码的方式创建对象的层次结构,具体步骤如下。

第1步:我们必须有相应的层次结构数据表,在这些数据表中定义了公司代码、公司代码的父亲节点,以及对应公司代码自身的中文描述,这里暂且不考虑子节点之间的顺序问题。假如有如图5-58所示的数据表,很显然,我们要构建的层次结构和之前的示例类似。

第2步:新建DSO存储这些记录,加入DSO,技术名称叫作ZHIERDSO,则其定义如图5-59所示。

978-7-111-50218-0-Chapter05-140.jpg

图5-58 层次结构二维

978-7-111-50218-0-Chapter05-141.jpg

图5-59 DSO的结构定义

相关模型创建完毕,并向DSO填充数据后,表/BIC/AZHIERDSO00的数据内容如图5-60所示。

978-7-111-50218-0-Chapter05-142.jpg

图5-60 表/BIC/AZHIERDSO00的数据内容

第3步:创建可执行程序,读取表/BIC/AZHIERDSO00中的内容,并且根据先后顺序建立层次结构,建立好的层次结构如图5-61和图5-62所示。(www.daowen.com)

978-7-111-50218-0-Chapter05-143.jpg

图5-61 公司代码的层次结构概览

978-7-111-50218-0-Chapter05-144.jpg

图5-62 程序生成的层次结构

示例:生成层次结构的程序代码如下。

978-7-111-50218-0-Chapter05-145.jpg

978-7-111-50218-0-Chapter05-146.jpg

978-7-111-50218-0-Chapter05-147.jpg

978-7-111-50218-0-Chapter05-148.jpg

978-7-111-50218-0-Chapter05-149.jpg

978-7-111-50218-0-Chapter05-150.jpg

978-7-111-50218-0-Chapter05-151.jpg

通过使用ABAP程序的方式读取需要建立层次结构对象的节点之间的相互关系,即可在BW系统中自动产生和原始系统一模一样的层次结构,这就大大减少了用户手工维护的工作量。如果将节点关系的相关数据自动地每天同步到BW系统中,同时又采用本单元所述的层次结构自动生成程序,那么即可在两套系统之间自动地同步层次结构,这样就避免了源系统不是SAP系统,没有标准的层次结构数据源的缺陷。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈