[转载]ALV字段小数位数设置
(2011-05-30 11:22:21)
标签:
转载 |
分类: ALV |
原文地址:ALV字段小数位数设置作者:北风
金额字段一般不要求设置小数位数,如需设置参照以下方法,但字段换成CFIELDNAME。
DATA: LS_FIELDCAT TYPE LVC_S_FCAT.
DEFINE MAC_FILL_FIELDCAT.
LS_FIELDCAT-FIELDNAME
= &1.
LS_FIELDCAT-COLTEXT =
&2.
LS_FIELDCAT-KEY =
&3.
LS_FIELDCAT-NO_ZERO =
&4.
LS_FIELDCAT-NO_OUT =
&5.
LS_FIELDCAT-REF_TABLE =
&6.
LS_FIELDCAT-REF_FIELD =
&7.
LS_FIELDCAT-DECIMALS_O =
&8.
LS_FIELDCAT-QFIELDNAME =
&9.
APPEND LS_FIELDCAT TO
GT_FIELDCAT.
CLEAR LS_FIELDCAT.
END-OF-DEFINITION.
MAC_FILL_FIELDCAT 'MENGE' '数量' '' 'X' '' ''
'' '0' 'MEINS'.
MAC_FILL_FIELDCAT 'BPMNG' '计算数量' '' 'X'
'' '' '' '0' 'MEINS'.
MAC_FILL_FIELDCAT 'MEINS' '单位' '' '' 'X' ''
'' '' ''.
数量字段通常要求去除小数位,比较好的方法是:
设置FIELDCAT的DECIMALS_O、QFIELDNAME这2个字段。同时,需要在ALV显示内表中增加单位字段MEINS,并设置字段值为EA。注意,别忘了FIELDCAT中设置MEINS的NO_OUT
= 'X'。
如下例:设置2个数量字段不显示小数位,GT_TAB是ALV显示内表。
GS_TAB-MEINS = 'EA'.
MODIFY GT_TAB FROM GS_TAB TRANSPORTING MEINS
WHERE MEINS NE 'EA'.
CLEAR GS_TAB.
*&---------------------------------------------------------------------*
*&
FORM
FRM_ALV_INIT_FIELDCAT
*&---------------------------------------------------------------------*
FORM FRM_ALV_INIT_FIELDCAT.
ENDFORM.
" FRM_ALV_INIT_FIELDCAT
如果字段是可编辑的,还需要设置REF_TABLE、REF_FIELD,否则输入时小数点会提前。

加载中…