SAPUI5深度插入来自OData V2模型上Kapsel离线应用程序



问题:

如何在OData V2模型上从SAPUI5客户端应用程序执行"深度插入"?

情况:

我想在SAPUI5客户端应用程序的OData V2模型中深度插入一个"操作"和一些"组件"。

 // the request data
 "OperationSet" : {         
          "Orderid" : "13700090",       
          "OperationComponentSet" : [
              {                
                "Orderid" : "13700090",
                "Activity" : "0010",
                "SubActivity" : "",
                "ComponentItem" : "000010"                 
              }
            ]
}
this.getView().getModel().create("/OperationSet", requestData);

我无法在oData V2模型上使用create(sPath,oData,mParameters?(函数。文档中写道:"请注意,深度创建不受支持,可能不起作用。"请参阅https://sapui5.netweaver.ondemand.com/sdk/docs/api/symbols/sap.ui.model.odata.v2.ODataModel.html#create

是否有其他可能在OData V2模型上执行深度插入?

链接:

  • https://sapui5.netweaver.ondemand.com/sdk/docs/api/symbols/sap.ui.model.odata.v2.ODataModel.html
  • http://scn.sap.com/docs/DOC-58063#deepinsert

答案是,"深度插入"目前不支持0..n与离线Kapsel插件的关联。

参见http://help.sap.com/saphelp_smp308sdk/helpdata/en/d3/0ded03756247f1a136c84be7901879/content.htm

深度插入的限制深度插入是对创建一个实体,该实体还包含相关的内联定义实体。

处理深度插入时,顶级实体及其所有相关实体被创建并链接为单个实体活动在SDK SP07中,离线商店支持深度插入通过Android、iOS和WinPhone 8平台上的OData API一个重要的限制:

  • 用于深度插入的导航属性最多只能引用一个实体。任何内联的相关实体都必须使用ToRole引用了以结束的关联的导航属性基数0..1或1。无法使用导航添加它们属性的ToRole引用了基数为*的关联结束。不能使用引用一组实体的导航属性用于深度插入

因此,"深度插入"只有在当前针对网关在线执行请求的情况下才会起作用。

最新更新