Skip to Content
0
Former Member
Feb 09, 2007 at 07:33 PM

Changing the Partner in Opportunity by Funciton module

24 Views

Hi,

I am trying to change the employee responsible partner of an opportunity.

I was unable to find the correct code. I tried using the below code but i am unable to do.

Please help me in this regard. I have tried with FM 'BAPI_OPPORTUNITY_CHANGEMULTI' But I am unable to understand how to pass the partner values to it.

L_Guid = it_CRMD_ORDERADM_H-guid.      ."'4582EEBA723000A500000000837FBA1A'.
  INSERT L_Guid INTO TABLE Lt_Header.
*move  '43A15126B7A2006502000000837FBA1A' to Lt_Header.
  CALL FUNCTION 'CRM_ORDER_READ'
    EXPORTING
      IT_HEADER_GUID       = Lt_Header
    IMPORTING
      ET_PARTNER           = Lt_GetPartner
    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.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
READ TABLE Lt_GetPartner INTO wa_GetPartner WITH KEY PARTNER_FCT = '00000014'.
if sy-subrc = 0.
data v_index like sy-tabix.

v_index = sy-tabix.
w_uname = 'salesrep1.
ls_partner_com-partner_no = w_uname.
    INSERT ls_partner_com INTO TABLE it_partner.
ls_input_field_names-fieldname = 'PARTNER_NO'.
    INSERT ls_input_field_names INTO TABLE ls_input_field-field_names.
    INSERT ls_input_field  INTO TABLE  lt_input_fields.

CALL FUNCTION 'CRM_ORDER_MAINTAIN'
 EXPORTING
   IT_PARTNER                    = it_partner.
CHANGING
  CT_ORDERADM_H                  = CT_ORDERADM_H
  CT_INPUT_FIELDS                = lt_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.
ENDIF.

 append  L_Guid to lt_guids.
CALL FUNCTION 'CRM_ORDER_SAVE'
  EXPORTING
    IT_OBJECTS_TO_SAVE         = lt_guids
 EXCEPTIONS
   DOCUMENT_NOT_SAVED         = 1
   OTHERS                     = 2