✒️ABAP / La declaración de datos Por Mara Romero Hernandez
ABAP La declaración de datos

Se necesita crear tipos de datos ya que los programas utilizan variables constantes y otros objetos para almacenar los datos durante su ejecución.
ABAP forma parte de los lenguajes de programación tipados tal como son C o JAVA. Por otro lado, los lenguajes de tipado dinámico o no tipados no necesitan establecer un tipo y en una misma variable se puede almacenar cualquier tipo de dato durante la ejecucion, como puede ser PHP (Lenguaje de desarrollo web).
El lenguaje de programacion ABAP divide los tipos de datos en dos grupos:
- Tipos completos
- Tipos incompletos
la diferencia entre los dos grupos de datos se debe a la longitud del dato no viene fijada por el sistema estandar y será el programador el que tiene obligacion de especificar la longitud del dato en el momento de la declaracion de la variable.
En los tipos incompletos, la longitud del dato no viene fijada por el sistema estándar y será el programador el que tiene la obligacion de especificar la longitud del dato en el momento de la declaracion de la variable.
Dentro de los tipos de datos incompletos estandar tenemos a los siguientes 8 tipos:
D -- es el tipo de datos para fechas, el cual tiene el formato AAAAMMDD, con longitud fija de 8 digitos, donde AAAA es el año, MM es el mes, y DD es el dia.
T -- para la hora, el cual tiene HHMMSS con una longitud fija de 6 digitos, donde HH es la hora, MM son los minutos y SS son los segundos.
I-- Son para numeros enteros, longitud fija de 4 bytes
F -- Es el tipo de datos para los numeros de punto flotante o decimales, la longitud fija es de 8 bytes.
DECFLOAT16- numeros decimales y de punto flotante, la longitud fija de 8 bytes.
DECFLOAT34 -- Se utiliza para numeros decimales de punto flotante, tiene una longitud fija de 16 bytes
STRING -- Es el tipo de datos que se utiliza para las cadenas de caracteres, el cual tiene una longitud dinamica.
XSTRING -- Es el tipo de datos que se utiliza para la secuencias de bytes de longitud dinamica (cadena hexadecimal)
TIPOS DE DATOS INCOMPLETOS ESTANDAR, LOS 4 SIGUIENTES:
C- Es el tipo de datos que se utiliza para las cadenas de caracteres, para que se debe especificar la longitud fija.
N- Es el tipo de datos que se utiliza para las cadenas de caracteres numericas, para el que se debe especificar la longitud fija.
X-- Es el tipo de datos que se utiliza para la secuencia de bytes (cadena hexadecimal), para el que se debe especificar la longitud fija.
P- Es el tipo de datos que se utiliza para los numeros empaquetados, para el que se debe especifica la longitud fija. En la definicion de un numero empaquetado, es posible se especifique la cantidad de puntos decimales.
Para declarar una variable en un programa ABAP vamos a utilizar dos palabras reservadas sumamente importantes dentro del mundo ABAP, tal como son DATA y TYPE.
Para declarar en un programa ABAP una variable de tipo fecha se hace lo siguiente:
DATA: v_fecha TYPE d
Si deseamos asignar un valor determinado a la variable al mismo tiempo que la declaramos entonces vamos a utlizar el agregado VALUE en esta forma:
DATA: v_fecha TYPE d VALUE ´20250630´
Para declarar una variable de tipo hora hariamos los siguiente:
DATA: v_hora TYPE t.
Si deseamos asignar un valor determinado a la variable al mismo tiempo que la declaramos entonce vamos a utilizar el agregado VALUE:
DATA: v_hora TYPE t VALUE ´14:55:00´
Para una variable de tipo entero y asignarle un valor determinado hariamos lo siguiente:
DATA: v_cantidad TYPE i VALUE ´1000´
Variable de tipo STRING y asignarle un valor determinado se hace lo siguiente:
DATA: v_texto TYPE string VALUE ´ABAP es un lenguaje de programación´
Si queremos declarar una variable de tipo C o caracter y asignarle un contenido determinado se hace lo siguiente:
DATA: v_nombreyape(40) TYPE c VALUE ´Julian Alvarez´
cuando se declare alguna variable de tipo c o caracter TYPE debemos especificar la longitud de la cadena de caracteres. De lo contrario el sistema asumira que su longitud es de 1 caracter.
Si deseamos declarar una variable de tipo n y asignarle un contenido determinado hariamos lo siguiente:
DATA: v_telefono(13) TYPE n VALUE ´5491156859687´
Si deseamos declarar una variable de tipo p o empaquetado y asignarle un contenido determinado se hace lo siguiente:
DATA: v_pi TYPE p DECIMALS 11 VALUE ¨3.14159265359´
Por cada declaración de datos estamos utilizando una sentencia DATA diferente, por lo que la momento de ejecutarse el programa ejecutara 7 sentencias diferentes.
otra forma de declarar variables utilizando TYPE consiste en asignarle a la variable un tipo de datos ya existente en el diccionario de datos de SAP.
DATA: v_nro_cliente TYPE kunnr. "N° de cliente
Tambien se puede declarar la variable V_CARRID que es del mismo tipo de datos que el campo CARRID de la tabla base de datos SFLIGHT de vuelos de SAP.
DATA: v_carrid LIKE sflight-carrid. "Denominación breve de la compañia aérea
TABLA SFLIGHT
es una tabla estandar del sistema SAP que contiene informacion sobre vuelos y que generalmente se utiliza para realizar programas de prueba o demo en el sistema.
2- Las estructuras de datos
ESTRUCTURA
Es un tipo de dato compuesto que esta formado por un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas.
Se utilizan principalmente cuando trabajamos con tablas internas.
Existen cuatro formas para declarar una estructura en un programa ABAP:
La primera es utilizando la palabra clave DATA.
*Estructura de vuelos*
DATA: wa_vuelos TYPE sflight
La segunda forma tambien se utiliza la palabra clave DATA, pero se va a declarar una estructura de vuelos solo con ciertos campos.
*Estructura de vuelos
DATA: BEGIN OF wa_vuelos2,
carrid TYPE s_card_id, "Denominación breve de la compañia aerea
connid TYPE s_conn_id, "Código de conexion de vuelo directo
fldate TYPE s_date, "Fecha de vuelo
price TYPE s_price, "precio del vuelo
currency TYPE s_currcode, Moneda local de la compañia aérea
Planetype TYPE s_planetye, "tipo de avión
END OF wa_vuelos2.
Tambien se puede declarar la estructura tal como hicimos en el ejemplo anterior pero utilizando datos completos o incompleto estandar de SAP:
*Estructura de vuelos
DATA: BEGIN OF wa_vuelos3,
carrid (3) TYPE c, "Denominación breve de la compañia aerea
connid (4) TYPE n, "Código de conexion de vuelo directo
fldate TYPE d, "Fecha de vuelo
price TYPE p DECIMALS 2, "precio del vuelo
currency TYPE c, Moneda local de la compañia aérea
Planetype TYPE c, "tipo de avión
END OF wa_vuelos3.
La cuarta y ultima forma de declarar una estructura de datos es utilizando TIPOS, que son formatos de estructuras que pueden ser utilizados por cualquier otra estructura sin necesidad de reescribir el codigo. para esto se utiliza la palabra reservada TYPES
:
*Estructura de vuelos
TYPES: BEGIN OF ty_vuelos,
carrid TYPE s_carr_id,
connid TYPE s_conn_id,
fldate TYPE s_date,
price TYPE s_price,
currency TYPE s_currcode,
planetype TYPE s_planetype,
END OF ty_vuelos.
DATA: wa_vuelos4 TYPE ty_vuelos.
3- Las constantes
Es una variable que se declara dentro de un programa y cuyo valor permanecera tal como lo indica su nombre consante a lo largo de la ejecución del programa.
para su declaracion se utiliza la palabra reservada CONSTANTS y se debe especificar el tipo de datos de la constante y tambien el valor que tendrá la constante a lo largo de la ejecución del programa.
Si declaramos una constante de un tipo de datos incompleto ademas deberemos especificar su longitud:
CONSTANT: c_x (1) TYPE c VALUE ´X´.
Si declaramos una constante de tipo de datos incompleto entonces no será necesario especificar su longitud:
CONSTANT: c_nombre TYPE string VALUE "Ezequiel"
La utilización de constantes ayuda a que el mantenimiento de los programas ABAP sea más sencillo, por lo tanto utilizar constantes en ligar de textos es considerada una buena práctica de programación.
- Los incluye de datos y subrutinas
En los programas escritos en ABAP, las declaraciones de datos se ubican al comienzo del código, justo después de la sentencia REPORT y antes del desarrollo de los eventos del programa. Esta estructura es común y funcional, sobre todo cuando se trata de programas pequeños o de baja complejidad, en los que es posible entender el propósito general del código con una simple lectura superficial.
Sin embargo, la situación cambia cuando trabajamos con programas más extensos o complejos, que pueden superar fácilmente las 1000 líneas de código. En estos casos, las declaraciones de datos pueden ocupar más de 100 líneas, lo cual puede dificultar considerablemente la lectura, el análisis y la comprensión general del programa. Esto afecta directamente la mantenibilidad y escalabilidad del desarrollo, ya que cuesta más identificar qué hace cada parte del código y cómo se relacionan los datos con la lógica del programa.
Para solucionar este problema y facilitar la organización del código, ABAP ofrece una herramienta muy útil llamada INCLUDE. Los Includes permiten dividir el programa en partes separadas, agrupando código relacionado (como declaraciones de datos, subrutinas, módulos, etc.) en archivos independientes que luego se integran al programa principal.
Esta práctica mejora notablemente la legibilidad, el mantenimiento y la reutilización del código. Por ejemplo, es posible tener un Include exclusivo para las declaraciones de datos, otro para la lógica de eventos, otro para funciones específicas, etc. De esta forma, los programas ABAP se vuelven más limpios, ordenados y fáciles de modificar o ampliar en el futuro.
Un INCLUDE es un tipo de objeto o programa ABAP que se utiliza para modularizar el código y hacerlo más legible, organizado y fácil de mantener. Gracias a los Includes, es posible dividir un programa en partes independientes que luego se integran en el programa principal.
Esta técnica es especialmente útil en programas extensos, donde agrupar y organizar diferentes secciones del código mejora la comprensión general y facilita tanto el desarrollo como la futura modificación del programa.
⸻
Tipos de INCLUDE
Existen dos tipos principales de INCLUDE:
1. INCLUDE de datos Se utiliza para agrupar las declaraciones de datos del programa. Esto permite separar la definición de variables, estructuras, tablas internas, etc., en un archivo independiente, manteniendo el código principal más limpio y ordenado.
2. INCLUDE de subrutinas
Sirve para agrupar subrutinas (procedimientos o bloques reutilizables de código). Este tipo se estudiará con más detalle más adelante, ya que involucra la lógica de procesamiento del programa.
⸻
Cómo crear un INCLUDE de datos
Para utilizar un INCLUDE de datos en un programa ABAP, se debe escribir la palabra reservada INCLUDE después de la sentencia REPORT, seguida del nombre del INCLUDE de datos que se desea incorporar.
Ahora que ya sabemos cómo crear un include de datos entonces la próxima vez que creemos un programa ABAP nuevo, inmediatamente luego de la creación del programa vamos a declarar y crear un include de datos, de modo que todas las
declaraciones de datos que vayamos haciendo las vamos a ir declarando en el include.
La utilización de INCLUDES es considerada una buena práctica de programación.
- Las variables del sistema
A parte de las variables que define el programador ABAP en el programa, existen otras variables que han sido definidas por el sistema y que son de gran utilidad dentro de los programas ABAP.
Estas variables se encuentran en la tabla base de datos SYST y contienen información que va desde la hora del sistema, a saber, si se ejecutó correctamente una sentencia ABAP o una actualización a una tabla base de datos. Su contenido no puede ser modificado en los programas, sino que cambia simplemente con la ejecución de los mismos.
Tabla SYST
La tabla base de datos SYST almacena a las variables del sistema de un programa ABAP.
SY-SUBRC: es sin dudas la más importante de todas las variables del sistema. Se la utiliza para chequear posteriormente a la ejecución de un sentencia ABAP, si el resultado de la ejecución fue exitoso o no.
Si luego de ejecutarse una sentencia ABAP el resultado la ejecución fue exitoso, entonces la variable SY-SUBRC tendrá el valor cero y si no es exitoso tendrá un valor distinto de cero.
SY-DATUM: esta variable del sistema contiene la fecha del sistema en el formato AAAAMMDD. Es una variable sumamente útil en nuestro trabajo del día a día como programadores ABAP.
SY-UZEIT: esta variable del sistema contiene la hora del sistema en el formato HHMMSS.
SY-TABIX: esta variable del sistema contiene el índice de una tabla interna. Más adelante veremos en detalle todo lo relativo a tablas internas.
 
 
 
Sobre el autor
Publicación académica de Mara Fadua Romero Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Mara Fadua Romero Hernandez
Profesión: Psicóloga - Mexico - Legajo: EE18E
✒️Autor de: 67 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Mara Romero






Disponibilidad Laboral: FullTime


















