在实际的项目中,存在着大量的数据源需要增强,而且这些增强又可能分布在不同的项目小组中。如果对这些增强按照项目组和数据源的方式单独进行处理,则会存在两个问题:第一,ZXRSAU01只能同时被一个人进行修改,因此项目组之间的增强开发会受到相互制约;第二,ZXRSAU01每修改一次就面临一次传输,如果多个项目组之间都进行开发,则传输的先后顺序就需要在管理上进行严格的保证。
为了解决以上问题,通过实际项目的经验总结,有以下3种办法供读者参考使用。
方法一:一次性地在ZXRSAU01中按照项目组的方式新建各自不同的函数模块,这样ZXRSAU01将只传输一次,并且后续不再需要进行传输,除非有新的项目组需要。项目组所有的修改都基于自己项目组的函数。例如,在ZXRSAU01中增加项目组各自的代码,代码段如下。
方法二:在ZXRSAU01中加入一段用户自定义代码,这段代码本身没有任何数据处理的逻辑,但是却可以通过I_DATASOURCE参数动态地调用每个数据源对应的增强函数。这种方法首先必须要为数据源的增强新建函数组和函数,这里新建函数组Z_DS,并为每个数据源的增强新建函数Z_DS_<数据源技术名称>。在ZXRSAU01中加入灵活调用函数的语句的代码段如下。(www.daowen.com)
实际上,当数据源ZDS_DEMO_TCURR调用增强ZXRSAU01时,系统就会自动调用数据源本身的功能函数Z_DS_ZDS_DEMO_TCURR,从而达到灵活调用的目的。
方法三:同方法二一样,本方法也是在ZXRSAU01中加入一段用户自定义代码,但是用户可以使用可执行程序,而不是使用函数的方式,这样做的好处是不用新建函数组进行管理,但是笔者更加推荐使用函数组进行管理的方式。这里需要在ZXRSAU01加入灵活调用可执行程序的语句,代码段如下。
如需要在SE38新建一个以ZBWI开头进行命名的可执行程序,并在其中定义一个FORM供ZXRSAU01的代码调用,可执行程序ZBWI_0MATERIAL_ATTR的代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。