✒️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.

SAP SemiSenior

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

 

:: Al igual que German ¿Usted está dispuesto a aprender ABAP?

El lunes 31 Enero 2022 comenzamos la 🎓Carrera Consultor ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

 

 

+Recursos Gratuitos en CVOSOFT:

¡Lo importante es aprender!, por eso en CVOSOFT la comunidad SAP más grande de habla hispana, ponemos a su alcance los siguientes recursos abiertos libres y gratuitos:

Buscador de Publicaciones:

 

 

Consultas y Soporte

👋Hola! Estamos listos para ayudarle con el soporte que su carrera merece.

Acceda sección contacto y seleccione canal de comunicación más cómodo para usted.

🤝Aguardamos su mensaje, ¡Éxitos!

 


 

👉Que las empresas tomen en serio sus estudios es muy importante para que su inversión educativa tenga sentido.
Las empresas líderes de United States y del Mundo confían a CVOSOFT su recurso más valioso, la formación de su gente.

¿Quieres conocerlas?