• 如何解决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:添加主界面窗口)
    Qfile
    QButtonGroup
    comboBox
    QLineEdit
    QMessageBox
    实现简单的计算器(控制器代码)
    实现简单的计算器(计算功能模块实现)
    网络编程基础【HTML编程】
    网络编程基础【正则表达式】
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157411.html
Copyright © 2020-2023  润新知