在OData V2模型上从Kapsel Offline App进行SAPUI5深度插入

时间:2015-07-23 11:24:59

标签: javascript odata sap sapui5

问题:

如何在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模型上执行深度插入?

链接:

1 个答案:

答案 0 :(得分:1)

答案是,“Deep Insert”目前不支持与离线Kapsel插件进行0..n协商。

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

  

深度插入的限制深度插入是对OData POST的请求   创建一个也包含相关内联定义的实体   实体。

     

处理深度插入时,顶层实体及其全部   相关实体作为单个实体创建和链接在一起   操作。在SDK SP07中,脱机存储支持深度插入   通过Android,iOS和WinPhone 8平台上的OData API   一个重要的限制:

     
      
  • 用于深插入的导航属性必须至多引用一个实体。必须使用a添加任何内联相关实体   导航属性,其ToRole引用关联结束   基数0..1或1.无法使用导航添加它们   ToRole引用具有基数*的关联结束的属性。   无法使用引用一组实体的导航属性   用于深插入。
  •   

因此,“Deep Insert”仅在此时针对网关在线执行请求时才有效。