ADDR_PERS_COMP_COMM_MAINTAIN to Update sap users email address plus other details (own data)
The below SAP ABAP code shows how update a sap users emails address within their user profile data(see menu option System->User Profile->Own Data).
This is performed via the use of function module ADDR_PERS_COMP_COMM_MAINTAIN.
DATA: ld_address LIKE addr3_val,
ld_usr03 LIKE usr03,
ld_userid type sy-uname,
ld_smtp LIKE adsmtp OCCURS 0 WITH HEADER LINE.
DATA: RETURNCODE type c,
it_error type standard table of ADDR_ERROR.
ld_userid = sy-uname.
CALL FUNCTION 'SUSR_USER_ADDRESS_READ'
EXPORTING
user_name = ld_userid
* READ_DB_DIRECTLY = ' '
IMPORTING
user_address = ld_address
user_usr03 = ld_usr03
EXCEPTIONS
user_address_not_found = 1
OTHERS = 2.
* Get additional user address details (i.e. email)
CALL FUNCTION 'ADDR_PERS_COMP_COMM_GET'
EXPORTING
ADDRESS_NUMBER = ld_address-addrnumber
PERSON_NUMBER = ld_address-persnumber
table_type = 'ADSMTP' "email details
* Other valid entries for table_type include:
* ADFAX for fax details
* ADTEL for telephone details
* IMPORTING
* RETURNCODE =
tables
comm_table = ld_smtp
* ERROR_TABLE =
EXCEPTIONS
PARAMETER_ERROR = 1
ADDRESS_NOT_EXIST = 2
PERSON_NOT_EXIST = 3
INTERNAL_ERROR = 4
OTHERS = 5.
if sy-subrc eq 0.
loop at ld_smtp.
ld_smtp-UPDATEFLAG = 'U'.
ld_smtp-SMTP_ADDR = 'newemail@test.co.uk'.
modify ld_smtp.
endloop.
CALL FUNCTION 'ADDR_PERS_COMP_COMM_MAINTAIN'
EXPORTING
ADDRESS_NUMBER = ld_address-addrnumber
PERSON_NUMBER = ld_address-persnumber
TABLE_TYPE = 'ADSMTP'
IMPORTING
RETURNCODE = RETURNCODE
TABLES
COMM_TABLE = ld_smtp
ERROR_TABLE = it_error
EXCEPTIONS
PARAMETER_ERROR = 1
ADDRESS_NOT_EXIST = 2
PERSON_NOT_EXIST = 3
INTERNAL_ERROR = 4
OTHERS = 5.
CALL FUNCTION 'ADDR_MEMORY_SAVE'
EXCEPTIONS
address_number_missing = 1
person_number_missing = 2
internal_error = 3
database_error = 4
reference_missing = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.
endif.
Website Navigation to related information
|
||||||||||