REPLACE(替换字段内容)

语法:

REPLACE <str1> WITH <str2> INTO <c> [LENGTH <l> ].

ABAP/4 搜索字段 <c> 中模式 <str1> 前 <l> 个位置第一 次出现的地 方。如果未 指定长度, 按全长度搜 索模式 <str1>。 然后,语句 将模式 <str1> 在字段 <c> 中第一次出 现的位置用 字符串 <str2> 替换。如果 指定长度<l>, 则只替换模 式的相关部 分。 如果将系统 字段 SY-SUBRC 的返回代码 设置为0, 则说明在 <c> 中找到 <str1> 且已用<str2>替换。非 0 的返回代码 值意味着未 替换。

<str1>、 <str2> 和 <len> 可为变量。

代码:

DATA: T(10) VALUE 'abcdefghij',
      STRING LIKE T,
      STR1(4) VALUE 'cdef',
      STR2(4) VALUE 'klmn',
      STR3(2) VALUE 'kl',
      STR4(6) VALUE 'klmnop',
      LEN TYPE I VALUE 2.
STRING = T.
WRITE STRING.
REPLACE STR1 WITH STR2 INTO STRING.
WRITE / STRING.
STRING = T.
REPLACE STR1 WITH STR2 INTO STRING LENGTH LEN.
WRITE / STRING.
STRING = T.
REPLACE STR1 WITH STR3 INTO STRING.
WRITE / STRING.
STRING = T.
REPLACE STR1 WITH STR4 INTO STRING.
WRITE / STRING.

结果显示:

abcdefghij
abklmnghij
abklmnefgh
abklghij
abklmnopgh

请注意,在最后一行中字段 STRING 是如何在右 边截断的。长度为 4 的搜索模式 ‘cdef’ 用长度为6的 ‘klmnop’ 替换。然后 ,填充字段 STRING 的剩余部分直到字段结尾。

猜你喜欢

转载自www.cnblogs.com/yjyongil/p/10494565.html