BW 事物代码 数据源增强

标准数据源、自定义数据源 两种类型
EXIT_SAPLRSAP_001:增强业务数据源
EXIT_SAPLRSAP_002:增强主数据属性数据源
EXIT_SAPLRSAP_003:增强主数据文本数据源
EXIT_SAPLRSAP_004:增强层次结构数据源。
*& 包括 ZXRSAU01
*&---------------------------------------------------------------------*
CASE I_DATASOURCE.
WHEN '2LIS_11_VAHDR'.
TABLES : JCDS.
DATA : L_TABIX TYPE SY-TABIX.
DATA : L_S_VAHDR LIKE MC11VA0HDR.
DATA : BEGIN OF WA_JCDS,
OBJNR TYPE J_OBJNR,
UDATE TYPE CDDATUM,
END OF WA_JCDS.
DATA : IT_JCDS LIKE STANDARD TABLE OF WA_JCDS.
SELECT OBJNR UDATE
INTO CORRESPONDING FIELDS OF TABLE IT_JCDS
FROM JCDS
WHERE OBJNR BETWEEN 'VB0000000000000000' AND 'VBZZZZZZZZZZZZZZZZ'
AND STAT = 'E0003'
AND INACT = ''.
SORT IT_JCDS BY OBJNR UDATE DESCENDING.
LOOP AT C_T_DATA INTO L_S_VAHDR.
L_TABIX = SY-TABIX.
READ TABLE IT_JCDS INTO WA_JCDS WITH KEY OBJNR = L_S_VAHDR-OBJNR.
IF SY-SUBRC <> 4.
L_S_VAHDR-ZZUDATE = WA_JCDS-UDATE.
MODIFY C_T_DATA FROM L_S_VAHDR INDEX L_TABIX.
ENDIF.
CLEAR WA_JCDS.
ENDLOOP.
CLEAR WA_JCDS.
ENDCASE.
DATA: L_METHOD TYPE SEOCMPNAME.
CHECK C_T_DATA[] IS NOT INITIAL.
CONCATENATE 'ZM_' I_DATASOURCE INTO L_METHOD.
SELECT SINGLE CMPNAME
INTO L_METHOD
FROM SEOCOMPO
WHERE CLSNAME = 'ZCL_IM_RSU5_SAPI_BADI'
AND CMPNAME = L_METHOD.
IF SY-SUBRC = 0.
CALL METHOD (L_METHOD)
EXPORTING
I_UPDMODE = I_UPDMODE
I_T_SELECT = I_T_SELECT
I_T_FIELDS = I_T_FIELDS
CHANGING
C_T_DATA = C_T_DATA
C_T_MESSAGES = C_T_MESSAGES.
ENDIF.
ENDMETHOD.
SD
Data sources Tables
2LIS_11_VAKON VBUK, VBUP, VBAK, VBAP, VBKD, KOMV, T001.
2LIS_11_VAHDR VBAK, VBUK, T001
2LIS_11_VAITM VBAP, VBUP, VBAK, VBKD, VBAJP, T001, VBUK, PRPS.
2LIS_11_VASCL VBAP, VBUP, VBAK, VBEP, VBKD, T001, PRPS
2LIS_11_VASTH VBUK
2LIS_11_VASTI VBUP, VBUK
2LIS_11_V_ITM VBAP, VBAK, VBKD, VBUP, T001, PRPS, VBUK.
2LIS_11_V_SCL VBUP, VBEP, VBKD, VBAP, VBAK, T001, PRPS.
2LIS_11_V_SSL VBAP, VBEP, LIPS, WVBEP, VBUP
2LIS_13_VDKON VBUK, VBRP, KOMV, T001, VBRK.
*************************************************
BW中的增强(全)
根据所了解的资料,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(用于查看事件历史和管理),具体应用暂未实践
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架