Hi I am trying to call Odata read with filter and parameters. But not able to get the data back. Any inputs would be appreciated
JavaScript
x
32
32
1
var fWerks = new sap.ui.model.Filter({
2
path: "Werks",
3
operator: sap.ui.model.FilterOperator.EQ,
4
value1: vWerks
5
});
6
7
var fIblnr = new sap.ui.model.Filter({
8
path: "Iblnr",
9
operator: sap.ui.model.FilterOperator.EQ,
10
value1: iIblnr
11
});
12
13
var oFilter = new Array();
14
oFilter.push(fWerks);
15
oFilter.push(fIblnr);
16
17
oModel.read("/PIHeaderSet)", {
18
filters: [oFilter],
19
urlParameters: {
20
"$expand": "PIHeaderToItemNav"
21
},
22
success: function(oData, response) {
23
oModelJson.setData(oData);
24
sap.ui.getCore().setModel(oModelJson, "oJSONModel");
25
// alert("Success!");
26
27
},
28
error: function(response) {
29
30
}
31
});
32
Advertisement
Answer
try removing the square brackets around oFilter
in your code:
filters: [oFilter],
should be replaced by
filters: oFilter,
the filters attribute expects an Array of sap.ui.model.Filter. Your oFilter variable is already an array of Filter-objects, therefor there is no need to put oFilter between square brackets.