0

I'm trying to do a oData create on checkbox pressed and getting the following errors. Not sure if this is front end or a back end ABAP issue as have got this same function working in another project.

It is failing on the create part but strangely is still passing through the details for SiteId, ArticleNumber, VarianceDate & Confirmed.

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
                });
            }
        });
    }
Boghyon Hoffmann
  • 17,103
  • 12
  • 72
  • 170
Scott
  • 171
  • 3
  • 23

1 Answers1

1

'000000000' is the initial value for Edm.DateTime, hence it will fail when you have modelled a DateTime property to not be nullable.

Go to SEGW and change the property to "nullable" or make sure that you always provide a correct Date in the POST.

luuksen
  • 1,357
  • 2
  • 12
  • 38
  • Thanks for your reply. I'll mention it to the ABAP developer tomorrow when get into work, I'm just the UI5 front end guy :) We did find a similar answer to this but my ABAP guy was saying that it couldn't be set to nullable as it was a primary key?? Not sure on the why but it's something I'll pick up with him, thanks. – Scott Oct 19 '17 at 22:33
  • @Scott key fields cannot be set to nullable.You have to validate the date field in front-end.Or you can send a default date value when passing to backend. – techippo.com Oct 20 '17 at 10:39