我正在开发一款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" );}
}); }
答案 0 :(得分:0)
以下是我能想到解决问题的两种方法:
每个实体集都有一个$ metadata服务,它提供了支持的字段名称,数据类型,最大长度等的详细信息。
例如:如果实体是avisSet,那么metdata网址就是 http://example.com/.../avisSet/ $元数据
这将提供服务支持的结构,您可以将结构与服务匹配。
在错误函数调试中添加参数“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" );}
}); }
在错误函数中放置一个断点,并在控制台选项卡中检查响应对象。