CM: 如何通过attachment的physical instance id反查到所属的business object ID
Created by Jerry Wang, last modified on Mar 21, 2014
通過這個wiki,我們很容易能得到一個business object instance,例如product,下面包含的attachment 信息。
那么反過來, 已知一個attachment的physical instance guid,也能找到這個attachment是屬于哪個product instance的。
例如我們已知一個physical instance的guid 為FA163E5CA86F1ED3A888F18542E37D7B, 可以通過下面的代碼找到是哪一個product 包含了該attachment:
“因為任何一個physical instance一定對應一個logical instance(多對一的關系),所以可以用select single的方式找到對應的logical instance guid:
SELECT SINGLE * INTO ls_ph FROM bdsphio22 WHERE phio_id = 'FA163E5CA86F1ED3A888F18542E37D7B'. CHECK sy-subrc = 0." relationship表里的naming convention:</>
lv_instance_b = 'L/' && ls_ph-lo_class && '/' && ls_ph-loio_id.
" business object和其attachment 的對應關系統一維護在SKWG_BREL這張表里
SELECT SINGLE * INTO ls_relation FROM skwg_brel WHERE instid_b = lv_instance_b AND typeid_a = 'BUS1178'.
CHECK sy-subrc = 0.
" product的guid就包含在ls_relation-instid_a里
SELECT SINGLE * INTO ls_product FROM comm_product WHERE product_guid = ls_relation-instid_a.
CHECK sy-subrc = 0.
"最終輸出product ID
WRITE: / ls_product-product_id.
測試結果和UI上觀察到的attachment一致:
也可以直接使用function module CRM_KW_DOCUMENT_ROOTS_GET
總結
以上是生活随笔為你收集整理的CM: 如何通过attachment的physical instance id反查到所属的business object ID的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信红包怎么设置皮肤(微信公众平台)
- 下一篇: 男生玩的手机大型单机游戏有哪些