Replace ABAP – Reemplazar valores en una cadena

La sentencia ABAP REPLACE cambia las letras, los números o bytes de una variable con otros caracteres indicados. Este operador busca en una cadena de texto el valor seleccionado y encuentra las coincidencias, posteriormente, las sustituye con el nuevo caracter. Por último, convierte la cadena de texto inicial en una nueva con las sustituciones correspondientes.

Recordemos que en términos de programación una cadena se puede entender cómo un conjunto de caracteres de longitud «n», pero finita, que pertenecen a un lenguaje o a algún alfabeto. Además, puede constar de diversos símbolos como letras, números y caracteres especiales.

Operación con cadenas de caracteres ABAP

Los operadores de cadenas nos permiten manipular un conjunto de caracteres dentro de una cadena de texto, podemos realizar acciones como unir, remplazar o separar, entre otros. Es decir, nos permiten trabajar con cada caracter o con un conjunto de caracteres que se encuentren dentro de la cadena y utilizarlos para transformar u obtener partes de esta.

Replace ABAP ejemplo

El siguiente código ABAP sustituiría de forma puntual la letra «H» por la letra «M» en la frase «Hi World»

DATA(cadena) = 'Hi World'.
REPLACE 'H' IN cadena WITH 'M'.
cl_demo_output=>display( cadena )

Resultado:
Hi World -> Mi World

Mensajes de sistema ABAP Replace

Sy-subrc EQ 0

Nos indica que la sustitución se realizó de forma correcta y la cadena cuenta con el nuevo valor

Sy-subrc EQ 2

Este valor indica que se realizó la sustitución parcialmente, si tenemos la longitud de una variable definida y el cambio supera esta, entonces se truncará el resultado.

Sy-subrc EQ 4

Este valor manifiesta que no se encontró el valor que se desea cambiar.

Replace All ABAP ejemplo

Con esta adición a la instrucción replace, podemos asegurarnos de remplazar lo indicado en la sentencia, tantas veces como se presente en la cadena. Ejemplo Replace All.

  REPLACE ALL OCCURRENCES OF 'a' IN 'Hola Mundo' WITH 'o'.

El resultado será: «Holo Mundo»

ABAP Replace Function

ABAP replace text in string

Esta nueva forma remplaza una subcadena con texto con un nuevo caracter, devolviendo el texto modificado. Sigue este enlace si quieres aprender que es una función ABAP.

SAP ABAP REPLACE Documentación Oficial

Para más información sobre las características de esta, sentencia puedes visitar el siguiente enlace con documentación oficial: Función Replace