检测custom settype assign的UI view name

75 阅读1分钟

Created by Jerry Wang, last modified on May 14, 2014

customer在创建自己的settype时,需要使用tcode CRMM_UIU_PROD_CONFIG 将custom settype 根据其类型assign到对应的generic view里:
clipboard1

如果已知一个已经assign过的settype name,想查找到其到底是assign到哪个view上,可以使用下面的report:
输入settype ID:
clipboard2
输出view name:
clipboard3

REPORT zget_settype_config.
PARAMETERS: id TYPE comt_frgtype_id OBLIGATORY DEFAULT 'ZPROD_CCTV_SET'.
 
INCLUDE com_settype_attribute_const03.
DATA:
 
 ls_pril_obj           TYPE crmt_pril_obj,
 
 ls_settype            TYPE comt_settype_ext,
 
 lv_settype_guid       TYPE comt_settype_guid32,
 
 lv_viewname_ov        TYPE o2pageext,
 
 lv_viewname_eov       TYPE o2pageext,
 
 lv_viewname_edit      TYPE o2pageext,
 
 lv_viewname_ov_attr   TYPE o2pageext,
 
 lv_viewname_eov_attr  TYPE o2pageext,
 
 lv_viewname_edit_attr TYPE o2pageext,
 
 lt_message            TYPE bapiret2_tab,
 
 lv_counter            TYPE i VALUE 0.
 
 
CALL FUNCTION 'COM_SETTYPE_READ_SINGLE'
 
  EXPORTING
 
    iv_settype_id    = id
 
  IMPORTING
 
    es_settype       = ls_settype
 
  EXCEPTIONS
 
    not_found        = 1
 
    no_import_values = 2
 
    no_text_found    = 3
 
    OTHERS           = 4.
 
IF sy-subrc <> 0.
 
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
 
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 
ENDIF.
 
 
CALL FUNCTION 'CRM_PRIL_SETTYPE_GET_VIEW_NAME'
 
  EXPORTING
 
    is_settype            = ls_settype
 
  IMPORTING
 
    ev_viewname_ov        = lv_viewname_ov
 
    ev_viewname_eov       = lv_viewname_eov
 
    ev_viewname_edit      = lv_viewname_edit
 
    ev_viewname_ov_attr   = lv_viewname_ov_attr
 
    ev_viewname_eov_attr  = lv_viewname_eov_attr
 
    ev_viewname_edit_attr = lv_viewname_edit_attr
 
  EXCEPTIONS
 
    settype_not_found     = 1
 
    OTHERS                = 2.
 
 
IF sy-subrc NE 0.
 
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
 
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
 
   RAISING settype_not_found.
 
ENDIF.
 
 
WRITE: / 'Overview name: ' , lv_viewname_ov COLOR COL_NEGATIVE.
 
WRITE: / 'E Overview name: ' , lv_viewname_eov COLOR COL_NEGATIVE.
 
WRITE: / 'Edit view name: ', lv_viewname_edit COLOR COL_NEGATIVE.
 
 
lv_settype_guid = ls_settype-frgtype_guid.
 
SELECT SINGLE * FROM  crmc_pril_obj INTO ls_pril_obj
 
                WHERE settype_guid = lv_settype_guid
 
                AND   object_kind = 'C'.

IF sy-subrc = 0.

WRITE: / 'Object name: ', ls_pril_obj-object_ext COLOR COL_POSITIVE.

ENDIF.