Skip to Content
0
Former Member
Mar 13, 2009 at 01:49 PM

Not able to update the partner with a new partner during change order ?

60 Views

Hi Experts,

In the webshop, in order page we have given a provision that we can select partner and when we click on order button, we are passing this partner as extension data and storing it in partner tab. But from the webshop, when search the same order and click on change and select a different partner, it is adding the newly selected partner as a new line in partner tab in sap gui but my requirement is to update the old partner with the new value. How to do this?? How do we decreminate the adding of new partner and updation of old partner with new partner?

The following is the code i used:

select single PARTNER into l_partner from BUT000 WHERE NAME_ORG1 =
  wa_extension-value.

  wa_partner-ref_guid           = wa_extension-ref_guid.
  wa_partner-REF_KIND           = 'A'.
  wa_partner-REF_PARTNER_HANDLE = '0001'.
  wa_partner-KIND_OF_ENTRY      = 'C'.
  wa_partner-PARTNER_FCT        = 'Z001'.
  wa_partner-PARTNER_NO         = l_partner.
  wa_partner-DISPLAY_TYPE       = 'BP'.
  wa_partner-NO_TYPE            = 'BP'.
  wa_partner-MAINPARTNER        = 'X'.
  wa_partner-ref_partner_handle = '0001'.
  INSERT wa_partner INTO TABLE ct_partner.
  CLEAR wa_partner.

*****Filling input fields******************
  wa_input_fields-ref_guid   = wa_extension-ref_guid.
  wa_input_fields-ref_kind   = 'A'.
  wa_input_fields-objectname = 'PARTNER'.

****logical for updating of partner*********
l_spaces = '          '.
  CONCATENATE '0000' 'Z001' l_spaces 'BPBP' into lv_mo_logical_key. " (0000ZSHS0092          BPBP)
 IF lv_objectid IS NOT INITIAL AND wa_extension-VALUE is not initial .
  wa_input_fields-logical_key = lv_mo_logical_key.
 ELSE.
  wa_input_fields-logical_key = '0001'.
 endif.

*****Filling input fields names******************
  wa_field_names-fieldname = 'REF_PARTNER_HANDLE'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.
  wa_field_names-fieldname = 'DISPLAY_TYPE'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.
  wa_field_names-fieldname = 'KIND_OF_ENTRY'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.
  wa_field_names-fieldname = 'NO_TYPE'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.
  wa_field_names-fieldname = 'PARTNER_FCT'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.
  wa_field_names-fieldname = 'PARTNER_NO'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.
  wa_field_names-fieldname = 'MAINPARTNER'.
  INSERT wa_field_names INTO TABLE lt_field_names.
  clear wa_field_names.

  wa_input_fields-field_names = lt_field_names.

  INSERT wa_input_fields INTO table lt_input_fields.

  INSERT wa_input_fields INTO table ct_input_fields.

Thanks and regards,

Lakshman.