✒️ABAP El procesamiento de los datos
ABAP El procesamiento de los datos
Variables: asignacion de valores, existen dos formas:
Asignacion simple: v_cantidad2 = v_cantidad1. "Asigno v_cantidad1 a v_cantidad2
Mediante la sentencia MOVE: MOVE v_cantidad1 TO v_cantidad2. "Asigno v_cantidad1 a v_cantidad2
Inicialización de variables: mediante la sentencia CLEAR inicializamos las variables o borramos el contenido. CLEAR <Variable>
Una sentencia muy importante a la hora de consultar el contenido de las variables que declaramos en nuestros programas es IS_INITIAL.
Ejemplo
IF v_campo IS INITIAL.
WRITE 'La variable esta vacia'.
END IF.
Esta sentencia es muy util cuando se trabaja con tablas internas.
Operaciones con caracteres: Funciones:
CONCATENATE: se utiliza para concatenar varios campos ALFANUMERICOS en uno solo
Ejemplo: CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY '.'.
Esta sentencia concatena los 3 campos en la variable v_campo. Todos los campos son de tipo caracter. Con la clausula SEPARETED BY se puede especificar un campo alfanumerico que se utizara como separador entre los camposv_campo1, v_campo2 y v_campo3.
La sentencia CONCATENATE es muy utilizada al trabajar con fechas, en SAP las fechas son del formato AAAAMMDD y cuando se muestran en un listado se deben convertir a DD.MM.AAAA.
TRANSLATE: se utiliza para convertir caracteres de mayúscula a minuscula o viceversa, o para realizar sustituciones de caracteres a traves de ciertas reglas.
Ejemplo: TRANSLATE v_texto TO UPPER CASE.
En el ejemplo de arriba convertimos a mayúsculas el contenido de la variable v_texto, siendo v_texto de tipo caracter.
REPLACE: reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o caracter.
Ejemplo: REPLACE 'Hola' WITH 'Casa' INTO v_texto.
En el ejemplo de arriba reemplazamos el contenido de la variable v_texto que es 'Hola' por el texto 'Casa'.
La sentencia REPLACE es muy usada cuando se trabaja con importes.
SPLIT: divide a un campo ALFANUMERICO en varios campos por un separador.
SPLIT v_texto_largo AT ',' INTO v_campo1 v_campo2 v_campo3 v_campo4.
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 (TYPE c).
Si todos los campos destino son lo suficientemente grandes para almacenar las partes del campos v_texto_largo, SY-SUBRC valdra 0, caso contrario valdra 4.
SHIFT: se usa para desplazar el contenido de una campo ALFANUMERICO, realiza el desplazamiento del contenido de un campo hasta un string dado.
SHIFT v_alfabeto BY 5 places.
El ejemplo anterior realiza el desplazamiento del campo V_ALFABETO hasta la quinta posición, quedando el resto de los caracteres que componen v_alfabeto en la variable y eliminando los cinco primeros.
La sentencia SHIFT es muy util cuando se trabaja con numeros de documentos o cualquier otro numero 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 ALFANUMERICO.
SEARCH v_alfabeto FOR 'ABC'.
En el ejemplo busca en el campo v_alfabeto la secuencia de caracteres 'ABC'. Como la secuencia existe devolverá SY-SUBRC igual a cero, sino seria 4. Esta sentencia es muy usada 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 espacios en blanco en campos ALFANUMERICOS. Borra cualquier secuencia de espacios en blanco, dejando solo uno que exista entre las palabras existentes en el campo. Los espacios en blanco por la izquierda tambien desaparecen.
Ejemplo: CONDENSE wa_doctor.
La salida en pantalla del ejemplo seria 'Dr. Rafael Castro' Con el agregado de la clausula NO-GAPS al final de la sentencia, se eliminaran todos los espacios en blanco, incuidos los existentes entre palabras.
Es una sentencia muy util en los reportes, cuando se quiere formatear la salida en pantalla de un campo determinado.
Operaciones aritmeticas: en ABAP hay 4 operaciones basicas (suma, resta, multiplicación y división) se pueden implementar de 2 maneras, el resultado es el mismo.
v_campo1 = v_campo2 v_campo3.
COMPUTE v_campo1 = v_campo2 v_campo3.
Tambien se usan las siguientes sentencias para operar aritmeticamente con datos:
ADD 1 TO v_numero. "Suma 1 a la variable v_numero
SUBTRACT 1 FROM v_numero. "Resta 1 a la 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 la variable v_numero
 
 
 
Sobre el autor
Publicación académica de Jose Ignacio Rodini, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Ignacio Rodini
Profesión: Licenciado en Informatica - Argentina - Legajo: HM58N
✒️Autor de: 115 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jose Rodini