Alv 負號提前

2009-8-11 09:22

Jack Wu的自定義函數(shù)!

1、建立自定義函數(shù)

1.1 整數(shù)顯示

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.

1.2 浮點數(shù)顯示

FUNCTION conversion_exit_zsign_output.

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

*"*"Local interface:

*"? IMPORTING

*"? ? REFERENCE(INPUT)

*"? EXPORTING

*"? ? REFERENCE(OUTPUT)

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

? DATA: output1(19)? TYPE c,

? ? ? ? output2(19),

? ? ? ? outdatum? TYPE p DECIMALS 2.

? IF? not input is initial.

? ? outdatum = input.

? ? IF input > 0.

? ? ? WRITE outdatum TO output1 ."RIGHT-JUSTIFIED .

? ? ? CONCATENATE ' ' output1 INTO output1.

? ? ELSE.

? ? ? outdatum = outdatum * ( -1 ).

? ? ? WRITE outdatum TO output1 ."RIGHT-JUSTIFIED.

? ? ? CONCATENATE '-' output1 INTO output1.

? ? ENDIF.

? ELSE.

*? ? output = '0.00'.

? ? CLEAR output1.

? ENDIF.

? CONDENSE output1 NO-GAPS .

? WRITE output1 TO output2 RIGHT-JUSTIFIED .

? output = output2.

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、調(diào)用函數(shù)就可達到負數(shù)符號前顯的效果。

? call function 'REUSE_ALV_GRID_DISPLAY'

? ? exporting

? ? ? it_fieldcat? ? ? ? ? ? ? ? ? ? ? = lt_fcat

? ? tables

? ? ? t_outtab? ? ? ? ? ? ? ? ? ? ? ? ? = gt_outtab

? ? exceptions

? ? ? program_error? ? ? ? ? ? ? ? ? ? = 1

? ? ? others? ? ? ? ? ? ? ? ? ? ? ? ? ? = 2.

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容