cancel
Showing results for 
Search instead for 
Did you mean: 

OData - CURD operation issue

Former Member
0 Kudos

Hi,

This is my code. I want to do an update. However, I am facing this issue -"ReferenceError: OData is not defined".

function ajaxWrite(link, parameters){

  OData.request

  ({

  requestUri: link,

        method: "GET",

        headers:{     

           "X-Requested-With": "XMLHttpRequest",

           "Content-Type": "application/atom+xml",

           "DataServiceVersion": "2.0",        

           "X-CSRF-Token":"Fetch"

                }       

  },

  function (data, response){

      OData.request

      ({

          requestUri: link,

          method: "PUT", 

          headers: {

          "X-Requested-With": "XMLHttpRequest",                      

          "Content-Type": "application/atom+xml;type=entry; charset=utf-8",

          "DataServiceVersion": "2.0",

          "Accept": "application/atom+xml,application/atomsvc+xml,application/xml",

          "X-CSRF-Token": response.headers['x-csrf-token']==undefined? response.headers['X-CSRF-Token']: response.headers['x-csrf-token']

                   },

           data: parameters  

        },

        function (data){

                success();

                // refresh the timeline

                sap.ui.getCore().getModel("timelineModel").loadData(URL.Timeline.link, '', false);

                loadTimeline();

        },

        function (err){

        error(null, "Error in PUT operation");

        }

      );

  },

  function (err){

  error(null, "Error in GET operation");

  }

  );

}

Accepted Solutions (1)

Accepted Solutions (1)

kai2015
Contributor
0 Kudos

I do an update like this:


var oModel = new sap.ui.model.odata.ODataModel("..........URL OF SERVICE.....", true);

oModel.update("/Entity("+id+")", data, null, function(){}, function(){});

Former Member
0 Kudos

It works. However, it sends a request to update metadata. Is it possible to prevent sending a request for it?

kai2015
Contributor
0 Kudos

I think yes, if you use the ODataModel Object, which you have created before.

(Where you've got the data first) on this object you do an update.

But I havent tried that.

Answers (1)

Answers (1)

ChandraMahajan
Active Contributor
0 Kudos

Yes better to use OData model CRUD functions as documented here OData Write Support - SAPUI5 Developer Guide - SAP Library

Regards,

Chandra