Hi Priya,
You can try with this code in get_interaction( ). method
DATA: ls_parameter TYPE crmt_name_value_pair,
lt_parameter TYPE crmt_name_value_pair_tab,
lr_query_service TYPE REF TO cl_crm_contact_query,
lr_queryres_col TYPE REF TO if_bol_bo_col,
lr_bo TYPE REF TO if_bol_bo_property_access,
lr_entity TYPE REF TO cl_crm_bol_entity,
lv_object_type TYPE string,
lr_col TYPE REF TO if_bol_bo_col,
lr_query TYPE REF TO cl_crm_bol_query_service,
lr_core TYPE REF TO cl_crm_bol_core.
DATA : lr_entity1 TYPE REF TO if_bol_entity_col,
lr_result TYPE REF TO cl_crm_bol_entity_col.
* clear result table on initial account
IF iv_bpnumber IS INITIAL.
me->typed_context->btordercusthist->clear_collection( ).
RETURN.
ENDIF.
** prepare query parameters
ls_parameter-name = 'BP_NUMBER'. "#EC NOTEXT
ls_parameter-value = iv_bpnumber.
APPEND ls_parameter TO lt_parameter.
* run query / search for last interactions
TRY.
CREATE OBJECT lr_query_service.
CATCH cx_crm_unsupported_object.
me->typed_context->btordercusthist->clear_collection( ).
RETURN.
ENDTRY.
lr_core = cl_crm_bol_core=>get_instance( ).
lr_core->start_up( 'ONEORDER' ).
lr_query = cl_crm_bol_query_service=>get_instance( 'BTQuery1O' ).
lr_query->set_query_parameters( it_parameters = lt_parameter ).
lr_queryres_col = lr_query->get_query_result( ).
CREATE OBJECT lr_result.
lr_entity ?= lr_queryres_col->get_first( ).
WHILE lr_entity IS BOUND.
lr_entity1 ?= lr_entity->get_related_entities( iv_relation_name = 'BTOrderCustHist' ).
lr_result->if_bol_bo_col~add_collection( lr_entity1 ).
lr_entity ?= lr_queryres_col->get_next( ).
ENDWHILE.
gr_bol_col = lr_result->if_bol_entity_col~get_copy( ).
me->typed_context->btordercusthist->set_collection( gr_bol_col ).
lr_core->modify( ).
Regards,
Sumeet