使用 BAdI Provider
学习目标
解释 BAdI Provider 的用途
BAdI Provider 概览
BAdI Provider 是 SAP BW/4HANA 中的一种 InfoProvider,可以通过 ABAP 实现来定义。BAdI Provider 取代了带 ABAP 函数模块的 VirtualProvider。
没有用于创建 BAdI Provider 的图形化编辑器。它通过 BAdI RSO_BADI_PROVIDER(事务 SE18)创建。
当执行基于此类 InfoProvider 的 BW 查询时,数据管理器(Data Manager)会调用 BAdI 实现中的方法。这一基于 ABAP 的运行时遵循 SAP BW VirtualProvider 的实现模式。
不过,在 SAP BW∕4HANA 中建模虚拟场景时,SAP 建议使用 Open ODS View 或 SAP HANA 计算视图来执行这些场景。如果需要程序逻辑,请利用带 SQLScript 的 SAP HANA 计算视图,以通过 SAP HANA 运行时确保最佳的集成与性能。BAdI Provider 提供的是仅在 ABAP 中执行的虚拟数据模型,因此只有当你确实需要这种运行时时,才考虑使用它。
BAdI Provider 详细信息
BAdI Provider 的显著特征:
BAdI Provider 基于信息对象。不支持字段。
BAdI Provider 可以分配给一个 InfoArea。这样就能在 BW Modeling Tools 的仓库树中显示它。如果未分配 InfoArea,它会显示在 NODESNOTCONNECTED 下。
BAdI Provider 可以用于 CompositeProvider,但仅限 UNION 场景。不支持 JOIN 场景。
BAdI Provider 本身未集成到 SAP BW/4HANA TLOGO 框架中。RSO_BADI_PROVIDER BAdI 的实现需要在 SAP BW/4HANA ABAP 传输系统中手动管理
要使用 BAdI Provider,你需要权限对象 S_RS_BDPR。
组件:BW4-ME-BDPR
检查报表:RSO_CHECK_BADI_PROV
提示
SAP BW/4HANA 的财务内容提供了一个模板 BAdI Provider:
FI-GL Balance Sheet Reporting (3BVBFIGL01)。
。你可以查看此资源以获取更多信息:
BAdI RSO_BADI_PROVIDER 为你提供接口 IF_RSO_BADI_PROV,其中包含以下方法:
GET_INFOPROVIDER_NAMES
GET_INFOPROVIDER_FIELDS
GET_METADATA_TIMESTAMP
GET_DATA_TIMESTAMP
RUNTIME_DEFINE
RUNTIME_READ
GET_RUNTIME_PROPERTIES
本课其余配图

