Sometimes we know the ID of the current SAP user login, which is SY - UNAME. Can get the user's Chinese name. For example the following:
***Get the user's Chinese name
DATA: g_sheet_jsr TYPE string. "用户中文名称
DATA: L_DEPARTMENT TYPE AD_DPRTMNT,
L_ADDRNUMBER TYPE AD_ADDRNUM,
L_PERSNUMBER TYPE AD_PERSNUM,
L_UNAME TYPE SY-UNAME,
L_NAME_FIRST TYPE AD_NAMEFIR,
L_NAME_LAST TYPE AD_NAMELAS.
***取得用户中文名称
SELECT SINGLE persnumber addrnumber INTO
(l_persnumber, l_addrnumber)
FROM usr21
WHERE bname = SY-UNAME.
IF sy-subrc = 0.
SELECT SINGLE name_first name_last INTO (l_name_first,l_name_last)
FROM adrp
WHERE persnumber = l_persnumber.
IF sy-subrc = 0 .
CONCATENATE l_name_last l_name_first INTO g_sheet_jsr .
CONDENSE g_sheet_jsr NO - GAPS . "Remove space characters
ENDIF .
ENDIF .
write: g_sheet_jsr.
Another easier way is to call PABI
DATA : G_FULL_NAME TYPE AD_NAMTEXT , "User Chinese name
G_NAME_FIRST TYPE AD_NAMEFIR ,
G_NAME_LAST TYPE AD_NAMELAS .
CALL FUNCTION 'FDM_CUST_USER_NAME_READ_SINGLE'
EXPORTING
I_USER_ID = SY-UNAME
IMPORTING
E_FIRSTNAME = G_NAME_FIRST
E_LASTNAME = G_NAME_LAST
* E_FULLNAME =
.
IF SY - SUBRC = 0 .
CONCATENATE G_NAME_LAST G_NAME_FIRST INTO G_FULL_NAME .
CONDENSE G_FULL_NAME NO - GAPS . "Remove space characters
ENDIF .
write: G_FULL_NAME .