zoukankan      html  css  js  c++  java
  • SAP数值金额转大写函数

    FUNCTION ZFUN_CONVERT_NUMERIC_TO_CHINES.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     REFERENCE(IV_MONEY) TYPE  FAGLFLEXA-HSL
    *"  EXPORTING
    *"     REFERENCE(EV_MONEY) TYPE  C
    *"  EXCEPTIONS
    *"      WRONG_MONEY
    *"----------------------------------------------------------------------

      IF IV_MONEY 0.
        EV_MONEY ''.
        EXIT.
      ENDIF.
      DATA:MONEY_STR(33).
      MONEY_STR IV_MONEY.
      CONDENSE MONEY_STR NO-GAPS.
      IF MONEY_STR CN '0123456789. '.
        RAISE WRONG_MONEY.
      ENDIF.
      DATA:I TYPE I.
      IF MONEY_STR CS '.'.
        SY-FDPOS + 1.
        MONEY_STR+SY-FDPOS MONEY_STR+I.
      ENDIF.
      CONDENSE MONEY_STR NO-GAPS.
      DATA:UNITS_OFF TYPE I,
            CURNT_OFF TYPE I.
      DATA:LASTD TYPE N,CURNTD TYPE N.
      DATA:CWORD(2),WEIGHT(2).
      DATA:UNITS(30VALUE '分角元拾佰仟万拾佰仟亿拾佰仟万',
            DIGTS(20VALUE '零壹贰叁肆伍陆柒捌玖'.
    * clear:ev_money,units_off.
      LASTD 0.
      CURNT_OFF STRLENMONEY_STR 1.
      WHILE CURNT_OFF >= 0.
        CURNTD MONEY_STR+CURNT_OFF(1).
        CURNTD.
        CWORD DIGTS+I(1).
        WEIGHT UNITS+UNITS_OFF(1).
        UNITS_OFF / 1.
        IF CURNTD 0.             "Current digit is 0
          IF I OR I OR I 10.
            CLEAR:CWORD.
            IF CURNT_OFF 0.
              CLEAR:WEIGHT.
            ENDIF.
        ELSEIF LASTD 0.
            CLEAR:CWORD,WEIGHT.
          ELSE.
            CLEAR:WEIGHT.
          ENDIF.
        ENDIF.
        CONCATENATE CWORD WEIGHT EV_MONEY INTO EV_MONEY.
        LASTD CURNTD.
        SUBTRACT FROM CURNT_OFF.
        ADD TO UNITS_OFF.
      ENDWHILE.
      IF EV_MONEY NS ''.
        CONCATENATE EV_MONEY 'INTO EV_MONEY.
      ELSE.
        CWORD EV_MONEY.
        IF CWORD ''.
          SHIFT EV_MONEY BY PLACES.
        ENDIF.
      ENDIF.




    ENDFUNCTION.

  • 相关阅读:
    Spring IOC、AOP实现源码分析
    mybatis源码分析
    Android 屏幕适配
    读取sd卡下图片,由图片路径转换为bitmap
    SVN的trunk、branch、tag(二)
    SVN中tag branch trunk用法详解
    SVN使用教程之——分支、合并
    svn回滚版本2
    svn回滚版本1
    TortoiseSVN中分支和合并实践
  • 原文地址:https://www.cnblogs.com/coderfarmer/p/13401745.html
Copyright © 2011-2022 走看看