SAP ABAP - BAPI 'BAPI_ADDRESSORG_SAVEREPLICA' To Update E-Mail, Telephone, Fax Details For Customers - T-Code - XD01, XD02.

'BAPI_ADDRESSORG_SAVEREPLICA' - This BAPI can be used for address change of customer.


Also this BAPI can be used to transfer extra address fields of the customer master.


In this sample code we are trying to update some of the extra fields like, telephone number, fax details, mobile number and email address for a customer master.


SAMPLE PROGRAM:

CLEAR: addr_no,addr_grp.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kunnr
IMPORTING
output = v_kunnr.

SELECT SINGLE adrnr
FROM kna1
INTO addr_no
WHERE kunnr = v_kunnr.

SELECT SINGLE addr_group
FROM adrc
INTO addr_grp
WHERE addrnumber = addr_no.

CLEAR: gi_bapiadfax, gi_bapiadsmtp ,gi_bapiad1vl,gi_bapiadtel,
gi_bapiadfax[],gi_bapiadsmtp[],gi_bapiad1vl[],gi_bapiadtel[].

gi_bapiad1vl-addr_group = addr_grp.

ztitle = wa_final_output-title.

CASE ztitle.
WHEN 'MS.'.
gi_bapiad1vl-title = '0001'.
WHEN 'MR.'.
gi_bapiad1vl-title = '0002'.
WHEN 'COMPANY'.
gi_bapiad1vl-title = '0003'.
WHEN 'MR and MRS'.
gi_bapiad1vl-title = '0004'.
WHEN 'DR.'.
gi_bapiad1vl-title = '0005'.
ENDCASE.

gi_bapiad1vl-name = wa_final_output-name1.
gi_bapiad1vl-name_2 = wa_final_output-name2.
gi_bapiad1vl-city = wa_final_output-ort01.
gi_bapiad1vl-po_box_reg = wa_final_output-regio.
gi_bapiad1vl-postl_cod1 = wa_final_output-pstlz.
gi_bapiad1vl-street = wa_final_output-stras.
gi_bapiad1vl-str_suppl1 = wa_final_output-str_suppl1.
gi_bapiad1vl-country = wa_final_output-land1.
gi_bapiad1vl-langu = 'EN'.
gi_bapiad1vl-sort1 = wa_final_output-sort1.
gi_bapiad1vl-sort2 = wa_final_output-sort2.
gi_bapiad1vl-transpzone = wa_final_output-lzone.

APPEND gi_bapiad1vl.
CLEAR gi_bapiad1vl.

*********** Email ************************

READ TABLE it_str_email INTO wa_str_email WITH KEY req_no = wa_final_output-req_no
serial_no = wa_final_output-serial_no.
IF sy-subrc <> 0.
gi_bapiadsmtp-e_mail = wa_final_output-smtp_addr.
gi_bapiadsmtp-r_3_user = '3'.
gi_bapiadsmtp-std_recip = 'X'.
APPEND gi_bapiadsmtp.
CLEAR gi_bapiadsmtp.
ENDIF.

IF NOT it_str_email[] IS INITIAL.
LOOP AT it_str_email INTO wa_str_email WHERE req_no = wa_final_output-req_no
AND serial_no = wa_final_output-serial_no
AND ktokd = wa_final_output-ktokd
AND bukrs = wa_final_output-bukrs
AND vkorg = wa_final_output-vkorg
AND vtweg = wa_final_output-vtweg
AND spart = wa_final_output-spart.
.
IF NOT wa_str_email-smtp_addr IS INITIAL.
gi_bapiadsmtp-e_mail = wa_str_email-smtp_addr. "EMAIL
gi_bapiadsmtp-consnumber = wa_str_email-consnumber.
ELSE.
gi_bapiadsmtp-e_mail = ' '. "'IN@XXX.COM'.
ENDIF.
APPEND gi_bapiadsmtp.
CLEAR gi_bapiadsmtp.
ENDLOOP.
ENDIF.

*************Mobile**************************
READ TABLE it_str_mobile INTO wa_str_mobile WITH KEY req_no = wa_final_output-req_no
serial_no = wa_final_output-serial_no.
IF sy-subrc <> 0.
gi_bapiadtel-telephone = wa_final_output-mobno.
gi_bapiadtel-r_3_user = '3'.
gi_bapiadtel-std_recip = 'X'.
APPEND gi_bapiadtel.
CLEAR gi_bapiadtel.
ENDIF.

IF NOT it_str_mobile[] IS INITIAL.
LOOP AT it_str_mobile INTO wa_str_mobile WHERE req_no = wa_final_output-req_no
AND serial_no = wa_final_output-serial_no
AND ktokd = wa_final_output-ktokd
AND bukrs = wa_final_output-bukrs
AND vkorg = wa_final_output-vkorg
AND vtweg = wa_final_output-vtweg
AND spart = wa_final_output-spart..
IF NOT wa_str_mobile-mobno IS INITIAL.
gi_bapiadtel-telephone = wa_str_mobile-mobno.
gi_bapiadtel-consnumber = wa_str_mobile-consnumber.
GI_BAPIADTEL-COUNTRY = WA_STR_MOBILE-COUNTRY.
gi_bapiadtel-r_3_user = '3'.
gi_bapiadtel-std_recip = 'X'.

ELSE.
gi_bapiadtel-telephone = '.'.
ENDIF.
APPEND gi_bapiadtel.
CLEAR gi_bapiadtel.
ENDLOOP.
ENDIF.

*************Telephone************************
READ TABLE it_str_tel INTO wa_str_tel WITH KEY req_no = wa_final_output-req_no
serial_no = wa_final_output-serial_no.
IF sy-subrc <> 0.
gi_bapiadtel-telephone = wa_final_output-telf1.
gi_bapiadtel-extension = wa_final_output-tel_extens.
APPEND gi_bapiadtel.
CLEAR gi_bapiadtel.
ENDIF.

IF NOT it_str_tel[] IS INITIAL.
LOOP AT it_str_tel INTO wa_str_tel WHERE req_no = wa_final_output-req_no
AND serial_no = wa_final_output-serial_no
AND ktokd = wa_final_output-ktokd
AND bukrs = wa_final_output-bukrs
AND vkorg = wa_final_output-vkorg
AND vtweg = wa_final_output-vtweg
AND spart = wa_final_output-spart..
IF NOT wa_str_tel-telf1 IS INITIAL.
gi_bapiadtel-telephone = wa_str_tel-telf1.
gi_bapiadtel-extension = wa_str_tel-tel_extens.
gi_bapiadtel-consnumber = wa_str_tel-consnumber.
GI_BAPIADTEL-COUNTRY = wa_str_tel-COUNTRY.
ELSE.
gi_bapiadtel-telephone = '.'.
ENDIF.
APPEND gi_bapiadtel.
CLEAR gi_bapiadtel.
ENDLOOP.
ENDIF.

**************************************************
IF NOT wa_final_output-telfx IS INITIAL.
gi_bapiadfax-fax = wa_final_output-telfx.
gi_bapiadfax-extension = wa_final_output-fax_extens.
ELSE.
gi_bapiadfax-fax = space.
gi_bapiadfax-extension = space.
ENDIF.
APPEND gi_bapiadfax.
CLEAR gi_bapiadfax.

objid = v_kunnr.

CALL FUNCTION 'BAPI_ADDRESSORG_SAVEREPLICA'
EXPORTING
obj_type = 'KNA1'
obj_id = objid
iv_check_address = 'X'
IMPORTING
return = return1
TABLES
bapiad1vl = gi_bapiad1vl
bapiadtel = gi_bapiadtel
bapiadfax = gi_bapiadfax
bapiadsmtp = gi_bapiadsmtp.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

ENDFORM.


Your suggestions and comments are welcome in this section.

Please mail all your contributions to administrator@abapmadeeasy.com We request you to mention your Name, Designation, Experience & Organization you are working for. Your posts will be verified and posted in this site with your name.

No comments:

Post a Comment