Hi David,
Please try below code. Redefine event EH_ONCOPY and copy the below code. Dont call Super method as I have inserted them in the below code.
lr_cuco ?= me->get_custom_controller(
controller_id = 'BT115IT_SLSO/SOItemCuCo' ). |
lr_btitem ?= lr_cuco->typed_context->btitems->collection_wrapper->get_current( ).
***************EH_ONCOPY Code is copied*********************************************
" the method will be redefined for excluding product proposal dummy entries
DATA: lr_btitems TYPE REF TO cl_crm_bol_entity,
lr_admini TYPE REF TO cl_crm_bol_entity, | ||
ls_param | TYPE crmt_name_value_pair, | |
lt_param | TYPE crmt_name_value_pair_tab, | |
lr_guid | TYPE REF TO crmt_object_guid, | |
lr_cw | TYPE REF TO cl_bsp_wd_collection_wrapper, | |
lr_cw_items TYPE REF TO cl_bsp_wd_collection_wrapper, | ||
lr_col | TYPE REF TO if_bol_bo_col, | |
lr_cn | TYPE REF TO cl_bsp_wd_context_node, | |
lr_msg_srv | TYPE REF TO cl_bsp_wd_message_service, | |
lv_entity_key | TYPE crmt_genil_object_id, | |
lv_entity_key_string TYPE string, | ||
lv_is_ee_prodprop | TYPE string, | |
lr_bt_admini_ctxtnode TYPE REF TO cl_bt115it__items_cn00. |
TRY.
CHECK me->is_entity_changeable( ) = abap_true. |
* copy current selected item
lr_cw | = get_collection_wrapper( gc_context_node_admini ). | |
lr_cw_items = get_collection_wrapper( gc_context_node_items ). | ||
lr_bt_admini_ctxtnode ?= get_context_node('BTADMINI'). |
CHECK lr_cw IS BOUND AND lr_cw_items IS BOUND. |
lr_btitems ?= lr_cw_items->get_current( ). | |
CHECK lr_btitems IS BOUND. |
lr_col = lr_cw->get_marked( ). | |
CHECK lr_col IS BOUND. | |
lr_admini ?= lr_col->get_first( ). | |
WHILE lr_admini IS BOUND. | |
lv_entity_key = lr_admini->get_key( ). | |
lv_entity_key_string = lv_entity_key. | |
lv_is_ee_prodprop = lr_bt_admini_ctxtnode->get_is_ee_prodprop( attribute_path = lv_entity_key_string ). |
lr_guid ?= lr_admini->get_property( 'GUID' ). | ||
IF ( lr_guid->* IS INITIAL ) OR ( lv_is_ee_prodprop EQ abap_true ).. | ||
lr_admini ?= lr_col->get_next( ). | ||
CONTINUE. | ||
ENDIF. | ||
ls_param-name = 'ITEM_GUID'. | "#EC NOTEXT | |
ls_param-value = lr_guid->*. | ||
APPEND ls_param TO lt_param. | ||
lr_admini ?= lr_col->get_next( ). | ||
ENDWHILE. |
CHECK lt_param IS NOT INITIAL. " only empty lines selected | ||
lr_btitems->execute( iv_method_name = 'copyItems' | "#EC NOTEXT | |
it_param | = lt_param ). |
CATCH cx_crm_genil_model_error cx_crm_bol_meth_exec_failed | |
cx_crm_genil_general_error cx_sy_move_cast_error. |
lr_msg_srv = me->view_manager->get_message_service( ). |
CHECK lr_msg_srv IS BOUND. | |
lr_msg_srv->add_message( iv_msg_type = 'E' | |
iv_msg_id = 'CRM_UIU_BT' | |
iv_msg_number = '005' | |
iv_msg_level = '1' | |
iv_important_info = abap_true ). |
RETURN. |
ENDTRY.
******************End of EH_ONCOPY Code****************************
lr_btitem->reread( ).
* Inform dependent nodes that BTItems has changed
lr_cuco->typed_context->btitems->collection_wrapper->publish_current( ).
Regards,
Karthik