Hi Yogam,
rather later, but at the moment I have a similar issue to solve:
I want to influence the IC workmode when saving a transaction.
Therefore I created an implementation of the ORDER_SAVE BADI in which I built the following coding:
DATA:
lr_ccs TYPE REF TO cl_iccmp_ccs.
DATA:
lv_queue TYPE string.
TRY.
lr_ccs = cl_iccmp_ccs=>get_instance( ).
CHECK lr_ccs IS BOUND.
lv_queue = lr_ccs->get_previous_sessionid( ).
DATA: message TYPE REF TO if_sam_message.
DATA: text_message TYPE REF TO cl_sam_text_message.
CREATE OBJECT text_message.
text_message->set_text( 'workmode' ).
message = text_message.
message->set_string_property( name = 'p1' value = '2' ). " 2 = workmode 'ready'
message->set_string_property( name = 'p2' value = '2' ).
message->set_string_property( name = 'icwc_eventname' value = 'com.sap.ic.wsb.action' ).
message->set_string_property( name = 'icwc_sam_message_listener' value = 'icwc_mcm_client_event_listener' ).
message->set_string_property( name = '_sam_bsp_session_queue' value = lv_queue ).
DATA: sender TYPE REF TO cl_sam_session_queue_sender.
CREATE OBJECT sender
EXPORTING
queue = lv_queue.
sender->send( message ).
CATCH cx_root.
ENDTRY.
this is only a prototype implementation, but it seems to work.
Perhaps somebody will find a solution here ...
Ragards
Michael