如何用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_infoEXPORTINGbusiness_object = ls_kw_business_objectnewest_only = 'X'IMPORTINGios_properties_result = lt_prop_resultloios = lt_loiosphios = lt_phios.我解決問題的思路:
首先在UI上debug打開contact detail page的時候,contact上面的attachment是怎樣從DB里面讀出來并且顯示在UI上的。
可以參考product的debug:
這個方法的輸入是一個bol entity,輸出就是ui上的attachment。所以我通過觀察lr_entity里面的attribute就能知道為了讀取document,需要哪些輸入?yún)?shù)。
這里可以發(fā)現(xiàn)instID必須傳BP的guid進去。
那下一個問題就是如何在你的代碼上下文里拿到BP guid呢?我們只知道contact的id。
如果你觀察BP的model,你會發(fā)現(xiàn)BuilHeader有三個association都能到另一個root object BuilContactPerson,
而BuilContactPerson也有association到BuilHeader。
如果你在UI上修改account ID = 400646的description,你會發(fā)現(xiàn)對應的contact ID = 400646的description也自動變了。所以這里的contact和account對應DB(BUT000)里面是同一條entry,BP的guid也就是contact的GUID。
所以你直接用contact的guid作為api的輸入就可以了。
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的如何用ABAP代码读取SAP Business partner的附件数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOTEPAD++几个有用的工具栏按钮
- 下一篇: 比三星990 Pro贵但更可靠 韩美混血