✒️ABAP El procesamiento de los datos
ABAP El procesamiento de los datos
Procesamiento de los datos
1 Asignación de valores
Existen dos formas básicas de asignar un valor a una variable. La primera consiste en la asignación simple a través del símbolo "=":
<< imagen 1.1 >>
La segunda forma es mediante la sentencia MOVE TO:
<< imagen 1.2 >>
1 Inicialización de variables
Para la inicialización o borrado del contenido de las variables, utilizamos la sentencia CLEAR:
<< imagen 2.1 >>
Si inicializamos las variables que se declaran a continuación:
<< imagen 2.2 >>
El contenido de los campos sería el siguiente:
<< imagen 2.3 >>
Es decir, con CLEAR inicializamos incluso el valor por defecto que se les asignó en la declaración mediante la instrucción VALUE. Los valores se inicializan según su tipado.
Una sentencia muy importante a la hora de consultar el contenido de las variables que declaramos en nuestros programas es IS INITIAL. En la siguiente imagen vemos un ejemplo de su utilización.
<< imagen 2.4 >>
La sentencia IS INITIAL es muy útil cuando se trabaja con tablas internas.
3 Operaciones con caracteres
Existen algunas funciones que se utilizan para tratar caracteres que son muy útiles en el trabajo diario de un programador ABAP, como por ejemplo:
- CONCATENATE: se utiliza para concatenar varios campos alfanuméricos en uno solo. Se especifican las variables a concatenar, la variable que recibirá el valor concatenado, y el caracter con el pueden separarse dichos valores.
<< imagen 3.1 >>
Esta sentencia concatena los campos v_campo1, v_campo2 y v_campo3 en la variable v_campo. Todos los campos con de tipo caracter. Con la cláusula SEPARATED BY se puede especificar un campo alfanumérico que se utilizará como separardor entre los campos.
La sentencia CONCATENATE es muy útil cuando se trabaja con fechas, ya que las fechas en SAP son del formato AAAAMMDD, y cuando se muestran en un listado se deben converitr a DD.MM.AAAA.
- TRANSLATE: se utiliza para convertir caracteres de mayúscula a minúscula o viceversa, o para realizar sustituciones de caracteres a través de ciertas reglas:
<< imagen 3.2 >>
La sentencia anterior convierte a mayúsculas el contenido de la variable v_texto, siendo v_texto de tipo caracter.
La sentencia TRANSLATE es muy útil para la conversión de texto a mayúscula o minúscula.
- REPLACE: reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o caracter:
<< imagen 3.3 >>
La sentencia anterior reemplaza el contenido de la variable v_texto que es "Hola" por el texto "Casa".
La sentencia REPLACE es muy útil cuando se trabaja con importes.
- SPLIT: divide a un campo alfanumérico en varios campos por un separador.
<< imagen 3.4 >>
La sentencia anterior utiliza el separador "," para dividir el contenido del campo v_texto_largo en las variables v_campo1, v_campo2, v_campo3 y v_campo4 que son de tipo caracter.
Si todos los campos destino son lo suficientemente grandes para almacenar las partes del campo v_texto_largo, entonces SY-SUBRC valdrá 0, y en caso contrario valdrá 4.
La sentencia SPLIT es muy útil cuando se trabaja con textos largos y es necesario separarlos por algún caracter especial.
- SHIFT: se utiliza para desplazar el contenido de un campo alfanumérico. Realiza el desplazamiento del contenido de un campo hacia un string dado.
<< imagen 3.5 >>
La setencia anterior realiza el desplazamiento del campo v_alfabeto hasta la quinta posición indicada por la cláusula "BY 5 places", quedando el resto de los caracteres que compoenen v_alfabeto en la variable y eliminando los 5 primeros.
La sentencia SHIFT es muy útil cuando se trabja con números de documentos o cualquier otro número que haya sido grabado en tablas SAP con ceros a la izquierda.
- SEARCH: se utiliza para buscar una cadena de caracteres dentro de un campo alfabético.
<< imagen 3.6 >>
La sentencia anterior busca en el campo v_alfabeto la secuencia de caracteres "ABC". Como la sencuencia exsite, devolverá un SY-SUBRC igual a 0. En caso contrario, si no existe dicha secuencia de caracteres devolvería un 4.
La sentencia SEARCH es muy útil cuando se trabaja con tablas internas y se busca la ocurrencia de una determinada cadena en un campo de la tabla.
- CONDENSE: se utiliza para borrar espacioes en blando en campos alfanuméricos. Borra cualquier secuencia de espacios en blanco, dejando solo uno que exista entre palabras existentes en el campo. Los espacios en blanco por la izquierda también desaparecen. Con el agregado de la cláusula NO-GAPS al final de la sentencia, se eliminarán todos los espacios en blando, es decir, que también se eliminan los espacios existentes entre las palabras.
<< imagen 3.7 >>
La sentencia CONDENSE es muy útil en los reportes, cuando se quiere formatear la salida en pantalla de un campo determinado.
Audio: Si deseamos buscar un string, es decir una cadena de caracteres que puede estar compuesta por palabras, sentencias, mensajes, etc., en uno o más programas ABAP, podemos utilizar el reporte estándar RSRSCAN1. Este reporte nos mostrará en pantalla la cantidad de ocurrencias de la palabra, sentencia o mensaje. En este reporte se indica los programas en los que buscar y la cadena a buscar. Está obsoleto y SAP recomienda usar la función del menú: "Utilidades >> Buscar en código fuente" de la transacción SE38.
4 Operaciones aritméticas
En ABAP las cuatro operaciones básicas (suma, resta, multiplicación y división) se pueden implementar de dos maneras obteniendo el mismo resultado:
<< imagen 4.1 >>
Es decir, utilizando la sentencia COMPUTE o escribiendo directamente las expresiones.
También se utilizan las siguientes sentencias para operar aritméticamente con datos: ADD...TO, SUBSTRACT...FROM, MULTIPLY...BY y DIVIDE...BY.
<< imagen 4.2 >>
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti
Sobre el autor
Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.
José Antonio Saavedra Rodríguez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial