理论教育 传输规则开始例程详解

传输规则开始例程详解

时间:2023-05-30 理论教育 版权反馈
【摘要】:传输规则中的开始例程代码如下。通过在传输规则中实施开始例程,能够在数据开始处理之前,对数据进行批量删除或其他操作处理,从而最大限度地节约系统资源。在传输规则中实施开始例程和在转换中实施开始例程,本质上并没有太多区别,只是在语法上稍有不同而已。

传输规则开始例程详解

1.应用场景描述

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

现在由于某个数据源(预算数据)上载的数据不是增量数据,而是每次全部上载,但是为了提高系统性能用户希望在数据上载之前将历史数据进行删除,即只需要当前年度以及以后的预算数据。

2.实施步骤详解

在传输规则中,我们能很快在界面上找到新建开始例程的位置,即包含通信结构字段的上方,如图5-63所示。单击“创建开始例程”按钮,进入开始例程的编辑界面,以下是系统自动产生的代码段。

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

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

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

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

可以看到程序的结构构成如下:(www.daowen.com)

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

第2部分是传输结构中所包含的字段,注意不是通信结构所包含的字段,因为在进行特性对照规则之前,系统只有传输结构的表,所以此处不包含物料组的信息。

第3部分是开发人员可以声明的全局变量,此处声明的变量不仅在开始例程中可以使用,而且在整个传输规则中都能使用。因此如果需要一个内表,则从提高系统处理性能的角度出发,最好在此处进行声明和填充,供后续操作使用。

第4部分是开始例程实际处理的部分,该部分包括USING参数G_S_MINFO,修改内表DATAPAK、G_T_ERRORLOG和ABORT。最重要的是内表DATAPAK,里面包含了传输结构以及与之对应的数据记录。记住,开始例程不是只调用一次,而是每个数据包调用一次,因此代码的性能优越尤为重要。

参数G_S_MINFO包含了一般信息RSSM_S_INFO、请求号REQUNO、数据包号DATA-PAKID、数据源名称ISOURCE、源系统LOGSYS以及其他一些不经常使用的字段,具体参见结构RSMINFOHEAD。

参数ABORT也至关重要,如果需要跳过整个数据包不处理,则可以给参数ABORT赋值“非0”即可。传输规则中的开始例程代码如下。

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

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

在BW 3.X中,系统并没有提供“转换”以对数据进行清洗和转换,而是在数据源和信息源之间提供了“传输规则”。通过在传输规则中实施开始例程,能够在数据开始处理之前,对数据进行批量删除或其他操作处理,从而最大限度地节约系统资源。在传输规则中实施开始例程和在转换中实施开始例程,本质上并没有太多区别,只是在语法上稍有不同而已。

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

我要反馈