Date Amount formatting problems

date

  The DATA: lv_date the TYPE DATS.
     The CALL the FUNCTION ' DATE_CHECK_PLAUSIBILITY ' EXPORTING DATE = lv_date the EXCEPTIONS plausibility_check_failed = . 1 the OTHERS = 2 . The IF SY-SUBRC NE of 0. The " if it returns non-zero, then the date is not valid = gv_error ' X- ' gs_data-msgtp =. ' E ' . Light-gs_data = icon_red_light. gs_data-MSG = ' date format error ' . Error_flag = ' X- ' . ENDIF . the CALLFUNCTION 'CONVERT_DATE_TO_EXTERNAL' EXPORTING date_internal = lv_date IMPORTING date_external = gs_data-datbi EXCEPTIONS date_internal_is_invalid = 1 OTHERS = 2.

 

Money

http://blog.sina.com.cn/s/blog_5d3b01030100tv1b.html

https://blog.csdn.net/zhongguomao/article/details/80298971

    DATA l_internal_amount TYPE bseg-dmbtr.
    DATA  lc LIKE t001-waers .
    lc = 'CNY'.
    CLEAR:l_internal_amount.
    l_internal_amount = gs_excel-kbetr.
    CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
      EXPORTING
        currency        = lc
        amount_internal = l_internal_amount
      IMPORTING
        amount_external = l_internal_amount.
    gs_data-kbetr =  l_internal_amount.

The amount of negative sign problem

CONVERSION_EXIT_Z001_INPUT reducing the amount of negative sign function (decimal 2) 
CONVERSION_EXIT_Z001_OUTPUT advance amount minus function (decimal 2) 
Number of negative CONVERSION_EXIT_Z002_INPUT reduction function (decimal 3)

Uppercase characters converted amount

FUNCTION z_numeric_to_chinese.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(IV_MONEY) TYPE  BF_DMBTR
*"  EXPORTING
*"     VALUE(EV_MONEY) TYPE  STRING
*"  EXCEPTIONS
*"      WRONG_MONEY
*"----------------------------------------------------------------------


  iv_money = abs( iv_money ).
  DATA: scr(30) TYPE c, res(60) TYPE c,fen(2) TYPE c .
  DATA: len TYPE i, c1 TYPE i, c2 TYPE i, c3 TYPE i, c4 TYPE i.
  DATA: d1(1) TYPE c, d2(1) TYPE c, d3 TYPE i.
  DATA: digit(2)  TYPE c, weight(2) TYPE c.
  DATA: rule1(20) TYPE c VALUE '零壹贰叁肆伍陆柒捌玖'.
  DATA: rule2(30 ) the TYPE C of VALUE ' bisector pickup element picking Wan Bai Bai 1,000 thousand billion pickup Bai 1,000 Wan ' . 
  SCR = iv_money * 100 .
   CONDENSE SCR NO- the GAPS.
   The IF SCR = ' 0 ' . 
    RES = ' Nil ' .
   The ELSE . 
    len = strlen (SCR). 
    C1 = 0 . 
    D1 = ' 0 ' .
     the CLEAR RES.
     the DO len the TIMES . 
      C1= c1 + 1.
      c2 = len - c1.
      d2 = scr+c2(1) .
      IF d2 = '0'.
        d3 = 0.
      ELSE.
        d3 = d2.
      ENDIF.
      digit = rule1+d3(1) .
      c3 = ( c1 - 1 ) .
      weight = rule2+c3(1) .
      IF d2 = '0'.
        IF c1 = 3.
          digit = ''.
        ELSEIF c1 = 7.
          digit = ''.
          IF len > 10 .
            c4 = len - 10.
            IF scr+c4(4) = '0000'.
              weight = ''.
            ENDIF.
          ENDIF.
        ELSEIF c1 = 11.
          digit = ''.
        ELSEIF d1 = '0'.
          digit = ''.
          weight = ''.
        ELSE.
          weight = ''.
        ENDIF.
      ENDIF.
      CONCATENATE digit weight res INTO res .
      d1 = d2.
    ENDDO.
  ENDIF.
  len = strlen( res ) - 1.
  fen = res+len(1).
  IF fen <> '' .
    CONCATENATE res '' INTO ev_money.
  ELSE.
    ev_money = res.
  ENDIF.

ENDFUNCTION.

 

Guess you like

Origin www.cnblogs.com/ckstock/p/11550973.html