Chinaunix首页 | 论坛 | 博客

afu

  • 博客访问: 15146
  • 博文数量: 4
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-05 17:09
文章分类

全部博文(4)

文章存档

2011年(1)

2008年(3)

我的朋友
最近访客

分类:

2008-03-06 09:12:08



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.
阅读(1977) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~