使用SAP WebIDE给SAP UI5应用添加data source

举报
汪子熙 发表于 2022/02/27 18:00:58 2022/02/27
【摘要】 添加一个新的Data source:选择之前配置的指向northwind OData的Destination, 注意,在Neo和CloudFoundry环境里都要创建同名Destination才行。在Neo里创建的Destination还需要带上三个额外的properties,而CloudFoundry里的Destination则不需要。输入/V2/Northwind/Northwind.s...

添加一个新的Data source:

选择之前配置的指向northwind OData的Destination,

注意,在Neo和CloudFoundry环境里都要创建同名Destination才行。在Neo里创建的Destination还需要带上三个额外的properties,而CloudFoundry里的Destination则不需要。

输入/V2/Northwind/Northwind.svc,点击Test按钮:

确保该OData的metadata能够正常显示,点击Next按钮。

将其用作缺省模型:

点击Run按钮进行测试:

得到结果:

我写了一个report:

DATA:     ls_kw_business_object TYPE sibflporb,
          lv_relation_name      TYPE crmt_relation_name,
          lt_loios              TYPE skwf_ios,
          lt_phios              TYPE skwf_ios,
          ls_phios              TYPE skwf_io,
          lt_prop_result        TYPE crm_kw_propst,
          ls_prop_result        TYPE crm_kw_props.

  ls_kw_business_object-instid = 'F8D9601DAFD6674F94EA19C1CDBE37DA'.
  ls_kw_business_object-catid = 'BO'.
  ls_kw_business_object-typeid = 'BUS1006'.

CALL METHOD cl_crm_documents=>get_info
      EXPORTING
        business_object       = ls_kw_business_object
        newest_only           = 'X'
      IMPORTING
        ios_properties_result = lt_prop_result
        loios                 = lt_loios
        phios                 = lt_phios.

我解决问题的思路:

首先在UI上debug打开contact detail page的时候,contact上面的attachment是怎样从DB里面读出来并且显示在UI上的。
可以参考product的debug:

这个方法的输入是一个bol entity,输出就是ui上的attachment。所以我通过观察lr_entity里面的attribute就能知道为了读取document,需要哪些输入参数。

这里可以发现instID必须传BP的guid进去。

那下一个问题就是如何在你的代码上下文里拿到BP guid呢?我们只知道contact的id。
如果你观察BP的model,你会发现BuilHeader有三个association都能到另一个root object BuilContactPerson,

而BuilContactPerson也有association到BuilHeader。

如果你在UI上修改account ID = 400646的description,你会发现对应的contact ID = 400646的description也自动变了。所以这里的contact和account对应DB(BUT000)里面是同一条entry,BP的guid也就是contact的GUID。

所以你直接用contact的guid作为api的输入就可以了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。