您的位置:首页 > 数据库

SAP:ABAP基础篇--字符串截取

2010-02-01 09:35 211 查看
字符串截取的多种方式,笔记

 

1. 数字类型(numeric types)

(1).类型

   Abap支持三种数字类型:

     I:整型

       范围:-2147483648 to 2147483647

     P:16位

       范围:取决于小数位的长度

       注意事项:为了确保计算正确,必须在程序属性中把fixed point arithmetic选中,参考图1。

     F:浮点类型

       范围:+/- 2.2250738585072014E-308 to 1.7976931348623157E+308

       注意事项:因为长度的关系,所以尽量不要用两个该类型的数据相等作为判断条件

(2).定义方法

     [f1] type I.

     [f1] type P decimals [num].

     [f1] type F.

(3).使用

     I类型:

       主要是用于计数器,数量,索引,偏移量等等

       例如:爱ERP网      www.LoveErp.com

         *取得内表行数

         DATA: V_COUNTER TYPE I.

         V_COUNTER = LINES( I_TAB ).

         *根据索引读取内表中的数据

         DATA: V_INDEX TYPE I.

         READ TABLE I_TAB INDEX V_INDEX.

         *截取字符串

         DATA: V_OFFSET_START TYPE I,

               V_OFFSET_LENGTH   TYPE I,

               V_C(10) TYPE C,

                 L_C(3)   TYPE C.

         V_C = ‘ABCDEFGHIJ’.

         V_OFFSET_START = 3.

         V_OFFSET_LENGTH   = 5

         L_C = V_C+V_OFFSET_START(V_OFFSET_LENGTH).

         RESULT:

           L_C = ‘DEFGH’.

     P类型:

       主要和数据库中的QUAN类型关联;

       常用场合:大小,长度,重量,货币等有单位的场合

       *根据单位把数量写入字符型变量中

       WRITE:[数量] to [字符型变量] unit [单位].

     F类型:

       常用场合:计算

字符类型:

   一.包括:

         C:字符

         N:应该算是字符型的数字

         D:日期类型,标准长度8(YYYYMMDD),注意其初期值的判断,不是space,而是'00000000',判断语句可以使用is initial or not。

         T:时间类型,标准长度6(HHMMSS)

   二.具体使用:爱ERP网      www.LoveErp.com

     1.对字符串的操作

       1).SHIFT:截断字符串

         SHIFT {c} [BY {n} PLACES] [{mode}].:

            
作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则字符串不变。如果n超出字符串的长度,则字符串变空,所以在做
此操作的时候要注意n的指定。可以首先获得该字符串的长度,方法:len=STRLEN(C)。

                 Mode:指定字符串截断的方向。

                   LEFT:从左边截断

                   RIGHT:从右边截断

                   CIRCULAR:把左边的字符放到右边。

           SHIFT {c} UP TO {str} {mode}.:

             作用:把字符串中在str以前的字符都去掉,同样可以指定mode,原理同上。

           SHIFT {c} LEFT DELETING LEADING {str}.

           SHIFT {c} RIGHT DELETING TRAILING {str}.:

             作用:这两个语句就是把字符串c中前的(LEFT)或者后的(RIGHT)的字符str都去掉。

           以上语句常用的场合:

             A.去掉字符串中的前导字符。例如:如果alv中定一了一个字段是10位的字符,里面放的是so,po等number,而你不想显示前面的0,那么就可以这样做:SHIFT {c} LEFT DELETING LEADING 0.

             B.已知某个字符串中包含固定的字符,想把这个固定字符前面的字符删掉,那么可以使用:SHIFT {c} UP TO
{str}。例如:某个物料,通过增强mga00002和mga00003对其加了前缀,这个前缀部分是在某固定值表中取得的数据,在具体显示中,要把其
前缀去掉。如TE-MRP-MAT1中想把te去掉,mrp表示该物料是跑mrp的,需求要求把te-去掉,mrp可以在固定值表中取得,则可以使用
SHIFT {c} UP TO 'MRP'.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sap c types up 数据库 table