Schlüsselbefehl Replace

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Der Schlüsselbefehl "Replace" gibt es in einer obsoleten Variante und einer neuen Variante. Die neue Variante bietet deutlich mehr Funktionen. Die F1-Hilfe beschreibt die Verwendung sehr ausführlich.

Ersetzung Punkt durch Komma

  • Ein Klassiker ist, dass man in einem Zeichenfeld ein Komma durch einen Punkt ersetzen muss. Intern benutzt für das Dezimalkomma ein Punkt.
  • Wenn also ein Wert von z. B. "1,45" geliefert wird, möchte man diesen Wert umwandeln in "1.45".
replace all occurrences of ',' in ls_input-gewicht with '.' in character mode.

Ersetzung Sonderzeichen durch Leerzeichen

Hier eine Anwendung des Befehls, wo Sonderzeichen, z. B. ein Zeilenvorschub (Line feed) durch ein Space ersetzt werden. Bei der Ersetzung wird ein Non-breaking-Space (ASCII-Code 255) verwendet. Bei dem reinen ' ', bzw. space, erscheint bei der Ersetzung kein Leerzeichen.

 data: lc_space type string value ` `.  "alt+255 (non breaking space)

 data(lv_muster) = '#'.
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>minchar.          
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>horizontal_tab.   
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>vertical_tab.     
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>newline.        
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>cr_lf(1).     
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>cr_lf+1(1).    
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>form_feed.    
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

 lv_muster = cl_abap_char_utilities=>backspace.    
 replace all occurrences of lv_muster in cv_text with lc_space
 in character mode.

Web-Links