ABAP技巧(二)

把数据中后面的负号放到最前面

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'

        CHANGING

          VALUE = ITAB-****

OTHERS = 1.

 

转换汇率:

IF KTAB-WAERK NE 'USD' AND KTAB-WAERK <> ''.

        IF KTAB-KURSK < 0.

          DTAB-NETWR = ABS( DTAB-NETWR / KTAB-KURSK ).

        ELSE.

          DTAB-NETWR = DTAB-NETWR * KTAB-KURSK.

        ENDIF.

ENDIF.

 

去掉字符串中某个字符后面的字符

 

DATA: STRING(20) VALUE 'zuixiao$ yao '.

DATA: DATA1(7).

DATA: NUM TYPE I.

SEARCH STRING FOR '$'.

 

IF SY-SUBRC = 0.

  NUM = SY-FDPOS.

  DATA1 = STRING(NUM).

ENDIF.

WRITE:/ DATA1.

 

 

CONCATENATE 将一个整型的变量 变为字符型的

如: DATA1 = 123456   =>>>>   ‘123456’

CONCATENATE ‘’’’ 123456 ‘’’’ INTO

‘’’’ (4个单引号为1个单引号)

 

 

怎么取一个日期格式字段的最大日期和最小日期?

: AUDAT-HIGH(最大) AUDAT-LOW(最小)

 

 

汇率转换:

DATA: RATE0 LIKE BAPI1093_0 OCCURS 0 WITH HEADER LINE.

DATA: RATE1 LIKE BAPI1093_0 OCCURS 0 WITH HEADER LINE.

DATA: FACTOR(10) TYPE P DECIMALS 3 .

 

    IF EKKO-WAERS ='JPY'.

      EKPO-NETPR = EKPO-NETPR * 100.

    ENDIF.

 

    IF EKKO-WAERS NE 'USD'.

      CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'

        EXPORTING

          RATE_TYPE  = 'M'

          FROM_CURR  = EKKO-WAERS

          TO_CURRNCY = ‘USD’

          DATE       = EKKO-AEDAT

        IMPORTING

          EXCH_RATE  = RATE1.

 

      IF NOT RATE1-EXCH_RATE IS INITIAL.

        FACTOR =  RATE1-FROM_FACTOR / RATE1-EXCH_RATE *

                  RATE1-TO_FACTOR.

      ELSE.

        FACTOR =  RATE1-EXCH_RATE_V * RATE1-FROM_FACTOR_V

                  / RATE1-TO_FACTOR_V .

      ENDIF.

      ITAB-PR_AMT = T_GR-NETPR / FACTOR / T_GR-PEINH.

    ELSE.

      ITAB-PR_AMT = T_GR-NETPR / T_GR-PEINH.

    ENDIF.

 

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值