SAP_ABAP_编程基础_字符串处理_SHIFT / REPLACE / TRANSLATE / CONVERT TEXT / OVERLAY / SEARCH / STRLEN / CONCATE

SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读470次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/details/132469977


平时在  ‘ 工地搬砖 ’,很少关注基础技能,闲来无事,拿起来复习一下  ! 

实际在项目中用到的非常之少,所以说学编程,先学框架,在学细节 !,因为细节太多,学不完 !


1 移动字符串

按给定位置数移动字符串

SHIFT  [BY  PLACES] [].

将字段移动个位置。
如果省略 BY  PLACES,则将解释为一个位置。
如果是 0 或负值,则保持不变。
如果超过长度,则用空格填充。
可为变量。

对不同()选项,可以按以下方式移动字段
LEFT: 向左移动位置,右边用个空格填充(默认设置)。
RIGHT: 向右移动位置,左边用个空格填充。
CIRCULAR:向左移动位置,以便左边个字符出现在右边。

移动字符串到给定串位置

SHIFT  UP TO .

查找字段内容直到找到字符串并将字段移动到字段边缘。

如果中找不到,则将 SY-SUBRC 设置为 4 并且不移动。否则,将 SY-SUBRC 设置为0。

根据第一个或最后一个字符移动字符串

SHIFT  LEFT  DELETING LEADING  .
SHIFT  RIGHT DELETING TRAILING .

左边的第一个字符或右边的最后一个字符出现在中,该语句将字段向左或向右移动。
字段右边或左边用空格填充,可为变量。


2 替换字段内容

REPLACE  WITH  INTO  [LENGTH ].

中的替换

指定长度,则只替换模式的相关部分。

SY-SUBRC 的返回代码为0,则替换,否则为替换


3 大小写转换并替换字符串

TRANSLATE  TO UPPER CASE.

TRANSLATE  TO LOWER CASE.

TRANSLATE  USING .

根据字段中存储的替换规则替换字段的所有字符。
包含成对字母,其中每对的第一个字母用第二个字母替换。


4 转换为可排序格式

CONVERT TEXT  INTO SORTABLE CODE .

字符字段填充可排序目标字段
字段必须是类型 C且字段必须是类型 X ,最小长度为长度的16倍。

转换后按字母排序,否则是按内部编码顺序


5 覆盖字符字段

OVERLAY  WITH  [ONLY ].

的内容覆盖字段中包含中字母的所有位置。保持不变。
如果省略 ONLY ,则覆盖字段中所有包含空格的位置。


6 搜索字符串

SEARCH  FOR .

字段中搜索中的字符串。

成功SY-SUBRC 的返回代码值设置为0,并将 SY-FDPOS 设置为字段中该字符串的偏移量。
否则将 SY-SUBRC 设置为4。

格式:

  搜索(任何字符顺序)。忽略尾部空格

..  搜索,但是不忽略尾部空格

*  搜索以结尾的词

*  搜索以开始的词

搜索字符字段的各种选项():

ABBREVIATED

在字段中搜索包含中指定字符串的单词,其中字符可能被其它字符隔开。
单词和字符串的第一个字母必须相同。

STARTING AT 

在字段中搜索从开始的
结果 SY-FDPOS 参照相对于的偏移量而不是字段的开始。

ENDING AT 

在字段搜索直到位置

AND MARK

如果找到搜索串,则将搜索串中的所有字符(和使用 ABBREVIATED 时的所有字符)转换为大写形式。


7 获取字符串长度

[COMPUTE]  = STRLEN( ).


8 压缩字符串去空格

CONDENSE  [NO-GAPS].

去除字段中的前导空格并用一个空格替换其它空格序列。结果是左对齐单词,每个单词用空格隔开。
如果指定附加的 NO-GAPS,则去除所有空格。


9 连接字符串

CONCATENATE  ...  INTO  [SEPARATED BY ].

连接字符串并将结果赋给

该操作忽略尾部空格。

附加 SEPARATED BY 允许指定字符字段,它放置在单个字段间已定义的长度中。


10 拆分字符串

SPLIT  AT  INTO  ... .

在字符字段搜索分界字符串,并将分界符之前和之后的部分放到目标字段 ... 中。


11 分配字符串部分

MOVE  TO  PERCENTAGE 

 [RIGHT].

将左对齐的字符字段的百分比

(或如果用 RIGHT选项指定,则为右对齐)复制到

值可为 0 和 100 之间的任何数。将要从复制的长度取整为下一个整数。

如果语句中某一参数不是类型 C,则忽略参数 PERCENTAGE。


你可能感兴趣的:(Abap编程,ABAP,SAP)