5.5.2  传输规则中的对象例程

5.5.2 传输规则中的对象例程

1.应用场景描述

用户的系统是7.X版本,但是该版本的模型是从3.X版本升级而来,因此大多数模型尚未采用最新的转换方式进行建设,还保留了以前3.X的处理方式,即数据源先通过传输规则连接到信息源,信息源再通过更新规则连接到众多的数据目标对象。

现在由于某个数据源(预算数据)上载的数据只包含物料信息,没有物料组的信息,用户希望系统能够自动根据交易数据中的物料编码推导出物料组,具体的规则是获得物料编码的前6位作为物料组,以备后续分析需求的需要。

2.实施步骤详解

在BW 3.X的传输规则中,系统不对特性和关键指标进行区分,它们使用相同的数据获取规则,如图5-64所示。

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

图5-64 BW 3.X中的传输规则界面

要想对对象进行例程的增强,需要按照以下步骤进行。

第1步:在需要增强的通信结构字段,这里由于“物料组”需要从“物料”进行派生,因此单击“物料组”后面对应的“传输规则”按钮,系统弹出“编辑传输规则”对话框,指定对象的规则明细,如图5-65所示。

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

图5-65 指定对象的规则明细

第2步:在“传输规则”中选中“例程”单选按钮,并单击其后的创建图标978-7-111-50218-0-Chapter05-159.jpg,如图5-66所示。

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

图5-66 选择“例程”作为规则

第3步:系统进入源字段选择界面,输入例程的文本描述“根据物料推导物料组”,并选择需要作为派生条件的字段,此处选择/BIC/G0WL作为物料组的派生条件,如图5-67所示。

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

图5-67 选择来源字段

传输规则中的对象例程,系统自动产生的代码如下。

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

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

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

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

可以看到程序的结构构成如下:

第1部分是系统类型声明,不可更改。

第2部分是传输结构包含的字段定义,虽然系统写了“selected fields only”,但是实际上此处还是包含了所有对象,但是不能使用。

第3部分是开发人员可以声明的本地变量,在这里可以看到之前在开始例程中声明的全局变量定义。

第4部分是实际的计算过程,代码也在此处定义。

第5部分是附加代码(INVERT_/BIC/G0WLZ),只有在使用虚拟信息块或进行报表跳转需要传输选择条件时才需要使用该段程序。

传输规则中的对象例程代码如下。

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

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

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