Skip to Content
Former Member
Mar 13, 2014 at 10:07 AM

[ODI-CRM] Update Fulfillment Messages of a Distribution Type


Hi expert,

My objective and problem:

  1. When I create provider order, I want to send related data to external system for provisioning via web service in ODI (Order Distribution Intrastructure). -> Done
  2. Response from external system is asynchronous -> Done by set the Distribution Type State = E (Waiting)
  3. Fullfillment messages in SAP CRM updated by external system one by one -> Problem
  4. Set Final Distribution Type State by external system -> Done with below code
    cl_crm_isx_order_msg_dist_srv=>get_instance( )->get_update_service(
    iv_trx_handling = abap_true )->update_msg_state_by_step_guid(
    iv_step_guid = i_record_guid "needs TO be passed
    iv_msg_state = i_msg_state "new STATE
    iv_log_data = t_message "optional
    iv_log_data_type = 'BAPIRETTAB' ). "optional
    CATCH cx_crm_isx_order_msg_dist INTO lx_exc.
    CASE lx_exc->textid.
    WHEN cx_crm_isx_order_msg_dist=>lock_error.
    * document was locked -> processing not possible
    WHEN cx_crm_isx_order_msg_dist=>save_error.
    * document not saved

The problem is at point 3.

Example: in step provisioning, there are 3 sub step, let say substep 1, substep 2, and substep 3. Each substep will be updated by external system to SAP CRM via web service.

How to update fulfillment messages without update the distribution type state? What method/FM that I need?

Please advice.

Thank you