获取用户SU3设置的数字格式

来源:互联网 发布:阮一峰 js 编辑:程序博客网 时间:2024/05/27 00:29
因某个需求,需要知道用户的 数字格式,即小数点和千分位是,还是.

知道有标准函数,但是不记得了。索性自己找一下,下面记录下我查找的过程:
SU3  F1
获取用户SU3设置的数字格式
根据数据元素查找where used :Function
获取用户SU3设置的数字格式

根据描述既可以
获取用户SU3设置的数字格式
测试:
获取用户SU3设置的数字格式

然后我在另一个系统使用这个函数的时候,发现这个函数不存在。
估计是版本问题,于是进行模糊搜索:
获取用户SU3设置的数字格式
或者同样根据数据元素进行搜索:
获取用户SU3设置的数字格式


都可以找到这个函数。

现在问题来了,既然Function name可能随着版本变化。
(其实这个/OSP/Get……从命名空间看,应该不是最终版,可能后续版本中会修改命名,建议不要使用带这种//命名空间的)

遇到这种情况,建议直接查看Function代码,自己封装一个Function,防止受升级影响:

查看代码后,发现有效代码可以简化为:

FUNCTION ZLM_GET_USER_DECIMAL.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(IV_USER_NAME) TYPE  SY-UNAME DEFAULT SY-UNAME
*"  EXPORTING
*"     REFERENCE(EV_TEXT) TYPE  DD07T-DDTEXT
*"----------------------------------------------------------------------

  DATALV_DECIMAL_NOTATION TYPE  XUDCPFM.
  DATALV_VALUE TYPE DD07V-DOMVALUE_L.
  DATALV_DD07V  TYPE DD07V.

  SELECT SINGLE DCPFM  FROM USR01 INTO LV_DECIMAL_NOTATION
  WHERE BNAME IV_USER_NAME.
  CHECK SY-SUBRC 0.

  LV_VALUE LV_DECIMAL_NOTATION.

  CALL FUNCTION 'DDUT_DOMVALUE_TEXT_GET'
    EXPORTING
      NAME          'XUDCPFM'
      VALUE         LV_VALUE
      LANGU         SY-LANGU
    IMPORTING
      DD07V_WA      LV_DD07V
    EXCEPTIONS
      NOT_FOUND     1
      ILLEGAL_INPUT 2
      OTHERS        3.

  EV_TEXT LV_DD07V-DDTEXT.


ENDFUNCTION.


欢迎关注订阅号:SAP学习记录 (SAPlearning 

PO <wbr><wbr>text <wbr><wbr>copy <wbr><wbr>rules <wbr><wbr>:copy <wbr><wbr>PR <wbr><wbr>item <wbr><wbr>text <wbr><wbr>to <wbr><wbr>PO


阅读全文
0 0
原创粉丝点击