✒️ABAP La declaración de datos
ABAP La declaración de datos
TIPOS DE DATOS DE ABAP
El lenguaje de programacion ABAP divide los tipos de datos en dos grupos:
1 - tipos completos en los tipos completos los tipos de datos tienen una longitud fija establecida por el sistema estandar y cuando declaramos una variable de un tipo completo ya tenemos la longitud del dato
2- tipos incompletos
la longitud del dato no viene fijada por el sistema estandar y sera 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 completos estandar tenemos lo 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 representa el año, MM representa el mes y DD representa el dia.
*T - es el tipo de datos para la la hora, el cual tiene formato HHMMSS con longitud fija de 6 digitos, donde HH representa la hora, MM representa los minutos y SS representa los segundos.
*I - es el tipo de datos para los numeros enteros, el cual tiene una longitud fija de 4 bytes.
*F - es el tipo d edatos par alos numeros de punto flotante o decimales, el cual tiene una longitud fija de 8 bytes.
*DECFLOAT16 - es el tipo de datos que se utiliza para los numeros deciamales de punto flotante. el cual tiene una longitud fija de 8 bytes.
*DESCFLOAT34 - es el tipo de datos que se utiliza para los numeros decimales de punto flotante, el cual 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.
*XTRING - es el tipo de datos que se utiliza para las secuencias de bytes de longitud dinamica(cadena hexadecimal)
Dentro de los tipos de datos incompletos estandar tenemos a los siguientes 4 tipos
*C - es el tipo de datos que se utiliza para cadenas de caracteres, para el que se dene 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 especfiicar la longitud fija. en la definicion de un numero empaquetado, es posible que tambien se especifique la cantidad de puntos decimales.
Cuando declaramos variables de tipo C o caracter TYPE c debemos especificar la longitud de la cadena de caracteres. de lo contrario el sistema asumira que su longitud es de 1 caracter
Para declarar variables ya existentes en el diccionario de datos de la siguiente forma
DATA: V_NRO_CLIENTE TYPE kunnr.
DATA: V_CARRID LIKE SFLIGHT-CARRID.
ESTRUCTURA DE DATOS
estructura es un tipo de datos compuesto que esta formado por un conjutno de campos realcionados, cuyos componentes pueden ser simples campos, otras extructuras o inclusive tablas.
Existen cuatro formas de declarar una estructura en un programa ABAP:
*La primera es utilizando la palabra clave DATA. ejemplo DATA: wa_vuelos TYPE sflight.
*En la segunda forma tambien utilizamos la palabra clave DATA pero vamos a declarar una estructura de vuelos solo con ciertos campos por ejemplo:
DATA: BEGIN OF wa_vuelos2,
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_planetye,
END OF WA_VUELOS2.
*Tambien podemos declarar la estructura tal como hicimos en el ejemplo anterior pero utilizando los tipos de datos completos o incompletos estandar de SAP
DATA: BEGIN OF WA_VUELOS3,
CARRID(3) TYPE C,
CONNID(4) TYPE N,
FLDATE TYPE D,
PRICE TYPE P DECIMALS 2,
CURRENCY(5) TYPE C,
PLANETYPE(10) TYPE C,
END OF WA_VUELOS3.
* finalmente la cuarta forma de declarar una estructura 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
TYPES: BEGIN OOF 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_planetye,
END OF ty_vuelos.
*Constante es una variable que se declara dentro de un programa y cuyo calor permanecera tal como lo indica su niombre constante a lo largo de su ejecucion, para su declaracion se utiliza la palabra reservada CONSTANS
si declaramos un tipo de datos incompleto se debe especificar su longitud ejemplo
CONSTANTS: c_x(1) TYPE c VALUE 'x'.
si declaramos un tipo de datos completo no es necesario especificar la longitud ejemplo
CONSTANTS: c_nombre TYPE string VALUE 'Ezequiel'.
INCLUDE es un tipo de programa u objeto ABAP que se utiliza para modularizar los programas de manera que estos resulten mas legibles y mantenibles. existen dos tipos de INCLUDES :
* INCLUDE de datos: se utilizan para agrupar las declaraciones de datos.
* INCLUDE de subrutinas: se utilizan para agrupar las declaraciones de subrutinas
VARIABLES DE SISTEMA
*Tabla SYST la tabla base de datos SYST almacena a las variables del sistema de un programa ABAP
*SY-SUBRC es sin dudas la mas importante de todas las variables del sistema, se utiliza para chequar posteriormnete a la ejecucion de una sentencia ABAP, si el resultado de la ejecucion fue exitoso o no
si luego de ejecutarse una setencia ABAP el resultado de la ejecucion fue exitoso, entonces la variable SY-SUBRC tendra valor cero y si no es exitoso entonces la variable SY-SUBRC tendra un valor distinto a cero
*SY-DATUM esta varible del sistema contiene la fecha del sistema en el formato AAAAMMDD.
*SY-UZEIT: esta variable del sistema contiene la hora del sistema en el formato HHMMSS.
*SY-TABIX esta variable de sistema contiene el indice de una tabla interna.
 
 
 
Sobre el autor
Publicación académica de Alexander Antelo Garcia, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Antelo Garcia
Profesión: Ing. en Sistemas de la Informacion - Mexico - Legajo: KR64D
✒️Autor de: 44 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alexander Garcia