博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

afu

afu7548.cublog.cn
ALV中的负数符号提前


ALV中的负数符号提前
rec_fieldcat-edit_mask = '==ZSIGN'.
上面的语句会在ALV执行中调用下面的Function,这个Function需要在SE37中手动建立。

CONVERSION_EXIT_ZSIGN_OUTPUT

下面是具体的代码。大家可以根据实际情况修改。
FUNCTION CONVERSION_EXIT_ZSIGN_OUTPUT.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(INPUT)
*"  EXPORTING
*"     REFERENCE(OUTPUT)
*"----------------------------------------------------------------------

DATA:      output3 type string .

 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 .
  output3 = output1.
  output = output3.




ENDFUNCTION.

发表于: 2008-03-06,修改于: 2008-03-06 09:12,已浏览142次,有评论0条 推荐 投诉

给我留言
版权所有 ChinaUnix.net 页面生成时间:0.01398