在 SAP Gateway 项目里看到下面这样一行代码时,很多 ABAP 开发人员都会下意识地把它理解成「告诉 Gateway,Function Import 要返回哪个表」。lo_action-set_return_entity_set(iv_entity_set_name='SalesOrderSet').这种理解不能算完全错误,但离 SAP Gateway 真正建立 OData 元数据模型的机制还差了一层。SET_RETURN_ENTITY_SET并不负责查询数据,也不负责把某个 ABAP Internal Table 塞进 HTTP Response,更不会决定 Function Import 最终返回一条记录还是多条记录。它做的是一件纯粹属于 OData Metadata 建模阶段的事情,把某个 Function Import 的返回实体,与当前 OData Model 中已经声明的 Entity Set 建立关联。SAP 官方对