ABAP:转换函数

    我们在Upload/Download数据的时候,会遇到一些数据需要检查,一些数据需要转换,今天把这些东西做一下总结,方便以后使用.

    经常需要检查转换的列表:

    1.时间日期

    2.单位

    3.WBS,Master Data中的前面的0,归类为alpha转换

    4.数量,往往跟随单位

    下面我们就一一把这些需要的检查转换等总结一下:

    关于时间:

函数: CONVERT_TIME_INPUT(6->8)

功能: 把6位的时间转换成8位带有分隔符的时间格式

用法: 我们在上传文件的时候,往往使用字符串格式,所以经常使用6位的时间格式,而在sap系统中,往往使用的是带有分隔符的格式,于是这个转换是必要的.同时,这个函数可以检查时间格式是否正确,只要你把PLAUSIBILITY_CHECK这个参数设置成为'X'.

ABAP语句: replace(8->6)

这种转换就很简单了,只要写一下就搞定(ls为8位的时间格式):

        REPLACE ALL OCCURRENCES OF ':' IN ls WITH space.

        CONDENSE ls.

关于日期:

两个函数,分别是internal和external

        CONVERT_DATE_TO_INTERNAL

        CONVERT_DATE_TO_EXTERNAL

关于具体用法,我想就不用多提了,因为这两个函数使用起来非常简单.

    关于单位:

关于单位的转换我们基本上知道以下四个函数就能搞定:

        CONVERSION_EXIT_CUNIT_INPUT

        CONVERSION_EXIT_CUNIT_OUTPUT

        CONVERSION_EXIT_LUNIT_INPUT

        CONVERSION_EXIT_LUNIT_OUTPUT

前面两个是3位的,后面两个是6位的.

    关于alpha:

两个函数:

        CONVERSION_EXIT_ALPHA_INPUT

        CONVERSION_EXIT_ALPHA_OUTPUT

特殊的转换:

        WBS:

          CONVERSION_EXIT_KONPD_INPUT

          CONVERSION_EXIT_KONPD_OUTPUT

        Material:

          CONVERSION_EXIT_MATN1_INPUT

          CONVERSION_EXIT_MATN1_OUTPUT

    关于数量:

只需要一个函数:

        CHECK_AND_CONVERT_NUMERICS

注意里面参数的使用,最常用也是最简单的使用方法:

          DMZEI: 这个输入你的小数点的格式(. Or ,)

          DTYPE: 数据类型(QUAN,CURR,DEC)

          EFELD: 字符串类型的数值,可以带正负号

          IMP_DECIMALS: 小数点位数

理论上只需要输入以上四个参数就足够了,如果你想使用更复杂的功能,那就需要知道你这个数字类型的变量要放到那个程序的那个屏幕上,基本上我们也用不到.    

    补充:  由hand沈威同志提出

关于数量的转换函数:CHAR_FLTP_CONVERSION

经过测试,也非常好用,大家可以根据自己的需要选择,非常感谢沈同学的补充.

   

源文档 <http://tech.it168.com/a2009/0731/616/000000616615.shtml>

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值