ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

一个 $select 参数,为什么还能决定按钮能不能点,深入理解 SAP Gateway OData V4 的 Advertised Action

一个 $select 参数,为什么还能决定按钮能不能点,深入理解 SAP Gateway OData V4 的 Advertised Action 在 SAP Fiori 或 SAPUI5 项目里,经常会碰到一种很有意思的现象。页面读取同一个业务对象时,数据字段都能正常显示,但某个 Action 按钮有时可用,有时却不可用。继续抓取浏览器里的 OData V4 请求,会发现返回结果里除了Name、Status、Amount这样的普通业务字段,还可能出现一个看起来很特殊的成员。#com.sap.gateway.default.iwbep.tea_busi.v0001.AcSetIsAvailable这个成员不是传统意义上的业务属性,它代表的是一个被服务端 advertised 的 OData Action。再往请求 URL 里看,还可能发现$select中出现同一个 qualified action name。?$select=Name,Status,com.sap.gateway.default.iwbep.tea_busi.v0001.AcSetIsAvailable很多长期开发 OData V2 的 ABAP 开发人员第一次看到这种请求时,会习惯性地把$select理解为 SQL 里的字段投影,只负责告诉服务端需要返回哪些 property。到了 OData V4,这个理解就不够完整了。OData V4 的$select不仅能够选择普通属性,还能显式选择
返回列表