• 如何用ABAP代码读取SAP Business partner的附件数据


    Sent: Wednesday, April 3, 2013 9:47 PM

    Subject: RE: how to read attachment in BP overview UI

    我写了一个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的输入就可以了。

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    div布局改进treeview导航
    WEB框架研究笔记八(HIBERNATE)
    WEB框架研究笔记四(Spring Framework)
    WEB框架研究笔记二(Extjs调用Struts)
    WEB框架研究笔记九(PowerDesigner)
    WEB框架研究笔记七(Spring2+struts2)
    WEB框架研究笔记十(JPA)
    WEB框架研究笔记11(第一阶段完成)
    WEB框架研究笔记五(Spring Aop)
    WEB框架研究笔记三(连接数据库)
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/12321755.html
Copyright © 2020-2023  润新知