
在 SAP Gateway Foundation 的 OData V4 开发里,有一个非常容易被低估的机制,就是To-Do Flags。刚接触/IWBEP/CL_V4_ABS_DATA_PROVIDER这一套编程模型时,我们很容易把注意力放在IO_REQUEST、IO_RESPONSE、GET_FILTER_TREE、SET_BUSI_DATA这些 API 上,感觉整个开发过程无非就是从 Request 里把参数取出来,到数据库查询数据,再通过 Response 对象把结果塞回去。真正开始处理$filter、$select、$top、$skip、$expand、导航、PATCH、ETag、$batch之后,很快就会发现,仅仅知道有哪些GET_*和SET_*方法是不够的。SAP Gateway V4 Runtime 还需要知道另一件事,我们这个 DPC 到底处理了什么。这个问题,就是To-Do Flags存在的原因。SAP 官方把 OData V4 的 Data Provider Class,也就是 DPC,定义为业务数据访问层。经典的自定义 OData V4 DPC 会继承/IWBEP/CL_V4_ABS_