zoukankan      html  css  js  c++  java
  • 负号显示

    最简单的一种:

    CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
          CHANGING
            value = value.

    还有就是自己写函数等了

    构建ALV的FIELDCATE时,设置 edit_mask = '==XXXXX',建立函数CONVERSION_EXIT_XXXXX_OUTPUT设置输出为负号提前,之后调用ALV显示函数,系统会自动调用函数CONVERSION_EXIT_XXXXX_OUTPUT
    
    
    
    
     
    
    
    
    
      FUNCTION CONVERSION_EXIT_ZMENGE_OUTPUT.
    
    
    
    
    *"----------------------------------------------------------------------
    
    
    
    
    *"*"Local interface:
    
    
    
    
    *"  IMPORTING
    
    
    
    
    *"     REFERENCE(INPUT) TYPE  ANY
    
    
    
    
    *"  EXPORTING
    
    
    
    
    *"     REFERENCE(OUTPUT) TYPE  ANY
    
    
    
    
    *"----------------------------------------------------------------------
    
    
    
    
      OUTPUT = INPUT.
    
    
    
    
      CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
    
    
    
    
        CHANGING
    
    
    
    
          VALUE = OUTPUT.
    
    
    
    
    ENDFUNCTION.
    
    
    
    
     
    
    
    
    
    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.       
    
    
    方法1:把字段设置为CHAR型,拼接字符串负号自然可以提前显示。
    
    
     
    
    
    方法2:构建ALV的FIELDCATE时,设置 edit_mask = '==XXXXX',建立函数CONVERSION_EXIT_XXXXX_OUTPUT设置输出为负号提前,之后调用ALV显示函数,系统会自动调用函数CONVERSION_EXIT_XXXXX_OUTPUT
    
    
     
    
    
      FUNCTION CONVERSION_EXIT_ZMENGE_OUTPUT.
    
    
    *"----------------------------------------------------------------------
    
    
    *"*"Local interface:
    
    
    *"  IMPORTING
    
    
    *"     REFERENCE(INPUT) TYPE  ANY
    
    
    *"  EXPORTING
    
    
    *"     REFERENCE(OUTPUT) TYPE  ANY
    
    
    *"----------------------------------------------------------------------
    
    
      OUTPUT = INPUT.
    
    
      CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
    
    
        CHANGING
    
    
          VALUE = OUTPUT.
    
    
    ENDFUNCTION.
    
    
     
    
    
    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.
  • 相关阅读:
    【七款炫酷的页面特效】
    【PHP环境-WampServer踩坑】
    【Elasticsearch在winodws系统启动报could not find java+闪退】
    【Vue-入门笔记-7】
    关于ios的光标和键盘回弹问题
    AES加密然后ajax传输数据
    文件进行MD5计算
    jqGrid 常用 总结 -2
    关于页面传参,decodeURI和decodeURIComponent
    js防抖和节流
  • 原文地址:https://www.cnblogs.com/huangjianisgood/p/2920801.html
Copyright © 2011-2022 走看看