简体   繁体   中英

SAPUI5 Deep Insert from Kapsel Offline App on OData V2 Model

Question:

How can a "Deep Insert" performed from a SAPUI5 Client application on an OData V2 Model?

Situation:

I want to Deep Insert an "Operation" together with some "Components" into my OData V2 Model in my SAPUI5 Client application.

 // the request data
 "OperationSet" : {         
          "Orderid" : "13700090",       
          "OperationComponentSet" : [
              {                
                "Orderid" : "13700090",
                "Activity" : "0010",
                "SubActivity" : "",
                "ComponentItem" : "000010"                 
              }
            ]
}

this.getView().getModel().create("/OperationSet", requestData);

I cannot use the function create(sPath, oData, mParameters?) on the OData V2 Model the documentation says: "Please note that deep creates are not supported and may not work." see https://sapui5.netweaver.ondemand.com/sdk/docs/api/symbols/sap.ui.model.odata.v2.ODataModel.html#create

Is there any other possibility to perform a Deep Insert on an OData V2 Model?

Links:

The answer is, "Deep Insert" doesn't support 0..n assoziations with the Offline Kapsel Plugin at the moment.

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

Limitations of Deep Inserts A deep insert is an OData POST request to create an entity that also contains the inlined definitions of related entities.

When a deep insert is processed, the top-level entity and all of its related entities are created and linked together as a single operation. In SDK SP07, the Offline Store supports deep inserts through the OData API on Android, iOS and WinPhone 8 platforms with one important restriction:

  • The navigation property used for the deep insert must refer to at most one entity. Any inlined related entities must be added using a navigation property whose ToRole refers to an association end with cardinality 0..1 or 1. They cannot be added using a navigation property whose ToRole refers to an association end with cardinality *. Navigation properties that refer to a set of entities cannot be used for deep inserts.

So "Deep Insert" will only work if the request is executed online against the gateway at the moment.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM