我需要在我的OData中传递一个参数。
网址必须如下:
Exception in Tkinter callback
Traceback (most recent call last):
File "/Users/christopherfrancis/anaconda/lib/python2.7/lib-tk/Tkinter.py", line 1542, in __call__
return self.func(*args)
File "<ipython-input-1-75a48478dca7>", line 27, in stress_b
img = tk.PhotoImage(file= "MaxShearStress.PNG")
File "/Users/christopherfrancis/anaconda/lib/python2.7/lib-tk/Tkinter.py", line 3372, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "/Users/christopherfrancis/anaconda/lib/python2.7/lib-tk/Tkinter.py", line 3326, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't open "MaxShearStress.PNG": no such file or directory
以下是我的代码:
http://my_gateway_system:port/sap/opu/odata/sap/ZGW_TRANSF_APPROVAL_SRV_02/ztest_nameset('RUBENS')
当我通过网址时
var sServiceUrl = "http://<my_gateway_system>:<port>/sap/opu/odata/sap/ZGW_TRANSF";
var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, true, "username", "password");
var oJsonModel = new sap.ui.model.json.JSONModel();
oModel.read("/ztest_nameset('RUBENS')", null, null, true, function(oData, response) {
oJsonModel.setData(oData);
});
sap.ui.getCore().setModel(oJsonModel);
在我的浏览器中,它有效。但是当我运行我的代码时,它无效。
答案 0 :(得分:0)
您正在使用ODataModel #read的遗留方法调用(参数展开)。此方法的当前签名为read(sPath, mParameters)
。请查看方法的文档:https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.model.odata.ODataModel.html#read
在具体案例中,您应该执行以下操作:
oModel.read("/ztest_nameset('RUBENS')", {
filters: [/* your filters here */],
success: function(oData) {
oJsonModel.setData(oData);
}
});
然而,目前尚不清楚要传递的过滤器参数。在您的示例中,您没有过滤器。 /ztest_nameset('RUBENS')
URI只是一个普通的实体集+密钥。还不清楚你得到了什么错误。我猜它可以是CORS issue。您似乎正在向其他主机发出OData调用,而不是您为UI5应用程序提供的主机。