sapdev logo background
sapdev logo sapdev logo
Comments

ABAP REPLACE OPTIONS Statement syntax, information and example SAP source code



Return to Statement index



REPLACE - options

Short Reference

ABAP Syntax ... [{RESPECTING|IGNORING} CASE]
[REPLACEMENT COUNT rcnt]
{ {[REPLACEMENT OFFSET roff]
[REPLACEMENT LENGTH rlen]}
| [RESULTS result_tab|result_wa] } ...

ABAP_ADDITIONS:
1 ... {RESPECTING|IGNORING} CASE
2 ... REPLACEMENT COUNT rcnt
3 ... REPLACEMENT OFFSET roff
4 ... REPLACEMENT LENGTH rlen
5 ... RESULTS result_tab|result_wa

What does it do? These additions modify the statement REPLACE pattern IN and provide advanced evaluation options. The addition CASE can be used to specify whether the search is case-sensitive. The additions
REPLACEMENT and RESULTS can be used to determine the number, position, and length of the string(s) replaced.

ABAP_ADDITION_1 ... {RESPECTING|IGNORING} CASE

What does it do? This addition can be used only when processing strings. It has the same syntax and effect as the associated addition for searching for a substring in a data object using the FIND statement. This addition is not permitted when using an instance of class CL_ABAP_REGEX .

ABAP_ADDITION_2 ... REPLACEMENT COUNT rcnt

What does it do? This addition saves the number of replacements made in data object dobj to rcnt . The following can be specified for rcnt :
An existing variable that expects the data type i .
An inline declaration DATA(var) . The declared variable has the data type i .
If no replacements are made, rcnt is set to 0.
Latest notes: In data objects with a fixed length, the number of replacements made in data object dobj can be less than the number of occurrences.

ABAP_ADDITION_3 ... REPLACEMENT OFFSET roff

What does it do? This addition saves the offset with respect to data object dobj at which the last replacement was made to roff
. The following can be specified for roff :
An existing variable that expects the data type i .
An inline declaration DATA(var) . The declared variable has the data type i .
If no replacement is made, roff retains its existing value or stays initial.
Latest notes: When ALL OCCURRENCES is used, REPLACEMENT OFFSET generally returns a different value than MATCH OFFSET for the
FIND statement. This is because the position of the last location found can be shifted by previous replacements.
In data objects of fixed length, the value in roff refers to the last replacement within the data object. Occurrences that are shifted by previous replacements in the data object are no longer relevant.

ABAP_ADDITION_4 ... REPLACEMENT LENGTH rlen

What does it do? This addition saves the length of the last substring inserted into dobj to rlen . The following can be specified for rlen :
An existing variable that expects the data type i .
An inline declaration DATA(var) . The declared variable has the data type i .
If no replacement is made, rlen retains its existing value or stays initial.

Latest notes: In data objects with a fixed length, the length of the last string inserted can be shorter than the length of new if the intermediate result is truncated.

ABAP_ADDITION_5 ... RESULTS result_tab|result_wa

What does it do? If at least one replacement is made, the RESULTS addition saves the offsets of the locations at which replacements were made. It also saves the length of the substrings inserted either in an internal table result_tab or in a structure result_wa . The syntax and meaning of the addition are otherwise the same as those for the addition of the same name for the FIND statement. The only difference is that in this case, the data types for result_tab and result_wa must be REPL_RESULT_TAB and REPL_RESULT , in which there is no SUBMATCHES component. As in FIND , an inline declaration
DATA(var) can be specified after
RESULTS .

Example ABAP Coding Pattern-based replacement of all occurrences of the word "know" in the data objects text1 and text2 with "should know that". After the first REPLACE statement, text1 contains the full text "I should know that you should know that" and sy-subrc has the value 0. The data objects cnt , off
and len have the values 2, 23, and 16. After the second
REPLACE statement, text2 contains the truncated text "I should know that" and sy-subrc has the value 2. The data objects cnt
, off , and len have the values 1, 2, and 16.
DATA: text1 TYPE string,
text2 TYPE c LENGTH 18.

text1 = text2 = 'I know you know'.

REPLACE ALL OCCURRENCES OF 'know' IN
text1 WITH 'should know that'
REPLACEMENT COUNT DATA(cnt)
REPLACEMENT OFFSET DATA(off)
REPLACEMENT LENGTH DATA(len).

REPLACE ALL OCCURRENCES OF 'know' IN
text2 WITH 'should know that'
REPLACEMENT COUNT cnt
REPLACEMENT OFFSET off
REPLACEMENT LENGTH len.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




REPLACE_OBSOLETE
REPLACE_PATTERN




comments powered by Disqus