USR01 – USR21 – ADRP – ADR6 – Obtener datos del usuario
Caso: se desea obtener el nombre completo y mail del usuario logueado.
Solución: hay varias funciones a utilizar, pero la forma fácil es la siguiente:
DATA: lv_bname TYPE xubname, lv_nombre_usuario TYPE ad_namtext, lv_mail TYPE ad_smtpadr, lw_datos_usuario type adrp. lv_bname = sy-uname. * NOMBRE DEL USUARIO EDITADO: Obtengo el nombre editado del usuario SELECT SINGLE name_text INTO lv_nombre_usuario FROM user_addrp WHERE bname = lv_bname. * Nota: también se puede usar (sólo sirve para sy-uname): CALL FUNCTION 'USER_NAME_GET' IMPORTING user_name = lv_bname mandt = sy-mandt sylangu = sy-langu full_user_name = lv_nombre_usuario. * E-MAIL: SELECT SINGLE smtp_addr INTO lv_mail FROM usr21 INNER JOIN adr6 ON usr21~addrnumber = adr6~addrnumber AND usr21~persnumber = adr6~persnumber WHERE usr21~bname = lv_bname. * DATOS DEL USUARIO (SU3) SELECT SINGLE * INTO CORRESPONDING FIELDS OF lw_datos_usuario FROM usr21 INNER JOIN adrp ON usr21~persnumber = adrp~persnumber WHERE usr21~bname = lv_bname. WRITE : 'Usuario:', lv_bname. SKIP. WRITE : 'Nombre.:', lv_nombre_usuario. SKIP. WRITE : 'E-Mail.:', lv_mail. skip. WRITE : 'Otros datos:', lw_datos_usuario.
Categorías:ABAP/4
adr6, adrp, datos usuario, mail usuario, user name, usr01, usr21, usuario
Comentarios (0)
Trackbacks (0)
Deja un comentario
Trackback