REPLACE

REPLACE Syntax Diagram

Basic form

REPLACE f
...WITH g
...INTO h.

Addition:

... LENGTH len (length specification for field f)

Note

As with any string processing statement, all the operands are processed here as type C fields (regardless of type). No internal conversion is performed.

Effect

Replaces the first occurrence of the contents of field f in field h with the contents of field g. All fields are handled in their defined length; this means that closing blanks are not ignored.

The return code value indicates whether the string f was found in h and replaced by g:

Example

DATA FIELD(10). 
MOVE 'ABCB' TO FIELD. 
REPLACE 'B' WITH 'string' INTO FIELD.

returns:

FIELD = 'AstringCB', SY-SUBRC = 0

Note

The fields f and g in the REPLACE statement should not overlap. Otherwise, the result is undefined.

Addition

... LENGTH len ... (length specification for field f)

Effect

Searches for the string f in the field h not in its (full) field length, but in the length len.

Example

DATA: PATTERN(5) VALUE 'ABC', 
	LEN TYPE I, 
	REPL_STRING(5) VALUE '12345', 
	FIELD(12) VALUE 'abcdeABCDE'. 
 
REPLACE PATTERN WITH REPL_STRING 
				INTO FIELD. 

does not change FIELD, since 'ABC ' does not occur in abcdeABCDE '.

LEN = STRLEN( PATTERN ). 
REPLACE PATTERN LENGTH LEN 
				WITH REPL_STRING 
				INTO FIELD. 

changes FIELD to 'abcde12345DE'.

Related

SEARCH, TRANSLATE, OVERLAY