今天我在编程的时候遇到这样的问题:
   我在ALV上有个‘本月发生金额’字段,该字段设置为可编辑,字段的类型是金额dmbtr, 

 小数位数两位
   当我在给ALV上给该字段输入整数‘125’时,该数据居然会默认变成‘1.25’,不知道是什么原因!
   我想得到数据是‘125.00’或是‘125’而不是‘1.25’.

   后来经过多方search,还有高人指点,总算是解决了这个问题。

可以在这里解决这个问题。就是定义字段目录的时候,对于金额字段指定参考数据类型就可以了。

DATA: wa_fieldcat TYPE slis_fieldcat_alv .
或者  DATA ls_fcat TYPE lvc_s_fcat .

1、对于货币字段,要在其设置字段和列名的属性中再添加一个“指定数据类型”的属性,如下:
wa_fieldcat-datatype      = 'CURR' .     " 指定数据类型

或者 ls_fcat-datatype = 'CURR' “oo编程用到
这样在修改数据并保存时,才能将数据保持原样,否则输入的数据会自动将小数点提前2位;

2、对于数量字段,也要添加一个“指定数据类型”的属性,才能保持数据的正确性,如下:
  wa_fieldcat-datatype      = 'QUAN' .  " 指定数据类型
  wa_fieldcat-inttype         = 'C' .
或者 ls_fcat-datatype = 'QUAN'.

       ls_fcat-inttype = 'C'.

reference:http://ms.itpub.net/redirect.php?fid=45&tid=1011011&goto=nextnewset

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2021-07-09
猜你喜欢
  • 2022-12-23
  • 2021-04-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-01
相关资源
相似解决方案