2017-10-19 5 views
0

Ich versuche, eine oData create on Checkbox gedrückt zu halten und die folgenden Fehler zu bekommen. Nicht sicher, ob dies ein Front-End- oder ein Backend-ABAP-Problem ist, da diese Funktion in einem anderen Projekt funktioniert.SAPUI5 oData POST 500 Fehler

Es ist auf dem Create-Teil fehlgeschlagen, aber seltsamerweise noch durch die Details für SiteId, ArticleNumber, VarianceDate & Bestätigt.

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 
       }); 
      } 
     }); 
    } 

Antwort

1

'000000000' ist der Anfangswert für Edm.DateTime, daher wird es fehlschlagen, wenn Sie ein Datetime-Eigenschaft modelliert haben keine Nullwerte enthalten sein.

Gehen Sie zu SEGW und ändern Sie die Eigenschaft in "Nullable" oder stellen Sie sicher, dass Sie immer ein korrektes Datum im POST angeben.

+0

Vielen Dank für Ihre Antwort. Ich werde es dem ABAP-Entwickler morgen bei der Arbeit sagen, ich bin nur der UI5-Front-End-Typ :) Wir haben eine ähnliche Antwort gefunden, aber mein ABAP-Typ sagte, dass es nicht gesetzt werden konnte Nullable wie es ein Primärschlüssel war ?? Ich bin mir nicht sicher warum, aber ich werde ihn mitnehmen, danke. – Scott

+0

@Scott-Schlüsselfelder können nicht auf Null gesetzt werden. Sie müssen das Datumsfeld im Frontend validieren. Oder Sie können einen Standarddatumswert senden, wenn Sie an das Backend übergeben. –