2017-10-19 11 views
0

J'essaye de faire un oData créer sur la case à cocher pressée et en obtenant les erreurs suivantes. Je ne sais pas s'il s'agit d'un problème ABAP frontal ou arrière, car cette même fonction fonctionne dans un autre projet.SAPUI5 oData POST 500 erreur

Il échoue sur la partie de création mais étrangement est toujours en passant par les détails pour SiteId, numéro d'article, VarianceDate & Confirmé.

console log error

gui error log

// Set CheckBox status, X for true, blank for false 
    onVarianceChecked: function (oEvent) { 
     var oEntry = {}; 

     var bindingContext = oEvent.getSource().getBindingContext(this.MODEL_VIEW); 
     var path = bindingContext.getPath(); 
     var object = bindingContext.getModel("SI").getProperty(path); 

     // Pass in the Header fields 
     oEntry.SiteId = this.SiteId; 
     oEntry.ArticleNumber = object.ArticleNumber; 
     oEntry.VarianceDate = moment(new Date(object.VarianceDate)).format('YYYY-MM-DDTHH:mm:ss'); 

     // Set X or blank 
     if (oEvent.getParameter("selected") === true) { 
      oEntry.Confirmed = "X"; 
     } else { 
      oEntry.Confirmed = ""; 
     } 

     // Do the create 
     var oModel = this.getView().getModel("SI"); 
     oModel.create("/VarianceHeaderSet", oEntry, { 
      success: function() { 
       console.log("Variance confirmed"); 
       MessageToast.show("Variance confirmed", { 
        duration: 1000 
       }); 
      }, 
      error: function (oError) { 
       console.log("Error, variance could not be confirmed"); 
       MessageToast.show("Error, variance could not be confirmed", { 
        duration: 1000 
       }); 
      } 
     }); 
    } 

Répondre

1

'000000000' est la valeur initiale Edm.DateTime, par conséquent, il échouera lorsque vous avez modélisé une propriété DateTime pour ne pas être annulable.

Accédez à SEGW et remplacez la propriété par "nullable" ou assurez-vous de toujours indiquer une date correcte dans le POST.

+0

Merci pour votre réponse. Je vais le mentionner au développeur ABAP demain quand je serai au travail, je suis juste le gars de l'interface utilisateur d'UI5 :) Nous avons trouvé une réponse similaire mais mon gars ABAP disait qu'il ne pouvait pas être réglé sur nullable car c'était une clé primaire ?? Je ne sais pas pourquoi, mais c'est quelque chose que je vais ramasser avec lui, merci. – Scott

+0

Les champs de clé @Scott ne peuvent pas être définis sur nullable. Vous devez valider le champ de date dans front-end.Or vous pouvez envoyer une valeur de date par défaut lors du passage au backend. –