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'.
       2).REPLACE:替换字符串
         REPLACE {str1} WITH {str2} INTO {c} [LENGTH {l}].:
             作用:把字符串c中的str1替换成str2,如果指定l,就是指定了替换的长度。如果替换成功,则SY-SUBRC设置成0。
             常用场合:
                 字符串的替换操作比较常用,需要注意的是l的指定长度。
       3). TRANSLATE:转换字符串
           TRANSLATE {c} TO UPPER CASE.
           TRANSLATE {c} TO LOWER CASE.:
             作用:字符串的大小写的转换
           TRANSLATE {c} USING {r}. :
             作用:根据规则r转换字符串c
           常用场合:
             Sap系统一般都是使用大写字母的,但是某些特定的字段却是用小写字母来标记的,在操作这些字段的时候就需要注意大小写的转换了。转换规则倒是不太常用,到现在我还没有遇到过。
       4). SEARCH:查找字符串
           SEARCH {c} FOR {str} {options}.:
             作用:在字符串c中查找str,如果找到了,SY-SUBRC为0, SY-FDPOS为找到字符串的具体位置。
             需要说明的地方:注意模式的使用
                 指定str:查找str,str中后面的空格忽略
                 指定.str.:查找str,包含了str中尾部的空格
                 指定*str:查找以str结尾的字符串
                 指定str*:查找以str开头的字符串
               {options}的指定:
                 主要用到的就是:STARTING AT {n1}指定开始位置
                                 ENDING AT {n2}指定结束位置
             常用场合:
                 一般用来判断某个字符串是否符合条件。也可以结合其他语句对字符串进行操作。
       5).CONDENSE:去掉字符串中的空格
           CONDENSE {c} [NO-GAPS].:
             作用:去掉字符串中的前面和后面的空格,如果指定NO-GAPS,则去掉字符串中的所有空格。
             常用场合:获得字符串的精确长度,用于判断。
       6).SPLIT:拆分字符串
           SPLIT {c} AT {del} INTO {c1} ... {cn}.
             作用:按照分割字符del把字符串c分割成c1…cn。
           SPLIT {c} AT {del} INTO TABLE {itab}.
               作用:按照分割字符del把c分割,然后放到内表中的相应字段
           常用场合:
               文件名的分割,根据完整的文件路径加文件名把文件名分割出来。
               难点:无法确定要分割多少次.
               解决方法:两两分割,到最后的那个就是了。例如:str=c:\dir1\dir2\dir3\file
                 Split str at '\' into str1 str2.
                 Find str2 for '/'.
                 Check sy-subrc = 0.
                 Do.
                   Find str2 for '/'.
                   If sy-subrc = 0.
                     Split str2 into str1 str2.
                   Else.
                     Exit.
                   Endif.
                 Enddo.
               文件上传的类型是字符串,把其分割后放到内表中。例如上面的问题:
                 data: begin of itab occurs 0 ,
                       col1(30) type c,
                     end of itab.
                 Split str at '\' into table itab.
                 describe table itab lines line.
                 Read table itab index line.
                 Itab-col1就是file
       7).CONCATENATE:连接字符串
           CONCATENATE {c1} ... {cn} INTO {c} [SEPARATED BY {s}].
             作用:把c1…cn用s分隔连接到c中
             常用场合:文件下载,对文件中的字段编辑。

abap 字符串处理相关推荐

  1. 【转载】ABAP 字符串 ‘‘ || `` 区别

    转载学习一下,正好用到,谢谢. DATA ts TYPE TABLE OF string. ts = VALUE #( ( 'A' ) ). 会报错的问题,报错为类型冲突. 从而重新理解了char以及 ...

  2. ABAP 字符串操作

    1).SHIFT:截断字符串 SHIFT {c} [BY {n} PLACES] [{mode}].: 作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则字符串不变 ...

  3. ABAP字符串系列操作

    字符串移位 shift <c> [by <n> places] [<modes>] modes:1.空白,字符串向左移一位 ​ 2.left,字符串向左移n位 ​ ...

  4. abap 字符串操作_ABAP-字符串常用处理方法

    SPLIT dobj AT sep INTO { {result1 result2 ...} | {TABLE result_tab} } 必须指定足够目标字段.否则,用字段dobj的剩余部分填充最后 ...

  5. ABAP 字符串处理 CONCATENATE SPLIT STRLEN CONDENSE SEARCH OVERLAY

    CONCATENATE连接字符串 CONCATENATE会去除字符串后面的空格 CONCATENATE str1 str2 INTO str SEPARATED BY ' '. 两个拼接字符会以空格分 ...

  6. 一段让人瑟瑟发抖的ABAP代码

    昨天11月1日是万圣节,Jerry在继续忙着调研SAP Commerce Cloud里的产品主数据管理.晚上回家到SAP国外的社交媒体上一看,好热闹啊.国外的SAP从业者们纷纷以各种各样的方式庆祝万圣 ...

  7. SAP专家培训之Netweaver ABAP内存管理和内存调优实践

    培训者:SAP成都研究院开发人员Jerry Wang 1. Understanding Memory Objects in ABAP Note1: DATA itab WITH HEADER LINE ...

  8. 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)试读版

    本专栏计划的文章数在 150 篇左右,到 2022年9月12日为止,目前已经更新了 51 篇,专栏完成度为 34% 零基础 ABAP 学习教程系列文章的目录 1. ABAP 标准培训教程 BC400 ...

  9. 关于 SAP ABAP 报表的多语言显示问题试读版

    本专栏计划的文章数在 150 篇左右,到 2022年11月9日为止,目前已经更新了 63 篇,专栏完成度为 42% 笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大 ...

最新文章

  1. win10和win7游戏测试软件,是时候和Win7说再见了!Win10游戏性能最多领先50%
  2. mysql 虚表_mysql虚拟表
  3. 初窥Go module
  4. 分布式流媒体直播服务器系统 For Linux
  5. .NET 源代码库指南
  6. 【ArcGIS风暴】ArcGIS 10.2栅格计算器实用公式大全(经典珍藏版)
  7. concatenate python_python中numpy.concatenate()函数的使用
  8. jQuery 3 有哪些新东西
  9. 牛客网暑期ACM多校训练营7: C. Bit Compression(DFS+预处理)
  10. matlab保存数据用什么指令_Matlab数据处理——数据的保存和读取方法操作
  11. 机器学习--支持向量机(六)径向基核函数(RBF)详解
  12. 德国IT行业薪酬水平大揭秘 v1.0
  13. 结构光3D成像原理及应用
  14. 数字逻辑电路设计(实验测试题)
  15. Python 灰帽子笔记之调试器
  16. mysql删除与另外一张表有交集的表的记录
  17. 小米手机的BUG,自动安装 APP 的错觉
  18. Web验证的过去现在与未来
  19. Wi-Fi:802.11 物理层和发射机测量概述
  20. java毕业设计水果网店管理系统(附源码、数据库)

热门文章

  1. 2013年最 “酷”科技产品回顾
  2. linux 服务器安装mysql5.6
  3. 登录界面-安全密码设计
  4. 项目文档管理的一些想法
  5. JS:2.1,流程控制(if,switch)高级
  6. Spring中配置数据源的4种形式
  7. redis cluster配置文件和集群状态详解
  8. Cisco路由器AAA配置
  9. extern的关键字用法(C# 参考)
  10. 浅谈设计模式01-策略模式