Lección 5/10: Procesamiento de los Datos
1. ASIGNACION DE VALORES Existen dos maneras básicas para asignar un valor a una variable.
1.1 Asignación Simple
v_cantidad2 = v_cantidad1.
1.2. Asignación mediante la sentencia MOVE
MOVE v_cantidad1 TO v_cantidad2.
2. INICIALIZACIóN DE VARIABLES
Para inicializar o borrar contenido de las variables se utiliza la sentencia CLEAR
Sintaxis:
CLEAR <variable>.
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. es muy util cuando se trabaja con tablas internas.
IF v_campo IS INITIAL
WRITE 'La variable esta vacía'.
ENDIF.
3. OPERACIONES CON CARACTERES
3.1 CONCATENATE se utiliza para unir, fusionar varios campos alfanuméricos en uno solo.
Sintaxis.
CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY '.'.
3.2 TRANSLATE Sirve para convertir caracteres mayúsculas a minúsculas o viceversa, o para realizar sustituciones de caracteres a través de ciertas reglas.
Sintaxis
TRANSLATE v_texto TO UPPER CASE.
3.3 REPLACE Reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o caractér. Se utiliza cuando se trabaja con importes.
Sintaxis.
REPLACE 'HOLA' WITH 'Casa' INTO v_texto.
3.4 SPLIT divide a un campo alfa numérico en varios campos por un separador.
Sintaxis.
SPLIT v_texto_largo AT ',' INTO v_campo1 v_campo2 v_campo3 v_campo4.
NOTA Si todos los campos destino son lo suficientemente grandes para almacenar las partes del campo V_TEXTO_LARGO, SYSUBRC valdrá 0, caso contrario valdrá 4.
3.5 SHIFT se utiliza para desplazar el contenido de un campo alfanumérico. Realiza el desplazamiento del contenido de un campo hasta un string dado.
Sintaxis. Es util cuando se trabaja con números de documentos o cualquier otro numero, que haya sido grabado en tablas SAP con ceros a la izquierda.
SHIFT v_alfabeto BY 5 places.
NOTA realiza el desplazamiento del campo V_ALFABETO hasta la quinta posición, quedando el resto los caracteres que componen a V_ALFABETO en la variable y eliminando los cinco primeros.
3.6 SEARCH Se usa para buscar una cadena de caracteres dentro de un campo alfanumérico. Es útil para cuando se trabaja con tablas internas.
Sintaxis.
SEARCH V_ALFABETO FOR 'ABC'.
3.7 CONDENSE se utiliza para borrar espacios en blanco en campos alfanuméricos. Borra cualquier secuencia espacios en blanco, dejando solo uno que exista entre palabras existentes en el campo. Los espacios en blanco por izquierda también desaparecen. Es útil cuando se quiere formatear la salida en pantalla de un campo determinado.
Sintaxis.
CONDENSE wa_doctor.
La salida en pantalla de la sentencia anterior 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.
4. OPERACIONES ARÍTMETICAS
En ABAP las cuatro operaciones básicas ( suma , resta, multiplicación y división ) se pueden implementar de 2 maneras obteniendo el mismo resultado.
v_campo = 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 arítmeticamente 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.