Hi ALl,
My requirement is to update Business Activity Transaction with the Reason code and Status through an ELM.
I have implemenetd BADI and its fine.
But i am facing a problem while updating the Activities.
I am used the below code:
wa_status_com-ref_guid = ls_act-guid.
wa_status_com-ref_kind = lc_ref_kind.
wa_status_com-user_stat_proc = 'ZCAMPACT'.".lc_user_stat_proc.
wa_status_com-activate = 'X'.
wa_status_com-status = 'E0003'.
INSERT wa_status_com INTO TABLE lit_status_com.
wa_field_names-fieldname = 'ACTIVATE'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_input_fields-ref_guid = wa_guid.
wa_input_fields-ref_kind = lc_ref_kind.
wa_input_fields-objectname = 'STATUS'.
INSERT wa_input_fields INTO TABLE lit_input_fields.
CLEAR wa_input_fields.
CLEAR wa_input_fields-field_names[].
* Set Reason as Given in the flat file.
wa_subject-ref_guid = ls_act-guid.
wa_subject-katalogart = 'A1'."wa_ztsm_exp_campgn-code_catalog'.
wa_subject-codegruppe = 'A0000001'. "wa_ztsm_exp_campgn-code_group.
wa_subject-code = 'A007'.
wa_subject-mode = 'B'.
INSERT wa_subject INTO TABLE lit_subject.
wa_osset-ref_guid = ls_act-guid.
wa_osset-subject_profile = 'ACT000001'."lc_subject_profile.
wa_osset-profile_type = 'G'.
wa_osset-subject[] = lit_subject[].
INSERT wa_osset INTO TABLE lit_osset.
wa_service_os-ref_guid = ls_act-guid.
wa_service_os-ref_kind = 'A'."lc_ref_kind.
wa_service_os-osset[] = lit_osset[].
INSERT wa_service_os INTO TABLE lit_service_os.
wa_field_names-fieldname = 'CODE'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_field_names-fieldname = 'CODEGRUPPE'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_field_names-fieldname = 'DEFECTCLASS'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_field_names-fieldname = 'DEFQUANTITY'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_field_names-fieldname = 'KATALOGART'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_field_names-fieldname = 'LISTCODE'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_field_names-fieldname = 'QUALITY'.
INSERT wa_field_names INTO TABLE wa_input_fields-field_names.
wa_input_fields-ref_guid = ls_act-guid.
wa_input_fields-ref_kind = 'A'.
wa_input_fields-objectname = 'SERVICE_OS'.
INSERT wa_input_fields INTO TABLE lit_input_fields.
CLEAR wa_input_fields.
CLEAR wa_input_fields-field_names[].
*function module CRM_ORDER_MAINTAIN called to make changes in actiivty.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING* it_appointment = lit_appointment_com
it_status = lit_status_com
it_service_os = lit_service_os
CHANGING
ct_orderadm_h = lit_orderadm_h_com
ct_input_fields = lit_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.
IF sy-subrc <> 0.* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_dummy.
ENDIF.
I am unable to update the Activity.
Can any one pls help me .!!!