1.转换例程函数
CONVERSION_EXIT_ZSIGN_OUTPUT
FUNCTION conversion_exit_zsign_output.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" REFERENCE(INPUT)
*" EXPORTING
*" REFERENCE(OUTPUT)
*"----------------------------------------------------------------------
DATA: output1(20),
output2(20),
outnum(16) TYPE p DECIMALS 2.
IF input IS NOT INITIAL.
outnum = input.
IF input >= 0.
WRITE outnum TO output1.
ELSE.
outnum = outnum * ( -1 ).
WRITE outnum TO output1.
CONCATENATE '-' output1 INTO output1.
ENDIF.
ELSEIF input = '0.00'.
WRITE outnum TO output1.
ENDIF.
CONDENSE output1 NO-GAPS.
WRITE output1 TO output2 RIGHT-JUSTIFIED.
output = output2.
CLEAR : output2.
ENDFUNCTION.
2.增强
2.1 alv的汇总和明细输出,负号提前增强
隐式增强,位置:程序RFIDCN_ACCTBLNF05, FORM pbo_build_grid_balance


ENHANCEMENT 1 ZIDCNACCTBLN_ENH01. "active version
LOOP AT ct_fieldcat_balance ASSIGNING FIELD-SYMBOL(<fs_fcat_balance>).
CASE <fs_fcat_balance>-fieldname.
WHEN 'BALANCE' OR 'BALANCE_CUM' OR 'BGN_BALANCE'
OR 'DEBIT' OR 'CREDIT'
OR 'SALES' OR 'PLCUL' OR 'YPLCUL'.
<fs_fcat_balance>-edit_mask = '==ZSIGN'. "负号提前 Jeff 20260601
ENDCASE.
ENDLOOP.
LOOP AT ct_fieldcat_detail ASSIGNING FIELD-SYMBOL(<fs_fcat_detail>).
CASE <fs_fcat_detail>-fieldname.
WHEN 'BALANCE' OR 'BALANCE_CUM' OR 'BGN_BALANCE'
OR 'DEBIT' OR 'CREDIT'
OR 'SALES' OR 'PLCUL' OR 'YPLCUL'.
<fs_fcat_detail>-edit_mask = '==ZSIGN'. "负号提前 Jeff 20260601
ENDCASE.
ENDLOOP.
ENDENHANCEMENT.
2.2 alv的title文本,负号提前
modification,位置:程序RFIDCN_ACCTBLNF05,refresh_balance_grid

3.效果
