✒️ABAP La declaración de datos
ABAP La declaración de datos
DECLARACIÓN DE DATOS
TIPOS DE DATOS
Los principales tipos de datos que se encuentran en ABAP son:
Cuando mencionamos que un tipo de datos, por ejemplo, las variables enteras que se declaran utilizando la palabra reservada i, tienen una longitud de 4, nos estamos refiriendo a la cantidad de bytes que ocupa una variable de ese tipo y no a la cantidad de digitos máximos que puede almacenar. Tomando el caso de los enteros, una variable del tipo i puede almacenar números que van desde los -32.332.322 a los 32.332.322
También existen los Tipos STRING que se utilizan para cadenas de longitud variable y XSTRING que se utilizan como un STRING hexadecimal para cadenas de caracteres muy grandes. Para declarar una variable utilizaremos la palabra clave DATA y TYPE tal como vemos en el siguiente ejemplo.
Con el agregado VALUE, inicializamos con un valor determinado a una variable.
Cuando declaramos variables de tipo caracter TYPE c debemos especificar la longitud de la cadena. De lo contrario el sistema asumirá que su longitud es 1 caracter.
También podemos declarar variables que sean de igual tipo que otras ya creadas en el sistema. Para esto utilizamos la sentencia LIKE. En el siguiente caso, creamos la variable V_CARRID que es del mismo tipo que el campo CARRID de la tabla SFLIGHT de Vuelos de SAP.
DATA: v_carrid LIKE sflight-carrid. "Denominación breve de la compañía aérea
TABLAS ÚTILES:
Tabla SFLIGHT
La tabla base de datos SFLIGHT es una tabla estándar del sistema SAP que contiene información sobre Vuelos y que generalmente es utilizada para realizar programas de prueba o demo en el sistema.
Otra tabla base de datos similar, muy comúnmente utilizada con el mismo propósito es la tabla SPFLI.
Utilizamos la sentencia LIKE para crear una variable estructura o tabla interna igual a otra variable estructura o tabla interna. Es decir vamos a declarar una variable como copia de otra variable que fue previamente declarada o creada en el diccionario de datos. Por ejemplo, si declaramos DATA: v_dni la xztabla LIKE ztabla-dni aquí la variable v_dni es exactamente igual que el campo dni documento de identidad de la tabla base de datos ztabla-usuarios. Utilizamos la sentencia TYPE para crear una variable estructura o tabla interna de un tipo particular creado en el diccionario de datos ABAP. Por ejemplo, si declaramos DATA: v_dni TYPE zzdni aquí la variable dni es del tipo zzdni. La principal diferencia entre TYPE y LIKE radica en que si el día de mañana se actualiza la definición del tipo y no se actualiza del campo dni de la tabla base de datos, entonces la definición de nuestra variable quedará desactualizada.
Estructura de Datos
ESTRUCTURA
Es un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas.
Existen 3 formas de definir una estructura:
La primera es utilizando la palabra clave DATA. En el siguiente ejemplo creamos una estructura de vuelos que tendrá los mismos campos que la tabla vuelos SFLIGHT.
* Estructura de vuelos
DATA: wa_vuelos TYPE sflight.
En la segunda forma también utilizamos la palabra clave DATA pero vamos a crear una estructura de vuelos solo con ciertos campos.
La tercera forma es utilizando TIPOS, que son formatos de estructuras que pueden ser utilizados por cualquier otra estructura sin necesidad de reescribir el código. Para esto se utiliza la palabra reservada TYPES.
CONSTANTES
Es una variable que se declara dentro de un programa cuyo valor permanecerá tal como lo indica su nombre constante a lo largo del programa.
Para su declaración se utiliza la palabra reservada CONSTANTS.
* Constantes
CONSTANTS: c_ca(2) TYPE c VALUE 'CA',
c_cb(2) TYPE c VALUE 'CB'.
IDEAS: La utilización de constantes ayuda a que el mantenimiento de las aplicaciones ABAP sea más sencillo.
Include de datos
Es un objeto de ABAP que se utiliza para modularizar los programas de manera que estos resulten más legibles y mantenibles.
Existen dos tipos de INCLUDES. Ellos son:
- INCLUDE de datos: se utiliza para agrupar declaraciones de datos.
- INCLUDE de subrutinas: se utiliza para agrupar declaraciones de subrutinas.
Para la creación de los INCLUDE de datos se utiliza la palabra clave INCLUDE seguida del nombre del include.
REPORT z_prueba_abap.
* Include de datos
Include z_prueba_abap_datos.
Al hacer doble clic sobre z_prueba_abap_datos veremos la siguiente ventana de diálogo donde se nos consulta si deseamos crear el objeto, a la cual responderemos que sí.
Luego veremos la ventana de diálogo que nos muestra el objeto que será creado. Aquí simplemente presionamos el botón Grabar.
Finalmente habremos creado el INCLUDE Z_PRUEBA_ABAP_DATOS.
“La utilización de INCLUDES es considerada una buena práctica de programación.”
Variables del sistema
A parte de las variables que define el programador, existen otras que han sido definidas por el sistema y que son de gran utilidad dentro de los programas ABAP. Estas se encuentran en la tabla de base de datos SYST y contienen información que va desde la hora del sistema, a saber si se ejecuto correctamente una sentencia en ABAP o una actualización a una base de datos. Su contenido no puede ser modificado en los programas sino que cambia simplemente con la ejecución de los mismos.
TABLAS ÚTILES:
SYST
La tabla base de datos SYST almacena las variables del sistema de un programa ABAP.
Las más comunmente utilizadas son:
- SY-SUBRC: código de retorno posterior a la ejecución de una sentencia ABAP. Si el resultado de la ejecución fue exitoso, entonces es 0, sino es distinto de cero.
- SY-DATUM: contiene la fecha del sistema.
- SY-UZEIT: contiene la hora del sistema.
------------------------------------------------------------------
Como vimos anteriormente la variable del sistema SY_UZEIT, nos proporciona la hora actual del sistema al ejecutar un programa. Si realizamos un debug a un programa veremos que siempre el contenido de SY_UZEIT será el mismo a lo largo de todo el debug. Supongamos que se nos solicita realizar un programa y se nos pide que imprimamos en pantalla el tiempo que tarda el programa en ejecutarse. Para resolver este requerimiento sabemos que la hora de inicio de la ejecución del programa la podemos obtener de la variable del sistema SY_UZEIT y para obtener la hora de fin del programa, es decir, justo antes de que finalice el mismo, debemos actualizar el contenido de la variable del sistema SY-UZEIT. Esto lo hacemos ejecutando la sentencia GET TIME la cual actualizará la variable de la hora actual del sistema.
------------------------------------------------------------------
- SY-TABIX: contiene el ínidice de una tabla interna. (SY-INDEX) contiene la cantidad de repeticiones de los bucles.
Se analizarán los temas vistos en la lección.
Existe una regla que dice que un código no debe tener más de 50 lineas. Si tiene más de 50 lineas se debe modularizar, es decir, crear una subrutina.
 
 
 
Sobre el autor
Publicación académica de Vismark Eyner Sevillano Moreno, en su ámbito de estudios para la Carrera Consultor ABAP.
Vismark Eyner Sevillano Moreno
Profesión: Tecnologo en Sistemas - Colombia - Legajo: KN43C
✒️Autor de: 62 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Aprender todo lo relacionado con programación sap abap, para desenvolverme en el área laboral en el sector de programación abap.
Certificación Académica de Vismark Sevillano