在sapui5中创建一个实体

时间:2017-03-20 16:19:07

标签: javascript sapui5 sap-fiori

我正在开发一款sap fiori app&我想让用户有可能创建有关某种材料的通知。 不幸的是,该方法不起作用。我不知道为什么

这是我的代码:

saveChanges: function() {
    var oModel = this.getView().getModel();
    //var frag = sap.ui.core.Fragment.byId(this._detailCreateModeFragmentName, "iconTabFilter1form");
    var oParam = {};
    var frag = sap.ui.core.Fragment.byId(this._fragmentName, "Equnr_id").getValue();
    var frag1 = sap.ui.core.Fragment.byId(this._fragmentName, "Qmtxt_id").getValue();
    var frag2 = sap.ui.core.Fragment.byId(this._fragmentName, "Qmdat").getValue();
    alert(frag+" "+frag1+" "+frag2);
    oParam.Equnr = frag;
    oParam.Qmtxt = frag1;
    oParam.Qmdat = frag2;
    oModel.create("/avisSet", oParam,{

   success : function() { sap.m.MessageToast.show(" Created Successfully" );},
   error : function() { sap.m.MessageToast.show(" Creation failed" );}

        }); }

1 个答案:

答案 0 :(得分:0)

以下是我能想到解决问题的两种方法:

  • 检查请求JSON对象的有效性。

每个实体集都有一个$ metadata服务,它提供了支持的字段名称,数据类型,最大长度等的详细信息。

例如:如果实体是avisSet,那么metdata网址就是 http://example.com/.../avisSet/ $元数据

这将提供服务支持的结构,您可以将结构与服务匹配。

  • oData Model返回一个包含错误详情的响应对象。

在错误函数调试中添加参数“response”,以查看失败的确切原因。

saveChanges: function() {
var oModel = this.getView().getModel();
//var frag = sap.ui.core.Fragment.byId(this._detailCreateModeFragmentName, "iconTabFilter1form");
var oParam = {};
var frag = sap.ui.core.Fragment.byId(this._fragmentName, "Equnr_id").getValue();
var frag1 = sap.ui.core.Fragment.byId(this._fragmentName, "Qmtxt_id").getValue();
var frag2 = sap.ui.core.Fragment.byId(this._fragmentName, "Qmdat").getValue();
alert(frag+" "+frag1+" "+frag2);
oParam.Equnr = frag;
oParam.Qmtxt = frag1;
oParam.Qmdat = frag2;
oModel.create("/avisSet", oParam,{

  success : function(response) { sap.m.MessageToast.show(" Created Successfully" );},
 error : function(response) { sap.m.MessageToast.show(" Creation failed" );}

    }); }

在错误函数中放置一个断点,并在控制台选项卡中检查响应对象。