使用代码获得document的related document 列表

121 阅读1分钟

Created by Jerry Wang, last modified on May 12, 2015

例如需要获得opportunity 1718的planned activity list:
clipboard1
clipboard2

执行如下report:
clipboard3
得到结果:
clipboard4

source code:

*&---------------------------------------------------------------------*
 
*& Report  ZORDER_GET_RELATIONSHIP
 
*&
 
*&---------------------------------------------------------------------*
 
*&
 
*&
 
*&---------------------------------------------------------------------*
 
REPORT ZORDER_GET_RELATIONSHIP.
 
 
PARAMETERS: id TYPE crmd_orderadm_h-object_id OBLIGATORY default '1718'.
 
data: lv_id TYPE crmd_orderadm_h-object_id,
 
      lt_ref TYPE CRMT_1000_REFERENCES_UI_TAB,
 
      lt_order TYPE TABLE OF crmd_orderadm_h.
 
 
START-OF-SELECTION.
 
   lv_id = id.
 
 
   CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
 
      EXPORTING
 
         input = lv_id
 
      IMPORTING
 
         output = lv_id.
 
 
   SELECT * INTO TABLE lt_order FROM crmd_orderadm_h WHERE object_id = lv_id.
 
 
   LOOP AT lt_order ASSIGNING FIELD-SYMBOL(<order>).
 
      CALL FUNCTION 'CRM_REFERENCES_GET_DATA_IL'
 
         EXPORTING
 
            IV_HEADER_GUID = <order>-guid
 
            IV_HEADER_AND_ITEMS = 'X'
 
            IV_AUTH_CHECK = 'X'
 
         IMPORTING
 
            ET_REFERENCES_UI = lt_ref.
 
 
      IF lt_ref IS NOT INITIAL.
 
         WRITE: / 'Order: ', <order>-description, ' type: ', <order>-process_type COLOR COL_NEGATIVE.
 
         WRITE: / 'followings are related document:' COLOR COL_POSITIVE.
 
      ENDIF.
 
 
      LOOP AT lt_Ref ASSIGNING FIELD-SYMBOL(<ref>).
 
         CONDENSE: <ref>-description, <ref>-object_id, <ref>-object_type.
 
         WRITE: / 'Order: ' , <ref>-description, 'id: ' , <ref>-object_id, 'type: ', <ref>-object_type.
 
      ENDLOOP.
 
   ENDLOOP.