
在 SAP Gateway 项目里调试一个经典 OData 服务时,经常会沿着SEGW生成的 Runtime Artifacts 一路追进去。业务数据读取通常落到DPC_EXT,而当问题变成实体为什么有这个字段、某个字段为什么是 Key、Association 为什么是一对多、金额为什么自动关联 Currency、$metadata到底是谁生成的,调用链很快就会进入另一条完全不同的路线,也就是MPC。继续顺着继承关系往底层追,就会碰到一个非常核心的 SAP Gateway Framework 类。/IWBEP/CL_MGW_ABS_MODEL从名字已经可以看出一些信息。MGW对应 Gateway Model,ABS表示 Abstract,MODEL指向 OData Model。它不是普通业务类,也不是用来读取数据库数据的类,而是经典 SAP Gateway OData Channel 元数据体系中的抽象模型基类。SAP 官方文档给出的定位非常明确,/IWBEP/CL_MGW_ABS_MODEL是 Model Provider Class,也就是MPC的抽象类,具体的模型提供者实现需要建立在这套抽象模型能力之上。与此同时,SAP 仍然在当前 ABAP Platform 文档的 OData Channel Metadata APIs 中把它列为核心 Metadata API 之一。真正理解这个类以后,再看