ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

SAP Gateway 二进制上传的核心入口,深入理解 /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_STREAM

SAP Gateway 二进制上传的核心入口,深入理解 /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_STREAM 在 SAP Gateway 项目里做附件上传时,经常会遇到一个很有意思的现象。普通业务数据的新增,我们很自然地会去实现CREATE_ENTITY。订单、客户、地址、备注之类的结构化数据通过 JSON 或 Atom Payload 传过来,Gateway Framework 负责解析,DPC 再负责落库,这套思路很好理解。可一旦业务对象变成 PDF、Excel、JPEG 图片、Word 文档,或者设备产生的一段原始二进制数据,事情马上不一样了。此时真正进入核心位置的方法,往往是/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_STREAM。SAP 到今天仍然把/IWBEP/IF_MGW_APPL_SRV_RUNTIME定义为 OData Channel 的核心运行时接口之一,而且 SAP 官方对这个接口的描述很直接,每一个 Data Provider Class,也就是我们熟悉的 DPC,都会实现这个中央应用运行时接口。当前 SAP Gateway Foundation 文档中,CREATE_STREAM依旧是这个接口中专门负责 Media Resource 创建的方法。理解CREATE_STREAM最大的障碍,并不是 ABAP 代码,而是需要先把 OData 世界里的两个概念分开,Media Resource 和 Media Link Entry。假设我们的采购系统允许员工给采购订单上传一份供应商报价 PDF。真正那一串 PDF 二进制内容属于 Media Resource。而
返回列表