二维码

[基础语法] SAP字符类型转数量类型(Char to Quantity)

Twilight发表于 2018-09-03 10:46Twilight 最后回复于 2018-09-03 10:46 [复制链接] 2885 0

SAP的特点,区分内外部数据,存储在数据库里的数据没有格式,但是输出到界面时就被格式化了。

下面我们来看看基本的数据类型可能导致的问题:

1、SU01 用户个性化设置
SU01.jpg
数值类型输出成字符类型就会被格式化

2、将被格式化的字符转成数值类型
  1. DATA:lv_comp_qty TYPE char18.

  2. lv_comp_qty = '10,125.000'.

  3. DATA:lv_menge TYPE stpo-menge.
  4. DATA:lv_num TYPE p DECIMALS 3.

  5. CALL FUNCTION 'MOVE_CHAR_TO_NUM'
  6.   EXPORTING
  7.     chr             = lv_comp_qty
  8.   IMPORTING
  9.     num             = lv_num
  10.   EXCEPTIONS
  11.     convt_no_number = 1
  12.     convt_overflow  = 2
  13.     OTHERS          = 3.

  14. WRITE:lv_num.
复制代码


3、Debug查看结果
字符串转数值.jpg
char to quantity field conversion,注意数量的小数位
如果字符串 '10,125.000'不进行转换,直接参与计算将导致程序dump

扩展阅读:SAP字符类型转货币类型(Char to Currency)
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表