首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Kapsel离线应用中访问SAP OData消息?

如何在Kapsel离线应用中访问SAP OData消息?
EN

Stack Overflow用户
提问于 2019-01-28 17:56:00
回答 1查看 638关注 0票数 0

我们正在开发一个SAP Fiori应用程序,用于Launchpad上,并使用SAP SDK及其Kapsel插件作为离线支持的混合应用程序。我们目前面临的一个问题是ODATA消息处理。

在网关上,我们使用消息管理器将附加信息添加到响应中

代码语言:javascript
运行
复制
" ABAP snippet, random Gateway entity method
[...]
DATA(lo_message_container) = me->mo_context->get_message_container( ).
lo_message_container->add_message(
  iv_msg_type = /iwbep/cl_cos_logger=>warning
  iv_msg_number = '123'
  iv_msg_id = 'ZFOO'
).

" optional, only used for 'true' errors
RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception
  EXPORTING
    message_container = lo_message_container.

在Fiori应用程序中,我们可以直接从消息管理器访问这些数据。数据可以应用于MessageView控件。

代码语言:javascript
运行
复制
// Fiori part (Desktop, online)
var aMessageData = sap.ui.getCore().getMessageManager().getMessageModel().getData();

然而,我们的离线应用程序总是有一个空的消息模型。同步或刷新后,消息模型始终为空-即使在后台触发消息生成方法后也是如此。获取某种消息的唯一方法是引发/iwbep/cx_mgw_busi_exception并传递消息容器。消息可以在/ErrorArchive实体中以未解析的状态被找到,并被读取以供进一步使用。

代码语言:javascript
运行
复制
// Hybrid App part, offline, after sync and flush
this.getModel().read("/ErrorArchive", { success: .... })

这种方法将我们限制为负面的、“有异常价值”的消息。我们还必须对应用程序的某些部分编写两次代码(桌面vs. Offlne应用程序)。

那么:在离线同步和刷新之后,是否存在访问这些消息的“适当”?

EN

回答 1

Stack Overflow用户

发布于 2019-02-01 22:25:03

为了分析这个问题,您可以使用这个博客中的工具ILOData:Step by Step with the SAP Cloud Platform SDK for Android — Part 6c — Using ILOData

注意,ILOData是Kapsel SDK的一部分,所以虽然上面的博客是关于SAP Cloud Platform SDK for Android的系列文章的一部分,但它也适用于Kapsel应用程序。它作为离线OData客户端运行,不需要应用程序。如果客户端在其设备上的某些条目有问题,则可以使用sendStore方法从设备检索脱机存储,然后可以使用ILOData来查询数据库。

This blog about Kapsel Offline OData plugin可能也会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54399381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档