Hi All,
Currently I have a requirement to delete one of the existing partner functions from CRM Service Request in BADi COM_PARTNER_BADI, But I could not able to delete it, please help, I am using the following code, please let me know If I am missing any parameter.
* prepare input_field STRUCTURES for CRM_ORDER_MAINTAIN
REFRESH:lt_input_fields_tmp,lit_partner.
CLEAR:ls_input_field_names,ls_input_field.
ls_input_field_names-fieldname = 'PARTNER_FCT'.
ls_input_field_names-changeable = 'X'.
INSERT ls_input_field_names INTOTABLE ls_input_field-field_names.
*populate the input field for partner structure for crm_order_maintain
ls_input_field-ref_handle = '0'.
ls_input_field-ref_guid = is_partner_control-document_id.
ls_input_field-ref_kind = 'A'.
ls_input_field-objectname = 'PARTNER'.
CONCATENATE'0000''00000001' l_partner_no INTO ls_input_field-logical_key.
INSERT ls_input_field INTOTABLE lt_input_fields_tmp.
*Populate PARTNER structure
wa_partner-ref_guid = is_partner_control-document_id.
wa_partner-ref_kind = 'A'.
wa_partner-ref_partner_handle = '0001'.
wa_partner-kind_of_entry = 'B'.
wa_partner-ref_partner_fct = '00000001'.
wa_partner-ref_partner_no = l_partner_no.
wa_partner-ref_no_type = 'BP'.
wa_partner-ref_display_type = 'BP'.
wa_partner-partner_no = l_partner_no.
wa_partner-display_type = 'BP'.
wa_partner-no_type = 'BP'.
wa_partner-partner_guid = is_partner_control-document_id.
wa_partner-error_flag = 'X'.
INSERT wa_partner INTOTABLE lit_partner.
using the following both function modules:
1) When I use CRM_ORDER_MAINTAIN, Iam getting short dump
CALL FUNCTION'CRM_ORDER_MAINTAIN'
EXPORTING
it_partner = lit_partner
CHANGING
ct_input_fields = lt_input_fields_tmp
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.
ENDIF.
2) not getting short dump, but Partner function is not being deleted
CALL FUNCTION'CRM_PARTNER_MAINTAIN_MULTI_OW'
EXPORTING
it_partner_com = lit_partner
iv_ref_guid = l_ref_guid
iv_ref_kind = 'A'
is_partner_control = is_partner_control
CHANGING
ct_input_fields = lt_input_fields_tmp
EXCEPTIONS
error_occurred = 1
OTHERS = 2.
Regards
RK