✒️ABAP El procesamiento de los datos
ABAP El procesamiento de los datos
Formas de asignación de valores:
- Asignación simple: v_variable2 = v_variable1.
- Sentencia move: MOVE v_variable1 TO v_variable2.
Inicialización de variables:
Para el inicializado de variable se usa la sentencia CLEAR. CLEAR <variable>.
Dependiendo del tipo de dato (formato) de cada variable el valor de la misma una vez inicializado va a ser distinto.
Antes de consultar una variable en nuestros programas es muy importante revisar si la misma esta vacía. Esto lo logramos a través del uso del condicional IF/ENDIF y la sentencia IS INITIAL.
Ej: IF v_campo IS INITIAL.
WRITE 'La variable está vacía'.
ENDIF.
Operaciones con caracteres:
- CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY '.'.
- TRANSLATE: usado para convertir el contenido de una variable de tipo c o string en mayúsculas o minúsculas
TRANSLATE v_texto TO UPPER CASE. - REPLACE: reemplaza cierta parte de un texto por otro texto
REPLACE 'Hola' WITH 'Casa' INTO v_texto. - SPLIT: divide un campo alfanumérico en varios campos, se realiza la división a partir de la distinción de un separador en específico.
SPLIT v_texto_largo AT ',' INTO v_texto1 v_texto2 v_texto3 v_texto4.
Nota: Si todos los campos destino son los suficientemente grande para almacenar las partes del campo original, SY-SUBRC valdrá 0, caso contrario valdrá 4. - SHIFT: se utiliza para desplazar el contenido de un campo alfanumérico. Se eliminar los primeros caracteres indicados. Esta sentencia es muy útil cuando se trabaja con números de documentos de tablas de SAP que por lo general comienzan con muchos 0 a la izquierda.
V_alfabeto = 'ABCDEFGHI'.
SHIFT v_alfabeto BY 5 places.
*El resultado final es v_alfabeto = 'FGHI' - SEARCH: busca una cadena de caracteres dentro de un campo alfanumérico. En caso de encontrar el texto el SY-SUBRC = 0, en caso contrato SY-SUBRC <> 0.
SEARCH v_alfabeto FOR 'ABC'. - CONDENSE: se usa para borras espacios en blanco en campos alfanuméricos. Borra cualquier secuencia de espacios en blanco, dejando solo uno que exista entre palabras. Los espacios en blanco por la izquierda también desaparecen.
CONDENSE wa_doctor.
Nota: Con el agregado de la palabra reservada NO-GAPS al final de la setencia CONDENSE se eliminarán todos los espacios en blanco.
El reporte estándar RSRSCAN1 (el cual debe ser ejecutado a través del editor ABAP o la transacción SE80) nos permitirá buscar un string en distintos programas ABAP y determinar el número de ocurrencia del texto alfanumérico buscado.
Las operaciones aritméticas:
- v_campo1 = v_campo 2 + v_campo3. ó COMPUTE vcampo_1 = v_campo 2 + v_campo 3
- ADD 1 TO v_numero.
- SUBTRACT 1 FROM v_numero.
- MULTIPLY v_numero BY 2.
- DIVIDE v_numero BY 2.
VIDEO:
Cuando usamos una variable texto en cualquier función (write, concatenate, asignación de valores, etc) se puede especificar a la derecha dos parametros de suma importancia. Uno de ellos es la posición inicial 'PI' y el otros es el Offset 'OFFS' o desplazamiento realizado.
Para usar estas especificaciones se debe argumentar de la siguiente manera a la derecha de la variable texto
V_ejemplo+PI(OFFS)
Ejemplo:
DATA : v_ejemplo type string value 'JuanAntonioFlores'.
WRITE v_ejemplo+4(7)
En este caso se imprimirá en pantalla el valor Antonio
Operadores lógicos de texto
Operador CO - Contiene solamente
IF v_campoA CO v_campoB.
WRITE:/ v_campoA , v_campoB, 'Verdadero'.
Else.
WRITE:/ v_campoA , v_campoB, 'Falso'.
endif.
El IF se da como verdadero si toda los caracteres que están en la campo v_campoA al menos están una vez en el campo v_campoB.
Es decir, si el campo v_campoA tiene un caracter que no esta presente en v_campoB va a dar falso.
Operador CN - Contiene no solo
Operador CA - Contiene al menos
Con el campo v_campoA tenga al menos un caracter compartido con v_campoB ya dará verdadero. La única forma que de falso es que no tengan ningún caracter en común.
Operador NA - No contiene almenos
Operador CS - Contiene string
Operador NS - no contiene strign
Operador CP - Contiene Patrón
Operador NP - No contiene Patrón
La variable interna del sistema SY-FDPOS nos sirve para identificar en que posición se encuentra el carácter que produjo que la sentencia de comparación lógico de texto sea falsa. En caso de que la comparación lógica sea verdadera se devuelve la longitud de la cadena de caracteres.
[Esta es una descripción general tomando como referencia el uso de la sentencia CO. se debe estudiar con mas detalle la asignación de valor a la variable interna SY-FDPOS según que operador lógico se esta usando ej: CO CA CN CP CS etc]
 
 
 
Sobre el autor
Publicación académica de German Ariel Fritsch, en su ámbito de estudios para la Carrera Consultor ABAP.
German Ariel Fritsch
Profesión: Ingeniero Industrial - Argentina - Legajo: EW95G
✒️Autor de: 20 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de German Fritsch