SAPUI5 OData读取无法正常工作

2020-09-24 11:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

我正在基于SAPUI和SCP中的SAP Web IDE编写我自己的第一个列表报告。 我正站在这一点上,从后端从我自己的odata服务获取数据。 以下编码不会返回oData-Object中的数据。

在后端设置一个断点,将正确调用get_entityset,并将数据写入et_entityset。 如果我按浏览器中的每个URL手动调用该服务,则它可以完美工作并以XML格式返回数据。 我觉得有些奇怪:在开发工具的"网络"标签中,看不到我期望的GET请求。

我想念什么或做错什么了?

提前致以最诚挚的问候

基督徒

 jQuery.sap.declare(" Z_HCM_CICO_REP.Component");
 jQuery.sap.require(" sap.ui.generic.app.AppComponent");
 jQuery.sap.require(" sap.ca.scfld.md.ComponentBase");

 sap.ui.generic.app.AppComponent.extend(" Z_HCM_CICO_REP.Component",{
 元数据:{
 "清单":" json"
 }
 });
 sap.ui.define([
 " sap/ui/core/UIComponent",
 " sap/ui/设备"
 ],函数(UIComponent,设备){
 "使用严格";
  返回UIComponent.extend(" Z_HCM_CICO_REP.Component",{

/** *在应用程序启动期间,组件将由UI5自动初始化,并一次调用init方法。  * @公共* @覆盖*/
 初始化:function(){
//调用基本组件的init函数
 UIComponent.prototype.init.apply(this,arguments);
 this.getRouter()。initialize();
 var oResourceModel = new sap.ui.model.resource.ResourceModel({
 bundleName:" Z_HCM_CICO_REP.i18n.i18n"
 });
 sap.ui.getCore()。setModel(oResourceModel," i18n");
 
//加载cicos
 var sServiceUrl ="/img/sap/opu/odata/sap/ZHCM_CICO_REP_SRV/";
 var oModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl,true);
 var oJsonModel = new sap.ui.model.json.JSONModel();  this.setModel(oModel);
 
 oModel.read("/img/TimeEntrySet",null,null,false,function(oData,oResponse){
 oJsonModel.setData(oData);
 sap.ui.getCore()。setModel(oJsonModel);
 }
 );
 });
 });
 
cusersg430401desktopcico-read-sapui5.txt (1.5 kb)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

我正在基于SAPUI和SCP中的SAP Web IDE编写我自己的第一个列表报告。 我正站在这一点上,从后端从我自己的odata服务获取数据。 以下编码不会返回oData-Object中的数据。

在后端设置一个断点,将正确调用get_entityset,并将数据写入et_entityset。 如果我按浏览器中的每个URL手动调用该服务,则它可以完美工作并以XML格式返回数据。 我觉得有些奇怪:在开发工具的"网络"标签中,看不到我期望的GET请求。

我想念什么或做错什么了?

提前致以最诚挚的问候

基督徒

 jQuery.sap.declare(" Z_HCM_CICO_REP.Component");
 jQuery.sap.require(" sap.ui.generic.app.AppComponent");
 jQuery.sap.require(" sap.ca.scfld.md.ComponentBase");

 sap.ui.generic.app.AppComponent.extend(" Z_HCM_CICO_REP.Component",{
 元数据:{
 "清单":" json"
 }
 });
 sap.ui.define([
 " sap/ui/core/UIComponent",
 " sap/ui/设备"
 ],函数(UIComponent,设备){
 "使用严格";
  返回UIComponent.extend(" Z_HCM_CICO_REP.Component",{

/** *在应用程序启动期间,组件将由UI5自动初始化,并一次调用init方法。  * @公共* @覆盖*/
 初始化:function(){
//调用基本组件的init函数
 UIComponent.prototype.init.apply(this,arguments);
 this.getRouter()。initialize();
 var oResourceModel = new sap.ui.model.resource.ResourceModel({
 bundleName:" Z_HCM_CICO_REP.i18n.i18n"
 });
 sap.ui.getCore()。setModel(oResourceModel," i18n");
 
//加载cicos
 var sServiceUrl ="/img/sap/opu/odata/sap/ZHCM_CICO_REP_SRV/";
 var oModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl,true);
 var oJsonModel = new sap.ui.model.json.JSONModel();  this.setModel(oModel);
 
 oModel.read("/img/TimeEntrySet",null,null,false,function(oData,oResponse){
 oJsonModel.setData(oData);
 sap.ui.getCore()。setModel(oJsonModel);
 }
 );
 });
 });
 
cusersg430401desktopcico-read-sapui5.txt (1.5 kb)
付费偷看设置
发送
3条回答
歪着头看世界
1楼 · 2020-09-24 12:19.采纳回答

嗨,克里斯蒂安

正在使用的model.read方法的语法不正确。

您已经声明了odata.v2.ODataModell,而您正在为较早版本的odata.OdataModel使用语法。

请使用新语法,您的代码应该可以按预期工作。

https://sapui5.hana.ondemand.com/1.44.23/#docs/api/symbols/sap.ui.model.odata.v2.ODataModel.html#read

 oModel.read("/img/TimeEntrySet",{
 成功:功能(oData,oResponse){
 oJsonModel.setData(oData);
 sap.ui.getCore()。setModel(oJsonModel);
 },
 错误:function(oError){
//这里的错误处理
 }

 }); 

谢谢

Vaibhav Maheshwari

渐行渐远_HoldOn
2楼-- · 2020-09-24 12:16

嗨,Vaibhav,

实际上这是我的处理错误。 在第44行中设置断点将显示正确填充的oData变量。 我不明白的地方:为什么我的第一种方法没有填写它,为什么先设置断点,然后在Chrome开发工具中使用F10手动跳过功能调用?

感谢和问候

基督徒

SKY徐
3楼-- · 2020-09-24 12:20

嗨Vaibhav,

谢谢。 我更正了编码,但问题仍然存在。 我附加了一张图片,显示oData是未定义的。 我可以在应用程序的其他部分出现问题吗? G。 在manifest.json中?

最诚挚的问候

基督徒

一周热门 更多>