✒️ABAP Procesamiento de los datos

Publicación Académica por Jonathan Ramirez Vasquez

Publicación Académica creada y compartida por Jonathan Ramirez Vasquez para el tema Procesamiento de los datos.

Dentro del ámbito de estudios: Carrera Programador ABAP / Unidad 2: Declaración y Procesamiento de datos.

¿Buscás una carrera con Futuro?

ABAP Procesamiento de los datos por Jonathan Ramirez Vasquez

Unidad 2: Procesamiento de los datos

1| Asignación de valores:

Existen dos formas básicas para asignar un valor a una variable. La primera consiste en la asignación simple:

v_cantidad2 = v_cantidad1. "Asigno v_cantidad1 a v_cantidad2

La segunda forma es mediante la sentencia MOVE.

MOVE v_cantidad1 TO v_cantidad2. "Asigno v_cantidad1 a v_cantidad2


2| Inicialización de variables

Para la inicialización o borrado del contenido de las variables utilizamos la sentencia CLEAR.

CLEAR <variable>.

Si inicializamos las variables que declaramos a continuación:

*Declaración de variables

DATA: v_texto (4) TYPE c VALUE 'Hola',

v_numero TYPE i VALUE 12345,

v_texto_largo(30) TYPE c VALUE 'John, Paul, Ringo, George',

v_alfabeto(10)TYPE c VALUE 'ABCDEFGHIJ',

*Estructura para usuarios

BEGIN OF wa_usuario,

nombre (15) TYPE c VALUE 'Ricardo',

tel(8) TYPE n VALUE '49818567',

cod_postal TYPE p VALUE 1405,

END OF wa_usuario,

*Estructura para doctores

BEGIN OF wa_doctor,

titulo(10) TYPE c VALUE 'Dr.',

nombre (10) TYPE c VALUE 'Rafael',

apellido (10) TYPE c VALUE 'Castro',

END OF wa_doctor.

El contenido de los campos sería el siguiente:

v_texto = ''.

v_numero = 0.

v_texto = ''.

v_texto_largo = ''.

wa_usuario-nombre = ''.

wa_usuario-tel = '00000000'.

wa_usuario-cod_postal = 0.

wa_doctor-titulo = ''.

wa_doctor-nombre = ''.

wa_doctor-apellido = ''.

Una sentencia muy importante a la hora de consultar el contenido de las variables que declaramos en nuestros programas es IS INITIAL.

IF v_campo IS INITIAL

WRITE 'La variable está vacía'.

ENDIF.

La sentencia IS INITIAL es muy útil cuando se trabaja con tablas internas(concepto que veremos más adelante en el curso)


3| Operaciones con caracteres

Existen algunas funciones que se utilizan para tratar caracteres que son muy útiles en el trabajo diario de un programador ABAP. Ellas son:

  • CONCATENATE: Se utiliza para concatenar varios campos alfanúmericos en uno solo.

CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY '.'.

Esta sentencia concatena los campos v_campo1, v_campo2 y v_campo3 en la variable v_campo. Todos estos campos son de tipo caracter. Con la cláusula SEPARATED BY se puede especificar un campo alfanúmerico que se utilizará como separador entre los campos v_campo1, v_campo2 y v_campo3.

La sentencia CONCATENATE es muy útil cuando se trabaja con fechas ya que las fechas en SAP 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 minúscula o viceversa, o para realizar sustituciones de caracteres a través de ciertas reglas.

TRANSLATE v_texto TO UPPER CASE.

La sentencia anterior convierte a mayúculas el contenido de la variable V_TEXTO, siendo V_TEXTO de tipo caracter.

La sentencia TRANSLATE es muy útil para la conversión de texto a mayúscula o minúscula.

  • REPLACE: Reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o caracter.

REPLACE 'Hola' WTH 'Casa' INTO v_texto.

La sentencia anterior reemplaza el contenido de la variable v_texto que es 'Hola' por el texto 'Casa'

La sentencia REPLACE es muy útil cuando se trabaja con importes.

  • SPLIT: Divide a un campo alfanumérico en varios campos por un separador.

SPLIT v_texto_largo AT ',' 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 campo v_texto_largo, SY-SUBRC valdrá 0, caso contrario valdrá 4.

La sentencia SPLIT es muy útil cuando se trabaja con textos largos y es necesario separarlos por algún caracter especial.

  • SHIFT: Se utiliza para desplazar el contenido de un campo alfanumérico. Realiza el desplazammiento del contenido de un campo hasta el string dado.

SHIFT v_alfabeto BY 5 places.

La sentencia anterior realiza el desplazamiento del campo v_alfabeto hasta la quinta posición, quedando el resto de los caracteres que componen a v_alfabeto en la variable y eliminando los cinco primeros.

La sentencia SHIFT 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.

  • SEARCH: Se utiliza para buscar una cadena de caracteres dentro de un campo alfanumérico.

SEARCH v_alfabeto FOR 'ABC'.

La sentencia anterior busca en el campo v_alfabeto la secuencia de caracteres 'ABC'. Como la secuencia existe, devolverá SY-SUBRC igual a cero. Caso contrario, si no existiera, sería distinto igual a 4.

La sentencia SEARCH es muy útil 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 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.

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.

La sentencia CONDENSE es muy útil en los reportes, cuando se requiere formatear la salida en pantalla de un campo determinado.


4| Operaciones Aritméticas

En ABAP las cuatro operaciones básicas (suma, resta, multiplicación y división) se pueden implementar de dos maneras obteniendo el mismo resultado.

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:

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

SAP SemiSenior

Jonathan Ramirez Vasquez

Profesión: Ingeniero de Sistemas - Peru - Legajo: MB36Q

✒️Autor de: 20 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy un profesional en ti con mas de 8 años de experiencia en diferentes tecnologías. decidí iniciar mi formación sap, debido a mis retos profesionales y mejorar mis habilidades en esta tecnología.

Certificación Académica de Jonathan Ramirez

 

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

El lunes 29 Abril 2019 comenzamos la 🎓Carrera Programador ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

✒️Más Publicaciones Académicas sobre Tecnología SAP

Buscador de Publicaciones:


 

Recursos Free:

Los mejores recursos Libres y Gratuitos compartidos con la comunidad: