0

我正在尝试在按下复选框时创建 oData 并收到以下错误。不确定这是前端还是后端 ABAP 问题,因为在另一个项目中使用了相同的功能。

它在创建部分失败,但奇怪的是仍在传递 SiteId、ArticleNumber、VarianceDate 和 Confirmed 的详细信息。

控制台日志错误

gui错误日志

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

1 回答 1

1

'000000000' 是 Edm.DateTime 的初始值,因此当您将 DateTime 属性建模为不可为空时,它将失败。

转到 SEGW 并将属性更改为“可为空”或确保您始终在 POST 中提供正确的日期。

于 2017-10-19T16:09:48.110 回答