✒️ABAP / La declaración de datos Por Yeny Yanes Bautista
ABAP La declaración de datos

La declaración de datos
Los tipos de datos ABAP
Tal como en otros lenguajes de programación, en ABAP existen diferentes tipos de datos que podemos declarar en nuestros programas
El lenguaje de programación ABAP divide los tipos de datos en dos grupos:
* Tipos completos
* Tipos incompletos
La diferencia entre los 2 grupos se debe a la longitud del dato. En los tipos completos los tipos de datos tienen una longitud fija establecida por el sistema estándar y cuando se declara ya tenemos la longitud del dato.
En los tipos incompletos, la longitud del dato no viene fijada por el sistema estándar y será el programador el que tiene la obligación de especificar la longitud del dato en el momento de la declaración de la variable.
Dentro de los tipos de datos completos estándar tenemos los siguientes 8 tipos:
1. D: Es el tipo de datos para fechas, el cual tiene el formato AAAAMMDD con una longitud fija de 8 dígitos
DATA: v_fecha TYPE d.
DATA: v_fecha TYPE d VALUE '20250104'.
2. T: Es el tipo de dato para la hora, el cual tiene el formato HHMMSS con una longitud fija de 6 dígitos
DATA: v_hora TYPE t.
DATA: v_hora TYPE t VALUE '09:15:00'.
3. I: Es el tipo de dato para los números enteros, el cual tiene una longitud fija de 4 bytes
DATA: v_cantidad TYPE i.
DATA: v_cantidad TYPE i VALUE '1000'.
3. F: Es el tipo de dato para los números de punto flotante o decimales, el cual tiene una longitud fija de 8 bytes
4. DECFLOAT16: Es el tipo de dato que se utiliza para los números decimales de punto flotante, el cual tiene una longitud de 8 bytes.
5. DECFLOAT34: Es el tipo de dato que se utiliza para los números decimales de punto flotante, el cual tiene una longitud de 16 bytes.
6. STRING: Es el tipo de dato que se utiliza para las cadenas caracteres, el tiene una longitud dinámica.
DATA: v_texto TYPE string.
DATA: v_texto TYPE string VALUE 'ABAP es un lenguaje de programación'.
7. XSTRING: Es el tipo de dato que se utiliza para las secuencias de bytes de longitud dinámica (cadena hexadecimal).
Dentro de los tipos de datos incompletos estándar tenemos los siguientes 4 tipos:
1. C: Es el tipo de dato que se utiliza para las cadenas de caracteres, para el que se debe especificar la longitud fija.
DATA: v_nombre(40) TYPE c VALUE 'Julian Alvarez'
2. N: Es el tipo de dato que se utiliza para las cadenas de caracteres numéricas, para el que se debe espeicificar la longitus fija.
DATA: v_telefono(13) TYPE n VALUE '1010199012345'
3. X: Es el tipo de dato que se utiliza para la secuencia de bytes (cadena hexadecimal), para el que se debe especificar la longitud fija.
4. P: Es el tipo de dato que se utiliza para los números empaquetados, para el que se debe especificar la longitud fija. Es posible que tambien se especifique la cantidad de puntos decimales.
DATA: v_pi TYPE p DECIMALS 11 VALUE '13.14159265359'
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.
Ejemplo: DATA: v_fecha TYPE d.
<<Cuando declaramos variable de tipo c o caracter TYPE c debemos especificar la longitud de la cadena de caracteres, de lo contrario el sistema asumirá que su longitud es de 1 caracter.>>
Otra forma de declarar variables utilizando TYPE consiste en asignarle a la variable un tipo de datos que ya existe en el Diccionario de datos, es decir que ya existe en SAP.
DATA: v_nro_cliente TYPE kunnr. "N° de cliente"
Por último, tambien podemos declarar variables que sean de igual tipo de datos que otras variables ya creadas en el sistemas. Para esto utilizamos la sentencia LIKE.
En el siguiente ejemplo, declaramos la variable v_carrid que es del mismo tipo de dato que el campo carrid de la tabla de datos SFLIGHT de vuelos SAP.
DATA: v_carrid LIKE sflight-carrid. "Denominación breve de la compañía aérea"
<<Tabla SFLIGHT: es una tabla estándar del sistema SAP que contiene información sobre vuelos y generalmente es utilizada para realizar progrmaas de prueba o demo en el sistema. Otra tabla de datos similar, muy comunmente utilizada con el mismo propósito es la tabla SPFLI>>
2. La estructura de datos
Estructuras: Es un tipo de dato compuesto que está formado por un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras inclusive tablas.
Las estructuras se utilizan principalmente cuando trabajamos con tablas internas
Existen 4 formas de declarar una estructura en un programa ABAP
1. Utilizando la palabra clave DATA. Ejemplo: Declaramos una estructura de vuelos que tendrá los mismos campos que tiene la tabla base de datos de vuelos SFLIGHT
DATA: wa_vuelos TYPE sflight.
2. Utilizando la palabra DATA pero vamos a declarar una estructura de vuelos solo con ciertos campos. Para declarar cada uno de los campos de la estructura utilizamos tipos de datos ya existente en SAP.
DATA: BEGIN OF wa_vuelos2,
carrid TYPE s_carr_id, "Denominación breve de la compañía de la empresa"
connid TYPE s_conn_id, "Código de conexión de vuelo directo"
fldate TYPE s_date, "Fecha de vuelo"
price TYPE s_price, "Precio de 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.
3. Utilizando tipos de datos completos o incompletos estándar de SAP
DATA: BEGIN OF wa_vuelos3,
carrid(3) TYPE c, "Denominación breve de la compañía de la empresa"
connid(4) TYPE n, "Código de conexión de vuelo directo"
fldate TYPE d, "Fecha de vuelo"
price TYPE p DECIMALS 2, "Precio de vuelo"
currency(5) TYPE c, "Moneda local de la compañia aérea"
planetype(10) TYPE c, "Tipo de avión"
END OF wa_vuelos3.
4. Utilizando TIPOS que son formatos de estructuras que pueden ser utilizados por cualquier estructura sin necesidad de reescribir el código. Para esto se utiliza la palabra reservada TYPES. Ejemplo:
TYPES: BEGIN OF ty_vuelos,
carrid TYPE s_carr_id, "Denominación breve de la compañía de la empresa"
connid TYPE s_conn_id, "Código de conexión de vuelo directo"
fldate TYPE s_date, "Fecha de vuelo"
price TYPE s_price, "Precio de vuelo"
currency TYPE s_currcode, "Moneda local de la compañia aérea"
planetype TYPE s_planetye, "Tipo de avión"
END OF ty_vuelos.
DATA: wa_vuelos4 TYPE ty_vuelos.
**La mas recomendada desde el punto de vista de la reutilización es la delcaración de estructuras con tipos
3. Las constantes
Constante: Es una variable que se declara dentro de un programa y cuyo valos permanecerá tal como lo indica su nombre constante a lo largo de la ejecución del programa.
Para su declaración se utIliza la palabra reservada CONSTANTS, debemos especificar el tipo de datos de la constante y también el valor que tendrá la constante a lo largo de la ejecución del programa y si se declara una constante de un tipo de dato incompleto se deberá especificar su longitud
CONSTANTS: c_x(1) TYPE c VALUE 'X'.
CONSTANTS: c_nombre TYPE string VALUE 'Yeny'.
La utilización de constantes ayuda a que el mantenimiento de los programas ABAP sea mas sencillo, por lo tanto utilizar constantes en lugar de textos entre comillas simples es considferada una buena práctica de programación.
3. Los include de datos y de subrutinas
Include: Es un tipo de programa u objeto ABAP que se utiliza para modularizar los programas de manera que estos resulten más legibles y mantenibles.
Existen 2 tipos de INCLUDES.
>>INCLUDE de datos: Se utiliza para agrupar las declaraciones de datos
>>INCLUDE de subrutinas: Se utiliza para agrupar las declaraciones de subrutinas.
clarCada vez que creemos un programa ABAP nuevo, inmediatamente luego de la creación del programa vamos a delcrar y crear un include de datos, de modo que todas las declaraciones de datos que vayamos haciendo las vamos a ir declarand en el include.
**La utilización de includes es condiferada una buena práctiva de programación**
5. Las variables del sistema
Estas variables se encuentran en la tabla base de datos SYST y contienen informacipon que va desde la hora del siste,a a saber, si se ejecuta correctamente una sentencia ABAP o una actualizacipon a una tabla base de datos. Su contenido no puede ser modificado en loa programas, sino que cambia simplemente con 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: Se utiliza para chequear posteriormente a la ejecución de una sentencia ABAP, si el resultados fue existosos o no. Si el resultado fue exitoso, entonces la variables SY-SUBRC tendrá el valor 0 y no es exitoso entonces la variable SY-SUBRC tendrá un valor distinto de 0.
* SY-DATUM: Esta variable 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 contiene la hora del sistema en el formato HHMMSS.
* SY-TABIX: Esta variable del sistema contiene el índice de una tabla interna.
ZABAP_DATOS_ACTUALES_XC34C
Z_PRUEBA_DATOS_XC34C
 
 
 
Sobre el autor
Publicación académica de Yeny Gisela Yanes Bautista, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Yeny Gisela Yanes Bautista
Profesión: Ingeniera en Sistemas - Honduras - Legajo: XC34C
✒️Autor de: 46 Publicaciones Académicas
🎓Egresado de los módulos:
- Master Funcional ABAP
- Master ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial






Disponibilidad Laboral: FullTime


















