cancel
Showing results for 
Search instead for 
Did you mean: 

Insert rows into tables using OData

radim_vongrej
Advisor
Advisor
0 Kudos


Hi all,

I am trying to insert row into a table,

var oEntry = {};

     oEntry.CustomerID = $("#p2_CID").val();    
     oEntry.Reference.Identifier = $("#Reference_Identifier").val();
     oEntry.Nickname = $("#p2_Nname").val();

var oModel = new sap.ui.model.odata.ODataModel("/xxx/xxx/services/customer.xsodata/",false, xxx, xxx);

  oModel.create('/customer', oEntry, null, function() {

   alert("Create successful");
 
  }, function () {
  
   alert("Create failed");
  });

the table has a column name "Reference.Identifier", and when I set oEntry.Reference.Identifier = $("#Reference_Identifier").val()  I get an error

Uncaught TypeError: Cannot set property 'Identifier' of undefined

I don't know how to solve this issue ....



Accepted Solutions (0)

Answers (2)

Answers (2)

former_member183518
Active Participant
0 Kudos

You're missing out to declare oEntry.Reference as an Object before adding properties to it.


var oEntry = {};    

oEntry.Reference = {};

oEnry.Reference.Identifier = "<value>";

kedarT
Active Contributor
0 Kudos

Hi Radim,

Why do you have Reference.Indentifier, instead  of that just use Reference_Indentifier.

You get the error because it is look for property Identifier which is not a property of Reference.

Hope this helps.

0 Kudos

onAfterRendering: function() {

  var oTable2 = sap.ui.getCore().byId("Tbl");

  aData = [

        

              {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

          {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

          {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

          {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

          {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

              {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

              {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

          {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

              {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

              {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""}

        

        

        

                

          ];

  oModel = new sap.ui.model.json.JSONModel();  // created a JSON model         

         oModel.setData({ // Set the data to the model using the JSON object defined already   

          modelData: aData });

  oTable2.setModel(oModel);

  // oTable2.bindAggregation("rows","/modelData");

  oTable2.bindRows("/modelData");

  // aData[0].Material.getFocusDomRef();

  },

  addRow: function(){

  var modelData = oModel.getData(); 

  var rowCount   = modelData.modelData.length;

  //rowCount = 10;

     rowCount = rowCount + 1; 

  aData.push({Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""},

            {Itemnum: "", Material: "", Salesunit:"", Orderquantity: ""});

           

  

  oModel.setData({modelData:  aData });

  modelData = rowCount;

  },