
在 SAP Gateway Foundation 的 OData V4 开发体系里,很多开发人员第一次接触数据提供类时,会被大量类似/IWBEP/IF_V4_DP_BASIC、/IWBEP/IF_V4_DP_ADVANCED、/IWBEP/IF_V4_DP_INTERMEDIATE的接口搞得比较困惑。特别是在 SAP S/4HANA On-Premise、Private Cloud 或 ABAP environment 里开发 RAP 之前的传统 OData V4 服务时,READ_ENTITY_TREE_LIST是一个非常关键的方法。它不像普通的READ_ENTITY_LIST只负责读取列表数据,而是进一步处理 OData V4 中非常重要的$expand场景,也就是一次请求同时读取主实体以及关联实体的数据。SAP Gateway Foundation 官方文档中说明,/IWBEP/IF_V4_DP_INTERMEDIATE提供了一组中等复杂度的通用实现方法,框架默认会提供 Generic Implementation。当业务场景存在复杂查询或者性能压力时,开发人员可以重新定义这些方法,从而绕过通用实现带来的性能限制。(