公司动态

从 CREATE_PROPERTY 看懂 /IWBEP/IF_MGW_ODATA_CMPLX_TYPE,SAP Gateway 复杂类型的属性究竟是怎样建模的

📅 2026/8/23 7:06:05
从 CREATE_PROPERTY 看懂 /IWBEP/IF_MGW_ODATA_CMPLX_TYPE,SAP Gateway 复杂类型的属性究竟是怎样建模的
在一个经典的 SAP Gateway OData 项目里,当我们打开MPC或MPC_EXT类的DEFINE方法,经常会看到一组很有年代感、但直到今天依然非常重要的接口,/IWBEP/IF_MGW_ODATA_MODEL、/IWBEP/IF_MGW_ODATA_ENTITY_TYP、/IWBEP/IF_MGW_ODATA_PROPERTY,以及本文要讨论的/IWBEP/IF_MGW_ODATA_CMPLX_TYPE。很多开发人员第一次看到/IWBEP/IF_MGW_ODATA_CMPLX_TYPE时,会下意识把它理解成一个 ABAP Structure 的包装器。这个理解只能算对了一部分。它真正表示的是 SAP Gateway OData 元数据模型中的一个Complex Type对象,而不是某个已经装好业务数据的 ABAP Structure 实例。SAP 官方文档给出的定义非常直接,这个接口表示一个 OData Complex Type 对象。这一点很重要,因为后面理解CREATE_PROPERTY时,我们需要始终记住,我们此时操作的是 OData Metadata Model,而不是业务数据。在MPC的DEFINE方法运行期间,我们做的事情更接近于搭建一张数据结构蓝图。Entity Type 有哪些字段,Complex Type 包含哪些字段,字段的数据类型是什么,是否允