OVERLAY 命令により、文字列が別の文字列によって上書きされます。
OVERLAY c1 WITH c2 [ONLY str].
この命令により、項目 c1 のすべての位置のうち、str の中に出現する文字を含む位置は、c2 の内容によって上書きされます。c2 の内容は変更されません。ONLY str を省略すると、c1 のすべての位置のうち、スペースを含む位置が上書きされます。
c1内の少なくとも1 文字が置換された場合、sy-subrc に 0 が設定されます。その他の場合には sy-subrc に 4 が設定されます。c1 が c2 よりも長い場合には c2 の長さまでのみが上書きされます。
DATA: t(10) TYPE c VALUE 'a c e g i ',
string LIKE t,
over(10) TYPE c VALUE 'ABCDEFGHIJ',
str(2) TYPE c VALUE 'ai'.
string = t.
WRITE string.
WRITE / over.
OVERLAY string WITH over.
WRITE / string.
string = t.
OVERLAY string WITH over ONLY str.
WRITE / string.
出力:
a c e g i
ABCDEFGHIJ
aBcDeFgHiJ
A c e g I