如果业务角色很多,RCK也很多,那么可能UI配置就非常多。当然可以通过复制配置实现快速的把所有配置建立起来,如果产品或者关键用户或者其他负责这个配置的人员不想去做,希望通过代码实现呢?也是可以的。这个就用到了View的DO_CONFIG_DETERMINATION事件。示例如下,这个是在BP_HEAD里面做的重定义。
METHOD do_config_determination.
CALL METHOD super->do_config_determination
EXPORTING
iv_first_time = abap_false.
DATA link_parameter TYPE crmt_ui_link_parameter .
DATA lr_access_header TYPE REF TO if_bol_bo_property_access.
DATA lv_bp_category TYPE bu_type.
TRY.
lr_access_header = me->typed_context->header->collection_wrapper->get_current( ).
lv_bp_category = lr_access_header->get_property_as_string( iv_attr_name = 'BP_CATEGORY' ).
CATCH cx_sy_ref_is_initial.
ENDTRY.
DATA: lv_subtype TYPE bsp_dlc_object_sub_type VALUE 'CORPORATE', "default subtype with Config for Corporate Account
lv_object_type TYPE bsp_dlc_object_type VALUE 'BP_ACCOUNT'.
IF lv_bp_category = '2'.
lv_subtype = 'CORPORATE'.
ENDIF.
me->set_config_keys( iv_object_type = lv_object_type
iv_object_sub_type = lv_subtype
iv_propagate_2_children = abap_true ).
ENDMETHOD.