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