IC WebClient Delete Item
Tuesday, September 16th, 2008Hari ini saya cukup dipusingkan dengan adanya item yang entah darimana datangnya ngikut di save saat create service order dari IC webclient.

Setelah ber-debug-ria ..akhirnya item tersebut muncul karena Badi: CRM_SERVICEPROD_BADI.
Karena satu dan lain hal, saya tidak mengubah badi tersebut, sehingga akhirnya saya membuat function untuk membaca itemnya dan menghapusnya saat event onSave.
DATA:
lr_entity TYPE REF TO cl_crm_bol_entity,
cucoadmini TYPE REF TO cl_crm_ic_cucobt_impl,
btitem TYPE REF TO cl_crm_ic_cucobt_cn06,
coll_wrapper TYPE REF TO cl_bsp_wd_collection_wrapper,
lv_btitems TYPE REF TO cl_crm_bol_entity,
coll TYPE REF TO if_bol_entity_col.
cucoadmini ?= me->get_custom_controller( ‘CuCoBT’ ).
btitem = cucoadmini->typed_context->btitems.
coll_wrapper = btitem->get_collection_wrapper( ).
lv_btitems ?= coll_wrapper->get_current( ).
TRY.
coll = lv_btitems->get_related_entities(iv_relation_name = ‘BTServiceItemsAll’ ).
CATCH cx_crm_genil_model_error.
ENDTRY.
IF coll->size( ) > 0.
lr_entity = coll->get_first( ).
WHILE lr_entity IS BOUND.
lr_entity->delete( ).
lr_entity = coll->get_next( ).
ENDWHILE.
ENDIF.