如何使用 SAP UI5 V2 ODataModel 模型 API 实现 deepCreate 的场景以及局限性
如果开发人员期望在持久化时请求已创建条目的导航属性(navigation property),请使用可选的 expand 参数在与实体创建的 POST 请求相同的批处理请求中有效地执行此操作。
可选的 inactive 参数确定是否创建非活动 transient 上下文。 这样的上下文只会在属性更新时成为活动的 transient上下文。 在此之前,它不是挂起的更改,即它不被 hasPendingChanges API 考虑,也不能被 resetChanges 删除; submitChanges API 不会触发非活动上下文的创建请求。
deepCreate,即首先创建一个实体,并基于这个新创建的实体,再次新创建一个子实体。
V2 ODataModel 不支持在同一个
API 请求里完成这个场景。
可以链接两个 API 调用来创建具有两个顺序请求的父实体和子实体,如以下示例所示,该示例同时创建了一个销售订单和一个销售订单项目:
var oParentContext,
oModel = this.getView().getModel();
oParentContext = oModel.createEntry("/SalesOrderSet");
oParentContext.created().then(function () {
var oChildContext = oModel.createEntry("ToLineItems", {
context : oParentContext
});
oModel.submitChanges(); // triggers request for creation of item
});
oModel.submitChanges(); // triggers request for creation of sales order
ODataModel.createEntry 的一个局限性:
ODataListBinding.create 创建一个条目并将其插入到条目列表的开头或结尾。 该条目在绑定控件的对应位置可见,无需先保存到后端再刷新绑定; 与 ODataModel#createEntry API 相比,这是一个优势。
如果有一个显示条目集合
的列表或表格控件并且以下条件之一适用,请使用方法 ODataListBinding.create
,而不是 ODataModel.createEntry
:
-
创建的条目甚至在存储到后端之前就应该出现在此表中,以便最终用户可以查看和修改他们的数据。
-
即使已经持久化到后端,创建的条目也应该显示在表格中的相同位置; 只是他们的数据会根据创建 POST 请求的响应进行更新。
-
希望提供内联创建行以快速创建新条目。
相关文章
- SAP UI5 sap.ui.core.Element 的概要介绍
- 天气预报api免费接口_天气API
- 关于 SAP ABAP CL_HTTP_CLIENT API 中的 SSL_ID 参数
- 使用 SAP UI5 sap.ui.export.Spreadsheet API 进行 Excel 导出的一些限制
- Angular HTTPClient API 在 SAP 电商云中的使用
- SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显示
- SAP UI5 里 FlexBox 控件使用的一个例子
- SAP Fiori Launchpad url 参数 sap-app-origin-hint 的含义
- 探索Linux系统 API 的乐趣(linux系统api)
- SAP的PI日志查看工具详解编程语言
- SAP FTP FOR ABAP programing详解编程语言
- SAP STO 退货业务的后台配置说明详解编程语言
- SAP 收货时,根据信息记录中的价格段来控制收货价格详解编程语言
- Linux文件系统API的运用(linux文件操作api)
- MySQL C API实现数据库应用程序(mysql的c语言api)
- 使用MSSQL的API实现更佳的数据库管理(mssql的api)
- c语言编程API实现MySQL数据库连接(c api链接mysql)
- API连接MySQL数据库实现快速灵活的数据存取(api连mysql数据库)
- 快速下载API数据使用MySQL实现(mysql下载api数据)
- 对比Oracle和SAP价格比较哪个是更值得投入的选择(oracle与sap价格)
- Oracle与SAP金蝶谁更具竞争力(oracle sap金蝶)
- 探索 Oracle 与 SAP 技术的开发可能性(oracle sap开发)
- 研究Oracle API接口,助推业务发展(oracle api接口)