✒️ABAP La declaración de datos
ABAP La declaración de datos
Tipos de datos: Según longitud de datos
* Completos: Son longitud fijo establecida por el sistema estándar SAP. Existen 8 tipos:
- "D"- de tipo fecha "D" de Date, formato: AAAAMMDD,
- "T"- de tipo Time: HHMMSS
- "I" - de tipo entero: longitud fija de 4 bytes.
- "F"- de tipo flotante o decimales, longitud fija de 8 bytes.
- "DECFLOAT16"- para números decimales de punto flotante, longitud 8 bytes.
- "DECFLOAT34"- para números decimales de punto flotante, longitud 16 bytes.
- "STRING"- de tipo cadena de carácter, el cual la longitud es dinámica.
- "XSTRING"- para las secuencias de bytes de longitud dinámica. (cadena hexadecimal).
* Incompletos: la longitud del dato no viene fijada por sistema estándar, el programador debe especificarla. Tenemos 4 tipos:
- "C"- cadenas de carácter cortas, se debe especificar longitud fijar.
- "N"- cadenas de caracteres numéricas, se debe especificar longitud fija.
- "X"- secuencias de bytes (cadena hexadecimal) también se debe especificar.
- "P"- para números empaquetados, para el que se debe especificar longitud fija. Es posible que también se tenga que especificar la cantidad de puntos decimales.
En los 12 tipos de datos estándar completos e incompletos se llaman “primitivos”, se pueden crear tipos de datos complejos, estructuras bidimensionales u objetos del diccionario de datos.
Los más usados son: DATA y TYPE
DATA: v_fecha TYPE d VALUE ‘2019/03/09’ (AÑO/MES/DIA) (AAAA/MM/DD)
DATA: v_hora TYPE t. VALUE ‘14/55/00’ (HORAS/MINUTOS/SEGUNDOS) (HHMMSS)
DATA: v_cantidad TYPE i VALUE ‘1000’
DATA: v_texto TYPE string VALUE ‘ABAP es un lenguaje de programación’
DATA: v_nombreyape(26) TYPE c VALUE ‘Julian Alvarez’
DATA: v_telefono(13) TYPE n ‘5491156898687’
DATA: v_pi TYPE p DECIMALS 11 VALUE ‘3.14159265359’
Podemos optimizar esta forma de declarar variables, en una sola sentencia DATA, usando las comas y la final usando el punto.
Otra forma de declarar variables usando TYPE, consiste en asignarle a la variable tipo de dato ya existente en el Diccionario de datos: Ejemplo usar KUNNR.
DATA: v_nro_cliente TYPE kunnr.
Donde KUNNR ya es un tipo de datos usado para crear clientes nuevos.
Podemos declarar variables que sean de igual tipo de datos que otras variables ya creadas usando el LIKE. Ej.
DATA. v_carrid LIKE sflight-carrid. ‘Denominación breve de la compañía aérea’
Tabla SFLIGHT es estándar de SAP que contiene información sobre vuelos, otra base de datos muy utilizada es la SPFLI.
Usar: TYPE o LIKE
Usando TYPE: se declara de dos formas: usando los tipos de datos de estándar del sistema ya sea completo o incompleto, sino usando un tipo de datos ya existente en el diccionario de datos Ej. KUNNR, este último se re utiliza tipo de datos ya existente tendrá mejor performance el sistema, pero si alguien lo modifica ese tipo de datos va a impactar en los programas satélites. Y si usamos LIKA también pasa lo mismo, si a futuro alguien lo modifica en el sistema, ese cambio, va a impactar en donde se utilice como referencia.
2) Estructura de datos: Son un tipo de dato compuesta que está formado por un conjunto de campos relacionados, pueden ser simples campos, o estructuras o tablas.
Esta estructura durara en memoria mientras dure la ejecución del programa. Se usan cuando trabajamos con tablas internas.
Existen 4 formas de declarar: o sea, 4 FORMAS DE HACER LO MISMO
Ej. DATA: BEGIN OF wa_vuelos2
Carrid TYPE s_carre_id,
connid TYPE s_date,
price TYPE s_price,
END OF wa_vuelos2.
Ej. DATA: BEGIN OF wa_vuelos2
carrid(3) TYPE c,
price TYPE p DECIMALS 2,
END OF wa_vuelos2.
Ej. DATA: BEGIN OF ty_vuelos,
Carrid TYPE s_carre_id,
connid TYPE s_date,
price TYPE s_price,
END OF ty_vuelos.
DATA: was_vuelos4 TYPE ty_vuelos.
3) Constantes: se declara con la palabra reservada CONSTANTS, además su tipo de dato y el valor que tendrá durante la ejecución del programa,
El uso de estas ayuda al mantenimiento del código ABAP siendo más sencillo. Por lo tanto usar constantes en vez de textos entre comillas, es buena práctica.
4) Include de datos y de subrutinas:
Sabemos: la declaración de datos se ubica al comienzo del programa, es decir, luego de la sentencia REPORT y antes de la declaración de cada uno de los eventos del programa.
Si un código tiene poca línea y es baja complejidad no generar complicaciones, en cuanto a la comprensión, se visualiza rápido y es mas comprensible.
Pero si es muy extenso: seguro tengamos 1000 líneas de código y 100 líneas solo de declaraciones, por lo que el programa se hace más complejo de leer.
Entonces existe un tipo de programa ABAP que nos ayuda mucho con esto: hablamos de INCLUDES.
Sirve para modularizar los programas de manera que sean más legibles, de mantenerlos y escalables.
*Existen 2 tipos de INCLUDE:
- INCLUDE DE DATOS para agrupar las declaraciones de datos.
- INCLUDE de subrutinas: para agrupar declaraciones de subrutina.
5) Variables de SISTEMAS
Son de gran utilidad, están en la tabla de base de datos SYST, su contenido no puede ser modificado y almacenan los datos del sistema. Desde ejecución de sentencias u hora fecha y demás. Ej.
- SY-SUBRC: la mas importante de todas las variables. Chequea posteriormente a la ejecución de una sentencia ABAP si el resultado es correcto o no. Si VALE CERO fue exitoso, sino será distinto de CERO.
- SY-DATUM: Contiene la fecha del sistema, formato AAAMMDD, es una muy útil en el día a día.
- SY-UZEIT: contiene la hora del sistema, formato HHMMSS
- SY-TABIX: contiene el índice de una tabla interna.
 
 
 
Sobre el autor
Publicación académica de Gaston Asplanatti, en su ámbito de estudios para la Carrera Consultor ABAP.
Gaston Asplanatti
Profesión: Senior Technical Architect - Argentina - Legajo: UW99J
✒️Autor de: 21 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Mis objetivos laborales se enfocan en ser competente en las funciones requeridas. mi perfil t?cnico y de inter?s son: programador y t?cnico (sysadm)
Certificación Académica de Gaston Asplanatti