SAP Gateway OData V4 中 IO_RESPONSE 的真正角色,读懂 /IWBEP/CL_V4_ABS_DATA_PROVIDER 的响应契约
在 SAP Gateway Client 里调试一个 OData V4 服务时,经常会遇到一种很有意思的代码结构。业务方法里明明只有一次数据库读取,最后却不是通过RETURNING参数把实体返回出去,而是调用类似IO_RESPONSE-SET_BUSI_DATA的方法。碰到带缓存条件的请求时,代码甚至可能完全不返回业务实体,而是调用SET_NOT_MODIFIED。再往深处看,还会出现GET_MESSAGE_CONTAINER和SET_IS_DONE。这些方法表面上很零散,放到/IWBEP/CL_V4_ABS_DATA_PROVIDER的整体运行模型里看,它们其实共同解决了同一个问题,应用层究竟应该怎样把一次 OData 请求的执行结果完整地交还给 SAP Gateway Foundation Runtime。SAP 官方把/IWBEP/CL_V4_ABS_DATA_PROVIDER定义为 OData V4 的核心抽象 Data Provider Class。这个类涉及/IWBEP/IF_V4_DATA_PROVIDER、/IWBEP/IF_V4_DP_BASIC、/IWBEP/IF_V4_DP_ADVANCED、/IWBEP/IF_V4_DP_INTERMEDIATE、/IWBEP/IF_V4_DP_BATCH和/IWBEP/IF_V4_DP_PROCESS_STEPS

相关新闻

最新新闻

日新闻

周新闻

月新闻