zoukankan      html  css  js  c++  java
  • 如何解决ALV的负数符号前显的问题

    1、建立自定义函数
    1.1 整数显示
    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 浮点数显示
    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、调用函数就可达到负数符号前显的效果。
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          it_fieldcat                       = lt_fcat
        tables
          t_outtab                          = gt_outtab
        exceptions
          program_error                     = 1
          others                            = 2.

  • 相关阅读:
    文字超出2行显示省略号
    js调试工具console方法详解
    下厨如有神
    画地为牢——广州经济困局
    数字桩和记忆术
    想象力提高记忆能力的重要能力
    三元色
    轻松自我介绍三步走——曼陀罗思考法
    英语单词_巩固方法草稿A
    http、TCP/IP协议与socket之间的区别
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157411.html
Copyright © 2011-2022 走看看