✒️ABAP El procesamiento de los datos
ABAP El procesamiento de los datos
Procesamientos de los Datos
1) existe dos formas para asignar un valor a una variable.
• Asignación Simple: ejemplo.
v_cantidad2 = v_cantidad1. "Asignó v_cantidad1 a v_cantidad2"
• Sentencia MOVE: Ejemplo.
MOVE v_cantidad1 TO v_cantidad2. "Asignó v_cantidad1 a v_cantidad2"
2) Inicialización de variable. Para la Inicialización o borrado del contenido de las variables utilizamos la sentencia CLEAR. Ejemplo:
CLEAR <variable>>
una sentencia muy importante a la hora de consultar el contenido de las variables que declaramos en nuestra es IS INITIAL. Ejemplo:
IF v_campo IS INITIAL.
write 'la variable esta vacia'.
ENDIF.
Nota: la variable IS INITIAL es muy útil cuando se trabaja con tablas internas.
3) Operaciones de Caracteres
existen algunas funciones que se utilizan para tratar caracteres que son muy utiles en el trabajo de un programador ABAP. Son:
a) CONTATENATE: se emplea para concatenar varios campos alfanuméricos en uno solo. Ejemplo:
CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY '.'.
En la sentencia que acabamos de declarar todos los campos son de tipo caracter. Con la cláusula SEPARATED BY se puede especificar un campo alfanumérico que se utiliza como separador entre los campos V_campo1, v_campo2 y v_campo3.
Nota: La sentencia CONCATENATE es muy útil cuando se trabaja con fechas ya que las fechas SAP son del formato AAAAMMDD y cuando se muestra en un listado se debe convertir en DD.MM.AAAA.
b) 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 reaglas. Ejemplo:
TRANSLATE v_texto TO UPPER CASE.
c) REPLACE: Reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres. Ejemplo:
REPLACE 'Hola' WITH 'Casa' INTO v_texto.
Nota: Es útil cuando se trabaja con importes.
d) SPLIT: Divide un campo alfanumérico en varios campos por un separador. ejemplo:
SPLIT v_texto_largo AT ',' INTO v_campo1 v_campo2 v_campo3 v_campo4.
Nota los SPLIT son de tipo caracter (TYPEc). si todos los campos destinos son lo suficientemente grandes para almacenar las partes del campo V_texto_largo, SY SUBRC valdra 0, caso contrario valdra 4.
e) SHIFT: se utiliza para desplazar el contenido de un campo alfanumérico. Realiza el desplazamiento del contenido de un campo hasta un stringh dado. Ejemplo:
SHIFT v_alfabeto BY 5 places.
Nota: es muy útil cuando se trabaja con números de documentos o cualquier otro número que haya sido grabado en tablas SAP con ceros a la izquierda.
f) SEARCH: se utiliza para buscar una cadena de caracteres dentro de un campo alfanumérico. Ejemplo:
SEARCH v_alfabeto FOR 'ABC'.
Nota: es muy útil cuando se trabaja con tablas internas y se busca la ocurrencia de una determinada cadena en un campo de la tabla.
g) CONDENSE: Se utiliza para borrar espacios en blancos 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. Ejemplo:
CONDENSE wa_doctor.
Nota:es muy útil en los reportes, cuando se quiere formatear la salida en pantalla de un campo determinado.
NOTA GENERAL: si deseamos buscar un string es decir una cadena de caracteres que puede estar compuesta por palabras, sentencias, mensajes, etc en uno o mas programas ABAP, podemos utilizar el reporte estandar RSR escam 1, este reporte nos mostrará en pantalla la cantidad de ocurrencia de la palabra sentencia o mensaje.
4) Operaciones Aritméticas. En ABAP las cuatro operaciones básicas (suma, resta, multiplicación y división) se puede implementar de dos maneras obteniendo el mismo resultado. Ejemplo:
v_campo1 = v_campo2 + v_campo3.
COMPUTE v_campo1 = v_campo2 + v_campo3.
siendo el resultado. el mismo de ambas formas. también se utilizan las siguientes sentencias para operar aritméticamente con datos. Ejemplo
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
 
 
 
Agradecimiento:
Ha agradecido este aporte: Daniel Julio
Sobre el autor
Publicación académica de Francis Correntin, en su ámbito de estudios para la Carrera Consultor ABAP.
Francis Correntin
Profesión: Tecnico en Sistemas Ferros - Argentina - Legajo: CK40S
✒️Autor de: 33 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Francis Correntin