您的位置:首页 > 其它

如何解决ALV的负数符号前显的问题

2011-11-25 16:15 141 查看
1、建立自定义函数

FUNCTION CONVERSION_EXIT_Z0002_OUTPUT.

*"----------------------------------------------------------------------

*"*"Local interface:

*" IMPORTING

*" REFERENCE(INPUT)

*" EXPORTING

*" REFERENCE(OUTPUT)

*"----------------------------------------------------------------------

DATA: OUTPUT1(12) TYPE C,

OUTDATUM TYPE INT4.

IF INPUT <> SPACE.

OUTDATUM = INPUT.

if input > 0.

move OUTDATUM TO OUTPUT .

else.

OUTDATUM = OUTDATUM * ( -1 ).

move OUTDATUM TO OUTPUT1 .

CONCATENATE '-' output1 into output.

CONDENSE output NO-GAPS .

endif.

ELSE.

OUTPUT = SPACE.

ENDIF.

ENDFUNCTION.

2、设置ALV输出格式字段格式

clear ls_fcat.

ls_fcat-fieldname = 'INT4'.

ls_fcat-inttype = 'I'.

ls_fcat-intlen = 10.

ls_fcat-col_pos = l_lin.

ls_fcat-seltext_s = ls_fcat-fieldname.

ls_fcat-seltext_m = ls_fcat-fieldname.

ls_fcat-seltext_l = ls_fcat-fieldname.

ls_fcat-edit_mask = '==Z0002'.

append ls_fcat to ct_fcat.

3、调用函数就可达到负数符号前显的效果。

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

it_fieldcat = lt_fcat

tables

t_outtab = gt_outtab

exceptions

program_error = 1

others = 2.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: