Skip to Content
avatar image
Former Member

Update Sold to party address to Ship to party in parties involved

Dear Experts,

I have problem in Development, actually my requirement is while creating the service order user will give the Sold to party number. I want to update the ship to party address as per the given sold to party in the Parties involved.

Please guide.

Regards

Anandhan

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Dec 30, 2014 at 05:52 AM

    Hi Anandhan,

    You want to update only address of sold to party to ship to party?

    Do you have different sold to party and ship to party BP IDs in parties involved?

    Best Regards,

    Dharmakasi.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Anandhan,

      Have you worked on call back event function modules earlier. Using a call back function module would be required more of coding and in your case its not necessary to use FM.

      There is another simple way to achieve this requirement. You can create a custom implementation for the badi COM_PARTNER_BADI and use the method COM_PARTNER_MERGE.

      This badi will trigger for all the partners maintained in service order, so we have pick only ship to party partner function.

      1. Check the partner function field(partner_fct)  value in changing parameters CS_PARTNER_BADI, if it is your ship to party partner function then continue with below steps

      2. Get the REF_GUID field from CS_PARTNER_BADI and

      read the document process type and partner details.  Observe below sample code

      lv_guid         = is_partner_control-document_id. "is_partner_wrk-guid.

           APPEND lv_guid TO li_guid.

           lw_object_name = 'ORDERADM_H'.

           APPEND lw_object_name TO li_object_name.

           lw_object_name = 'PARTNER'.

           APPEND lw_object_name TO li_object_name.

           CALL FUNCTION 'CRM_ORDER_READ_OW'

             EXPORTING

               it_header_guid       = li_guid

               it_requested_objects = li_object_name

             IMPORTING

               et_orderadm_h        = li_orderadm_h

                et_partner           = li_partner

             CHANGING

               cv_log_handle        = lv_log_handle

             EXCEPTIONS

               document_not_found   = 1

               error_occurred       = 2

               document_locked      = 3

               no_change_authority  = 4

               no_display_authority = 5

               no_change_allowed    = 6

               OTHERS               = 7.

           IF sy-subrc <> 0.

             RETURN.

           ENDIF.


      3. Check the process type using li_orderadm_h table.


      4. Read sold to party partner details from li_partner and pick the address fields and assign them to CS_PARTNER_BADI structure.

      Best Regards,

      Dharmakasi.