关于upload文件中常用的检查

引用:翱翔云天

我们在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

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

原文地址:https://www.cnblogs.com/wequst/p/1513274.html