Tipos de datos ABAP
(C)har (texto)
(F)loat (punto flotante - decimal)
(I)nteger (entero)
(P)ackage (número empaquetado – comprimido)
(H)exadecimal
(D)ate (YYYYMMDD - fecha)
(T)ime (HHMMSS - hora)
STRING (cadena de caracteres)
XSTRING (cadena de caracteres más larga)
Para declarar una variable se utiliza el comando:
DATA [nombre variable] TYPE [tipo de dato].
Opcionalmente, al final añadimos VALUE [valor de la variable] si queremos inicializar la variable a la vez que la declaramos.
Para declarar una variable del mismo tipo de una ya existente, sustituimos TYPE, por LIKE, quedará así:
DATA [nueva variable1] LIKE [variable existente].
Estructuras de datos
Es un conjunto de datos relacionados, cuyos componentes pueden ser, campos, otras estructuras o tablas.
Hay 3 formas de definir una estructura:
- DATA: Ejemplo DATA: variable1 TYPE tabla1
- DATA, pero declarando una estructura:
DATA: BEGIN OF var1,
id TYPE s_id,
nom TYPE s_nom,
tlf TYPE s_tlf,
END OF var1.
- TYPES: Reutilizamos así una estructura ya declarada.
TYPES: BEGIN OF var1,
id TYPE s_id,
nom TYPE s_nom,
tlf TYPE s_tlf,
END OF var1.
DATA: var2 TYPE var1.
Constantes
Es una variable declarada en el programa cuyo valor permanece constante (fijo).
CONSTANTS: [nombre variable] TYPE [tipo de dato] VALUE [valor].
Include de datos
Se utiliza para modularizar el programa, así será mas legible y fácil de manejar. Es una buena practica de la programación.
Hay dos tipos de includes:
- Include de datos: Agrupaciones de datos
- Include de subrutinas: Agrupaciones de subrutinas.
Variables del sistema
Son variables definidas por el sistema.
Están en la tabla SYST.
Son útiles para por ejemplo, saber la hora del sistema, si se ejecuta correctamente un programa, o si se ha actualizado una base de datos correctamente.
Las más utilizadas son:
- SY-SUBRC: Código de retorno al finalizar la ejecución del programa. Si es 0, todo OK, si es distinto de 0, habrá algún tipo de error.
- SY-DATUM: Contiene la fecha del sistema.
- SY-UZEIT: Contiene la hora del sistema.
- SY-TABIX: Contiene el índice de una tabla interna.