根据所了解的资料,BW中的有关增强可分为五部分,如下:
1、 数据抽取增强,即在标准数据源中加入数据源中所不存在的字段,或者标准数据源不存在所需数据而需要自定义数据源,相关的事务代码有RSO2(用于定义一般数据源)、RSA6(维护数据源,用于增加其他字段)、SMOD(出口:RSAP0001,其中EXIT_SAPLRSAP_001用于业务数据,EXIT_SAPLRSAP_002用于主数据,EXIT_SAPLRSAP_003用于文本,EXIT_SAPLRSAP_004用于层次)
2、 数据传输增强,首先对于导入的外部数据(比如Excel)的信息包,在提取选项的文件名称处可写入代码,用于创建动态的文件名,另外就是开始例程(一般用于数据清洗和合并)、传输规则和结束例程,还有一种专家例程(没用过)
3、 BEx变量增强,即Query Designer中的变量增强,事务代码:SMOD(出口:RSR00001,功能模块:EXIT_SAPLRRS0_001),增强的调用时间分为四种:
Step 1(I_STEP = 1): is called before the processing of the variable pop-up and gets called for every variable of the processing type,"customer exit." You can use this step to fill your varibale with a default or proposal value.
Step 2(I_STEP = 2): is called after porcessing of the variable pop-up. This step is called only for those variables that are not marked as "ready for input" and are set to "mandatory variable entry"
Step 3(I_STEP = 3): is called after all variable processing and gets called only once and not per variable. Here you can validata the user entries.
Step 0(I_STEP = 0): is called for variables that are used in authorizations objects.
Note: You can nto overwrite the user input values into a variable with this customer exit. You can only derive values for other variables or validate the user entries.
注意:不可以使用出口覆盖用户输入的变量值,只可以从别的变量衍生值或者确认用户输入
4、 虚拟立方体、关键值、特征增强,虚拟关键值和特征不存在与数据目标中,而是在运行时计算,使用虚拟关键值和特征可实现复杂的逻辑和数据库的存取,原使用出口RSR00002,现在使用BADI:RSR_OLAP_BADI,相关事务代码:SE19(用于创建BADI的implementation),具体应用暂未实践
5、 处理链增强,在处理类型的一般程序中可以使用ABAP程序对处理链进行特殊的处理,比如记录报错信息或者执行另外的处理链等,相关事务代码:SM62(用于查看事件历史和管理),具体应用暂未实践
转发自