簡體   English   中英

SAP UI5 oData2模型對非關鍵字段錯誤使用讀取方法

[英]SAP UI5 oData2 Model use of read method on non-key field error

我正在嘗試使用SAP UI5和oData 2模型從Employee表讀取數據。 我正在使用具有主鍵的oData模型的Read方法,它運行良好,但是當我嘗試與非鍵字段一起使用時,它會出現錯誤消息

不存在關鍵屬性“ Employee_Name”

 oModel.read("/Employee_Service(Employee_ID=2)", { success: function(oData, response) { alert("Success!"); }, error: function(response) { alert("Error"); } 

這里Employee_ID是主鍵,此代碼運行良好。

oModel.read("/Employee_Service(Employee_Name='Bob')", {
success: function(oData, response) {
alert("Success!");
},
error: function(response) {
alert("Error");
}

如前所述,此代碼出錯。

您能幫我解決問題嗎?

只能以這種方式訪問​​分配為主鍵的屬性:

Employee_Service(Employee_ID=2)

要訪問具有其他屬性的記錄,可以使用$filter查詢選項。

$ filter系統查詢選項允許客戶端過濾由請求URL尋址的資源的集合。 將為集合中的每個資源評估由$ filter指定的表達式,並且響應中僅包括該表達式的評估結果為true的項目。

因此,您的網址將如下所示:

"/Employee_Service?$filter=Employee_Name eq 'Bob'"

我找到了一篇文章,對解決這個問題有很大幫助。 我試圖這樣做應該可以,但是我不知道為什么它會出錯。 但是,如果有人可以幫助我找到第一種方法的答案(如上所述),請隨時歡迎。 這是我所做的解決方案。

var la_filters = new Array();
var lv_Filter = new sap.ui.model.Filter({
path: "BOWTIE_CLASS",
operator: sap.ui.model.FilterOperator.EQ,
value1: bowtieClass
});

la_filters.push(lv_Filter);

oModel.read("/Employee_Service", {
filters: la_filters,
success: function(oData, response) {
alert("Success");
},
error: function(response) {
alert("Error");

}

我在這里找到的提示URL https://scn.sap.com/thread/3781251

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM