✒️ABAP / El procesamiento de los datos Por Gustavo Rondon Hernandez
ABAP El procesamiento de los datos

El procesamiento de los datos
1 | La inicialización de las variables
Cuando en un programa ABAP trabajamos con variables, lo primero que vamos a hacer es declarar las variables y lo segundo que vamos a tener que hacer consiste en inicializar o blanquear las vanables que declaramos, es decir antes de utilizar las variables en nuestro programa debemos asegurarnos que su contenido este vacío, es decir que las variables estén limpias.
Una variable podría quedar sucia o con determinado contenido en la memoria ABAP debido a una ejecución previa del programa y esto ocasionaría que el resultado de la ejecución del programa no sea el esperado, es decir se produzcan errores en la salida del programa.
Para la inicialización o el borrado del contenido de las variables utilizamos la sentencia CLEAR
CLEAR v_fecha.
Si deseamos inicializar varias variables podemos utilizar una sentencia CLEAR por cada una de las variables a inicializar.
CLEAR v_fecha.
CLEAR v_hora.
CLEAR v_cantidad.
CLEAR v_titulo.
CLEAR v_nombreyape.
CLEAR v_telefono.
CLEAR v_pi.
O podemos en una sola sentencia o línea de código inicializar a todas las variables de la siguiente forma utilizando los do puntos luego de la sentencia CLEAR.
CLEAR: v_hora, v_cantidad, v_titulo, v_nombreyape, v_telefono, v_pi.
Ahora bien, dependiendo del tipo de la variable entonces el contenido resultante de la inicialización será diferente. Por ejemplo si declaramos las siguientes variables:
CLEAR v_fecha. TYPE d,
CLEAR v_hora. TYPE d,
CLEAR v_cantidad. TYPE i,
CLEAR v_titulo. TYPE string,
CLEAR v_nombreyape (40) TYPE c,
CLEAR v_telefono (13) TYPE n,
CLEAR v_pi. TYPE p DECIMALS 11.
Y las inicializamos con CLEAR entonces el contenido de las variables luego de la inicialización es el siguiente:
v_fecha. --------------> '00000000'.
v_hora. --------------> '000000'.
v_cantidad. --------------> 0.
v_titulo. --------------> ' '.
v_nombreyape. --------------> ' '.
v_telefono. --------------> 0000000000000.
v_pi. --------------> 0,.00000000000.
Una sentencia muy importante a la hora de consultar el contenido de las variables que declaramos en nuestros programas es IS INITIAL. Podemos utilizar esta sentencia para consultar si el contenido de una variable determinada es inicial o no, es decir si el contenido de la variable está vacío o no. En la siguiente imagen vemos un ejemplo de su utilización.
IF v_fecha IS INITIÀL.
WRITE 'la fecha esta vacia'.
ENDIF.
Info tips: La sentencia IS INITIAL es muy útil cuando trabajamos con tablas internas concepto que veremos más
adelante en el curso. Para más ayuda podemos presionar Fl sobre la sentencia.
2 | La asignación de valores a las variables
Ya declaramos las variables, luego de ello las inicializamos y ahora lo que sigue es asignarles un valor determinado. Par ello tenemos dos alternativas la primera consiste en utilizar la asignación simple le de la siguiente forma:
v_cantidad2 = v_cantidad1 'Asignamos v_cantidad1; a v_cantidad2
La segunda alternativa para asignar valores a variables es utilizando la sentencia MOVE
MOVE v_cantidad1 TO v_cantidad2. "Asignamos v_cantidad1 a v_cantidad2
"Ahora que estamos asignando valores a variables o asignando el contenido a otra nos podemos preguntar que sucede en ABAP que sucede si asignamos una variable a otra que no es el mismo tipo de dato si por ejemplo asignamos el contenido de una variable que es del tipo i integer a una variable que es del tipo c carácter se produce un error en tiempo de ejecución la respuesta es no ABAP va a convertir el contenido tipo i INTEGER a contenido de tipo c CARACTER al momento de la asignación".
3 | La referencia de utilización de las variables
Existe una funcionalidad muy útil que nos permite saber en qué lugares del código de un programa ABAP se utiliza una determinada variable. En programas que tienen pocas líneas de código podemos saber a simple vista donde se utiliza una variable pero en programas ABAP más complejos, con miles de líneas de código esto se vuelve sumamente difícil. Esta funcionalidad es la referencia de utilización.
Podemos acceder a la funcionalidad de referencia de utilización de dos formas diferentes. Una de ellas consiste en seleccionar la variable de la cual deseamos saber donde se utiliza y hacemos clic en el icono de referencia de utilización de la barra estándar de herramientas del editor ABAP.
A continuación vamos a tildar en donde deseamos buscar la referencia de utilización de la variable V_FECHA.
Y finalmente el sistema nos muestra en donde se utiliza la variable V_FECHA dentro del programa. Podemos navegar a cada una de estas referencias haciendo doble clic sobre ellas.
La otra forma de acceder a la funcionalidad de referencia de utilización de una variable es directamente hacer doble clic sobre el nombre de la variable en el código del programa.
A continuación el sistema nos lleva a la declaración de la variable en el programa y volvemos a hacer doble clic sobre la declaración de la variable V_FECHA.
Luego tal como hicimos anteriormente vamos a tildar en donde deseamos buscar la referencia de utilización de la variable V_FECHA.
Y finalmente el sistema nos muestra en donde se utiliza la variable V_FECHA dentro del programa.
4 | Las operaciones con caracteres
Existen algunas sentencias de ABAP que se utilizan para tratar caracteres y que son muy útiles en el trabajo diario de un programador ABAP. Ellas son:
- CONCATENATE: esta sentencia se utiliza para concatenar varios campos alfanuméricos en uno solo.
CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY ' . ' .
La sentencia CONCATENATE concatena los campos V_CAMPO1, V_CAMPO2 y V_CAMPO3 en la variable V_CAMPO. Todos estos campos son de tipo carácter. Con la cláusula SEPARATED BY se puede especificar un campo alfanumérico que se utilizará como separador entre los campos V_CAMPO1, V CAMPO2 y V_CAMPO3.
INFO TIPS: 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 convertir a DD.MM.AAAA.
Para más ayuda presionar F1 sobre la sentencia.
- TRANSLATE: esta sentencia 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.
TRANSATE v_texto TO UPPER CASE.
La sentencia TRANSLATE convierte a mayúsculas el contenido de la variable V_TEXTO, siendo V_TEXTO de tipo carácter.
INFO TIPS: La sentencia TRANSLATE es muy útil para la conversión de texto a mayúscula o minúscula. Para más ayuda presionar F1 sobre la sentencia.
- REPLACE: esta sentencia reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o caracter.
REPLACE ' Hola ' WITH ' Casa ' INTO v_texto.
La sentencia REPLACE reemplaza el contenido de la variable V_TEXTO que es 'Hola' por el texto 'Casa'.
INFO TIPS: La sentencia REPLACE es muy útil cuando trabajamos con importes. Para más ayuda presionar F1 sobre la sentencia.
- SPLIT: esta sentencia divide a un campo alfanumérico en varios campos por un separador.
SPLIT v_texto_largo AT ' , ' INTO v_campo1 v_campo2 v_campo3 v_campo4.
La sentencia SPLIT utiliza el separador ','para dividir el contenido del campo V_EXTO_LARGO en las variables V_CAMPO1, V_CAMPO2, V_CAMPO3 y V_CAMPO4 que son de tipo caracter es decir TYPE c.
Si todos los campos destino son lo suficientemente grandes para almacenar las partes del campo V_TEXTO_LARGO, entonces el SY-SUBRC valdrá 0, caso contrario valdrá 4.
INFO TIPS: La sentencia SPLIT es muy útil cuando trabajamos con textos largos y es necesario separarlos por algún caracter especial.
Para más ayuda presionar FI sobre Ia sentencia.
- DSHIFT: esta sentencia se utiliza para desplazar el contenido de un campo alfanumérico. Realiza el desplazamiento del contenido de un campo hasta un string dado.
SHIFT v_alfabeto BY 5 PLACES.
La sentencia SHIFT realiza el desplazamiento del campo V_ALFABETO hasta la quinta posición, quedando el resto de los caracteres que componen a V_ALFABETO en la variable y eliminando los cinco primeros.
INFO TIPS: La sentencia SHIFT es muy útil cuando trabajamos con números de documentos o cualquier otro número que haya sido grabado en tablas SAP con ceros a la izquierda.
Para más ayuda presionar F1 sobre la sentencia.
- SEARCH: esta sentencia se utiliza para buscar una cadena de caracteres dentro de un campo alfanumérico.
SEARCH v_alfabeto FOR 'ABC' .
La sentencia SEARCH busca en el campo V_ALFABETO la secuencia de caracteres 'ABC'. Como la secuencia existe,
devolverá SY-SUBRC igual a 0. Caso contrario, si no existiera, sería distinto de cero es decir igual a 4.
INFO TIPS: La sentencia SEARCH es muy útil cuando trabajamos con tablas internas y se busca la ocurrencia de una determinada cadena en un campo de la tabla.
Para más ayuda presionar F1 sobre la sentencia.
- CONDENSE: esta sentencia se utiliza para borrar espacios en blanco 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
CONDENSE wa_doctor.
La salida en pantalla de la sentencia CONDENSE sería 'Dr. Rafael Castro'. Con el agregado de la cláusula NO-GAPS al final de la sentencia, se eliminarán todos los espacios en blanco, es decir que también se eliminan los espacios existentes entre las palabras.
INFO TIPS: La sentencia CONDENSE es muy útil en IOS reportes cuando queremos formatear la salida en pantalla de un campo determinado.
Para más ayuda presionar F1 sobre la sentencia.
"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 ocurrencia de la palabra sentencia o mensaje"
5 | Las operaciones aritméticas
En ABAP las cuatro operaciones básicas que son la suma, la resta, la multiplicación y la división se pueden implementar de dos maneras diferentes obteniendo el mismo resultado.
Podemos utilizar el signo y la asignación de la siguiente forma:
v_campo1 = v_campo2 + v_campo3.
Y también podemos utilizar la sentencia COMPUTE obteniendo el mismo resultado de ambas formas.
COMPUTE v_campo1 = v_campo2 + v_campo3.
También se utilizan las siguientes sentencias para operar aritméticamente con datos:
ADD 1 TO v numero. "Suma a variable V_NUMERO
SUBTRACT 1 FROM v_numero. "Resta 1 a variable V_NUMERO
MULTIPLY v_numero BY 2. "Multiplica por 2 a La variable V_NUMERO
DIVIDE v_numero BY 2. "Divide por 2 a Ia variable V_NUMERO.
 
 
 
Sobre el autor
Publicación académica de Gustavo Jose Rondon Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Gustavo Jose Rondon Hernandez
Profesión: Becario - España - Legajo: WF47H
✒️Autor de: 33 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Soy informático con 10 años de experiencia en el área de tecnología, tengo un master en sap business intelligence sap bw & sap bi-bo en la salle barcelona.
Certificación Académica de Gustavo Rondon
























