SAPUI5读取oData值

2020-08-15 13:27发布

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

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


我正在尝试调用oData服务并将字段的值读入变量。 但是,即使从Trace中可以看到oData可以正常返回数据,但是我什么也没变。

代码:

 var oGeneralModel = this.getOwnerComponent()。getModel(" GeneralModel");
             oGeneralModel.read("/img/GeneralDataSet('xxx')",null);


             var username = oGeneralModel.getData("/img/GeneralData/Uname");
 

我正在读取一个实体,并且需要将" GeneralData-> Uname"的值转换为变量" username"

怎么了?

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

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


我正在尝试调用oData服务并将字段的值读入变量。 但是,即使从Trace中可以看到oData可以正常返回数据,但是我什么也没变。

代码:

 var oGeneralModel = this.getOwnerComponent()。getModel(" GeneralModel");
             oGeneralModel.read("/img/GeneralDataSet('xxx')",null);


             var username = oGeneralModel.getData("/img/GeneralData/Uname");
 

我正在读取一个实体,并且需要将" GeneralData-> Uname"的值转换为变量" username"

怎么了?

付费偷看设置
发送
4条回答
追夢秋陽
1楼 · 2020-08-15 14:04.采纳回答

嗨Jakob,

读取功能是异步操作,因此,在调用ready后立即捕获值是行不通的。 您需要订阅read函数的成功事件,并从该订阅中捕获服务返回给您的值。

检查文档以了解OData.read的用法:

< p> https://sapui5.hana.ondemand。 com/#/api/sap.ui.model.odata.v2.ODataModel/methods/read

haha101010
2楼-- · 2020-08-15 14:09

只是让您知道:大多数情况下,没有必要 直接调用" .read"。 相反,您可以通过UI定义中的绑定间接使用ODataListBinding,ODataPropertyBinding,ODataTreeBinding和ODataContextBinding。 然后,该框架将为您自动处理请求。

避免在生产代码中使用" .read"(除非绝对必要)。

Violet凡
3楼-- · 2020-08-15 14:07

确定-找到 解决方案:

 oGeneralModel.read("/img/GeneralDataSet('xxx')",{
              成功:功能(oData,oResponse){
                  Log.info("读取成功");
                 },
            
              错误:function(oError){
                 Log.info("读取错误");
              }
             });
            
             Log.info(" AFTER CALL");
 

我需要使用带有" success:..."和" error:..."的语法。 现在可以了!

追夢秋陽
4楼-- · 2020-08-15 14:14

好,我知道了。 但实际上我这样做是因为我自己找到了代码,并在您发帖的确切时间对其进行了标记:-)

我试图撤消标记并标记您的标记,但这似乎是不可能的。 因此,您必须独自拥有荣耀的时光:-)

一周热门 更多>