Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

UPDATE SAP USER EMAIL

Former Member
0 Kudos

Hi,

I'm trying to update sap user email by using BAPI_USER_CHANGE BAPI. This is the code:

CLEAR it_return.

v_address-e_mail = ls_salida-smtp_addr.

v_addressx-e_mail = 'X'.

CALL FUNCTION 'BAPI_USER_CHANGE'

EXPORTING

username = lv_bname

address = v_address

addressx = v_addressx

TABLES

return = it_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

When the execution finish everything seems OK but when I check in SAP user master data, email address is not updated.

Can you tell me how can i do to make it works? or there is another way to update sap user email address?

Thanks

Andres

3 REPLIES 3

GrahamRobbo
Active Contributor
0 Kudos

Hi Andy,

I just tried your code and it worked for me.

I hardcoded the variables, so maybe there is something wrong with how you are populating them.

My code...

  DATA: it_return TYPE TABLE OF bapiret2,
        v_address	TYPE 	bapiaddr3,
        v_addressx  TYPE  bapiaddr3x.


  CLEAR it_return.
  v_address-e_mail = 'developer @ domain.com'. "Put in spaces to bypass forum filter
  v_addressx-e_mail = 'X'.

  CALL FUNCTION 'BAPI_USER_CHANGE'
    EXPORTING
      username = sy-uname
      address  = v_address
      addressx = v_addressx
    TABLES
      return   = it_return.

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

Cheers

Graham Robbo

Former Member
0 Kudos

Thanks for your help.

I tried the same code again and i worked fine.

I didn´t change anything but now is working.

0 Kudos

example

  DATA: lv_addcomx    TYPE bapiadcomx,

        lt_bapiadsmtp TYPE TABLE OF bapiadsmtp,

        ls_bapiadsmtp LIKE LINE OF lt_bapiadsmtp,

    MOVE: 'X'               TO lv_addcomx-adsmtp,        "Update Flag

          ls_list-smtp_addr TO ls_bapiadsmtp-e_mail,

          ls_list-smtp_addr TO ls_bapiadsmtp-email_srch,

          001               TO ls_bapiadsmtp-consnumber.



    APPEND ls_bapiadsmtp TO lt_bapiadsmtp.



    CALL FUNCTION 'BAPI_USER_CHANGE'

      EXPORTING

        username = lv_name

        addcomx  = lv_addcomx

      TABLES

        return   = lt_return

        addsmtp  = lt_bapiadsmtp.

You can change.. and check the su01