Javascript 如何从ui5屏幕将输入值传递给odata的entityset
我试图将一个值从fiori屏幕传递到oData,并希望读取entityset方法。但当我在oData中检查调试器时,it_key_选项卡上没有记录Javascript 如何从ui5屏幕将输入值传递给odata的entityset,javascript,sapui5,Javascript,Sapui5,我试图将一个值从fiori屏幕传递到oData,并希望读取entityset方法。但当我在oData中检查调试器时,it_key_选项卡上没有记录 onNext: function(oEvent) { var oViewModel = {}; oViewModel.MBLNR = this.getView().byId("idMd").getValue(); oViewModel.MJAHR = this.getVi
onNext: function(oEvent) {
var oViewModel = {};
oViewModel.MBLNR = this.getView().byId("idMd").getValue();
oViewModel.MJAHR = this.getView().byId("idFy").getValue();
if (oViewModel.MBLNR === "") {
var msg = ("Please Enter the material Doc No.");
MessageToast.show(msg);
} else
if (oViewModel.MJAHR === "") {
msg = ("Please Enter the fiscal year");
MessageToast.show(msg);
} else {
var oModel = this.getView().getModel();
var oFilter = new Filter("MBLNR", FilterOperator.EQ, oViewModel.MBLNR);
//var oFilter1 = new Filter("MJAHR", FilterOperator.EQ, oViewModel.MJAHR);
var aFilters = new Filter({
filters: [oFilter]
});
oModel.read("/MaterialDocReservationSet", null, {
filters: [aFilters],
//this.getView().getModel().read("/UserInputSet", oViewModel, {
success: function(OData, response) {},
error: function(OData, response) {
//MessageToast.show("Error");
}
});
}
在前端代码中,您正在调用
oModel.read(“/MaterialDocReservationSet”,null,{…})
。根据,您应该调用read(sPath,{…})
(没有第二个参数null
)
在后端网关OData
GET\u ENTITYSET
方法中,您应该使用io\u tech\u request\u context
的过滤方法访问过滤器it_key_选项卡
与GET_实体
中的键有关(对应的OData URI,例如materialdocservationset(1)
)。在OData读取中,删除null参数。过滤器也应该是:过滤器:[oFilter]。
Filters属性可以接受包含筛选器对象的数组,在您的代码中有嵌套的数组和筛选器。我创建了odata,其中我有一个entityset“MaterialDocumentServationSet”,其中的键字段是mblnr和rsnum。当我从ui5屏幕输入值时,它会点击odata entityset,但当我签入它时,\u key\u选项卡,它中没有记录。请建议如何捕获entityset中的条目\u键\u选项卡或过滤器\u选择\u选项。是否确实为OData提供一个数组,其中包含一个过滤器?删除过滤器周围的[]并重试,而且只要您只有一个过滤器,您根本不需要将其放入数组中,因此只需执行类似smth的过滤器:oFilter;事实上,我必须通过两个过滤器,因为您可以看到,我已经对其中一个进行了评论,并尝试使用一个过滤器进行测试。这就是我将过滤器放入数组的原因。我按照您上面的建议进行了尝试,但我仍然无法在get_entityset的IT_KEY_选项卡中获取值。我只是得出结论,您使用的是SAP后端,对于使用SEGW创建的OData服务,由于您谈论的是it_key_选项卡字段,因此筛选器不在it_key_选项卡中,此字段用于获取单个实体时,筛选器位于it_FILTER_SELECT_OPTIONS或IV_FILTER_Strings中也不直接使用这些参数,始终通过IO_TECH_请求访问它们