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照雁、調用函數(shù)就可達到負數(shù)符號前顯的效果。
? call function 'REUSE_ALV_GRID_DISPLAY'
? ? exporting
? ? ? it_fieldcat? ? ? ? ? ? ? ? ? ? ? = lt_fcat
? ? tables
? ? ? t_outtab? ? ? ? ? ? ? ? ? ? ? ? ? = gt_outtab
? ? exceptions
? ? ? program_error? ? ? ? ? ? ? ? ? ? = 1
? ? ? others? ? ? ? ? ? ? ? ? ? ? ? ? ? = 2.