interaction objects are also considered in one order search

70 阅读1分钟

Created by Jerry Wang, last modified on Jul 24, 2015

test via the following report:

DATA: lt_search_tab TYPE crmt_name_value_pair_tab,
      ls_search_tab LIKE LINE OF lt_search_tab,
      lt_multiple   TYPE crmt_bsp_search_multi_val_tab,
      ls_multiple   LIKE LINE OF lt_multiple,
      ls_selection  LIKE LINE OF ls_multiple-searchvalues,
      lt_return     TYPE bapiret2_t,
      lt_guid       TYPE crmt_bsp_objectkey_tab.
ls_search_tab-name = 'OBJECT_TYPE'.
ls_search_tab-value = 'BUS2000110'.
APPEND ls_search_tab TO lt_search_tab.
CLEAR: ls_search_tab.
ls_search_tab-name = 'TEMPLATE_TYPE'.
APPEND ls_search_tab TO lt_search_tab.
ls_multiple-fieldname = 'GUID'.
ls_selection-low = '3440B5B172DE1EE58AD4A2D26F48427F'.
ls_selection-sign = 'I'.
ls_selection-option = 'EQ'.
APPEND ls_selection TO ls_multiple-searchvalues.
APPEND ls_multiple TO lt_multiple.
CLEAR: ls_multiple.
ls_multiple-fieldname = 'OBJECT_ID'.
APPEND ls_multiple TO lt_multiple.
CALL FUNCTION 'CRM_BSP_OIC_1O_SEARCH_FROM_RF'
  EXPORTING
    it_search_tab             = lt_search_tab
    it_multivalues            = lt_multiple
    iv_extern_call            = 'X'
    iv_select_for_headerlevel = 'X'
    iv_call_authority_badi    = 'X'
    iv_obj_il                 = 'BTQACT'
  IMPORTING
    et_guidlist               = lt_guid
    et_return                 = lt_return
  EXCEPTIONS
    date_not_correct          = 1
    no_card_type              = 2
    no_card_no                = 3
    no_program_id             = 4
    OTHERS                    = 5.
IF sy-subrc <> 0.
  WRITE: / 'error occurred: ' , sy-subrc.
  RETURN.
ENDIF.

读取相关的interaction object:
clipboard1
检查是否应该搜索interaction object:
clipboard2
ip_image003
ip_image004

table: crmc_io_appl
clipboard5
返回8条记录:
clipboard6
clipboard7

最后和appointment不相关的interaction object从结果集中移除:
ip_image008