在 SAP Fiori 项目里打开浏览器开发者工具,Network 面板里经常会看到一串熟悉的请求,$metadata、$filter、$select、$expand、$batch、$count,修改数据时还可能出现X-CSRF-Token、If-Match和ETag。这些东西表面上只是 HTTP 请求里的参数和 Header,背后其实对应着一套相当完整的 SAP Gateway OData 运行时能力。SAP Gateway Foundation 提供开发和生成工具,用来把 ABAP 侧的业务数据与业务逻辑暴露成 OData 服务。今天再回头看 SAP Gateway 早期从SAP Gateway 2.0 SP03到SP05的能力演进,会发现后来大量 SAP Fiori、SAP S/4HANA 以及经典 Gateway 服务的技术习惯,很多都已经在那个阶段定型。SAP 官方目前仍保留OData in SAP Gateway - Feature Overview文档,并继续在现行 SAP Gateway Foundation 文档中说明这些 OData 能力。理解这张能力版图很有价值,因为一个成熟的 OData 服务远远不只是把数据库表包装成几个GET接口。数据应该采用什么表示格式,客户端怎样查询部分字段,怎样分页,如何一次提交多项修改,两个客户端同时修改同一业务对象怎么办,如何