Hello experts,
I have a requirement to pass the confirmed account id to XD03 transaction when i click on launch transaction XD03. I have configured the transaction launcher to launch XD03 transaction. And to pass the parameter i have enhanced the method 'IF_CRM_IC_ACTION_HANDLER~PREPARE_DATA_FLOW' as below. But still it is not working.
method IF_CRM_IC_ACTION_HANDLER~PREPARE_DATA_FLOW.
data: __gdc type ref to if_crm_ui_data_context,
__source type string,
__line type string,
__path type crmt_ic_ac_identify_path.
__gdc ?=
cl_crm_ui_data_context_srv=>get_instance( gv_view_controller ).
*********** Begin of parameter declaration ***********
*
data ICWCPROCESSEDOBJECT
type ty_ICWCPROCESSEDOBJECT .
data ICWEBCLIENTBORKEYPARAMETER
type ty_ICWEBCLIENTBORKEYPARAMETER .
ICWEBCLIENTBORKEYPARAMETER
=
'XD03'.
me->set_container_object(
iv_name = '<*MAINOBJ*>'
iv_object_key = ICWEBCLIENTBORKEYPARAMETER
iv_object_type = gv_bortype ).
DATA lv_bpid TYPE bu_partner.
TYPES: BEGIN OF ty_param1,
pid(000020) TYPE c,
* value(10) type c ,
value(000250) TYPE c,
END OF ty_param1.
DATA lv_param1 TYPE ty_param1.
**
IF __gdc IS BOUND.
TRY.
CALL METHOD __gdc->get_entity_attribute_as_value
EXPORTING
path = '//currentCustomer/BP_NUMBER'
IMPORTING
value = lv_bpid.
CATCH cx_crm_bdc_no_data cx_crm_bdc_xpath_error cx_root.
ENDTRY.
**
lv_param1-pid = 'KUN'.
lv_param1-value = lv_bpid.
**
me->set_container_data( iv_name = 'PARAM1'
iv_value = lv_param1 ).
CLEAR lv_bpid.
ENDIF.
* Data flow is complete - set to false if data is missing
gv_data_flow_complete = abap_true.
endmethod.
I would really appreciate your help on this.
Thanks,
Ramakrishna