SAP ABAP programming to get user Chinese name

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

DATAg_sheet_jsr TYPE string.  "用户中文名称
  DATAL_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_persnumberl_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 .


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324918320&siteId=291194637