zoukankan      html  css  js  c++  java
  • SAP ABAP编程 取得用户中文名称

    有时候我们知道SAP当前用户登录的ID,也就是SY-UNAME。能够取得用户中文名称。例如以下:

    ***取得用户中文名称

    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.  "去掉空格字符
        ENDIF.
      ENDIF.

    write: g_sheet_jsr.


    另一种更加简便的方法就是调用PABI

    DATAG_FULL_NAME    TYPE AD_NAMTEXT,  "用户中文名称
          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.  "去掉空格字符
          ENDIF.

    write: G_FULL_NAME .


  • 相关阅读:
    MapReduce运行原理和过程
    为什么均方差(MSE)不适合分类问题?交叉熵(cross-entropy)不适合回归问题?
    207. 课程表
    131. 分割回文串
    152. 乘积最大子数组
    pandas内存优化函数
    395. 至少有K个重复字符的最长子串
    HTML入门
    递归与链表
    Spring--001
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8945177.html
Copyright © 2011-2022 走看看