0
点赞
收藏
分享

微信扫一扫

获取用户SU3设置的数字格式_SAP刘梦_新浪博客


因某个需求,需要知道用户的 数字格式,即小数点和千分位是,还是.

知道有标准函数,但是不记得了。索性自己找一下,下面记录下我查找的过程:

SU3  F1


​​

获取用户SU3设置的数字格式_SAP刘梦_新浪博客_linux

​​


根据数据元素查找where used :Function

​​

获取用户SU3设置的数字格式_SAP刘梦_新浪博客_mysql_02

根据描述既可以


​​

获取用户SU3设置的数字格式_SAP刘梦_新浪博客_java_03

​​​
测试:
​​​

获取用户SU3设置的数字格式_SAP刘梦_新浪博客_java_04

​​​

然后我在另一个系统使用这个函数的时候,发现这个函数不存在。

估计是版本问题,于是进行模糊搜索:

​​

获取用户SU3设置的数字格式_SAP刘梦_新浪博客_mysql_05

​​

或者同样根据数据元素进行搜索:

​​

获取用户SU3设置的数字格式_SAP刘梦_新浪博客_python_06

​​​


都可以找到这个函数。

现在问题来了,既然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
*"----------------------------------------------------------------------

DATA: LV_DECIMAL_NOTATION TYPE XUDCPFM.
DATA: LV_VALUE TYPE DD07V-DOMVALUE_L.
DATA: LV_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 条评论