コンテンツフレーム起動

項目内容の置換 文書を SAP ライブラリストラクチャに組み込む

構造の一部を別の文字列で置き換える場合には、 REPLACE 命令を使用してください。

構文

REPLACE < 文字列 1> WITH < 文字列 2> INTO <c> [LENGTH <l>].

項目 <c> にパターン < 文字列 1> の先頭から長さ <l> までの部分が含まれるかどうかが調べられます。長さの指定がない場合、パターン < 文字列 1> 全体の長さが検索されます。

次に、項目 <c> 内に現れた最初のパターン < 文字列1 > が文字列 < 文字列2 > と置換されます。長さ <l> を指定してある場合は、それに対応する部分だけが置換されます。

システム項目 SY-SUBRC のリターンコードの値が0に設定されている場合、これは < 文字列1 > が項目 <c> 内で検出され、 < 文字列2 > により置換されたことを示します。0以外のリターンコード値は、置換が行われなかったことを示します。

< 文字列 1> < 文字列 2> および <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 の残りの部分が項目の端まで埋められます。

 

 

コンテンツフレーム終了