✒️ABAP La declaración de datos
ABAP La declaración de datos
Tipos de datos ABAP
ABAP al igual que Java o C pertenecen a los lenguajes tipados (hay que especificar el tipo de dato de la variable) por ejemplo si a la variable se le ingresaran datos numericos, se tendra que especificar el tipo de dato numerico en la variable cuadno se declare. En ABAP se dividen en dos grupos:
Tipos Completos: tienen una longitud fija establecida por el sistema estandar. Son 8 tipos:
- D - (fechas) tiene formato AAAAMMDD con longitud fija de 8 digitos.
- T - (hora) tiene formato HHMMSS con longitud fija de 6 digitos.
- I - (num enteros) longitud fija de 4 bytes.
- F - (num flotante o decimal) longitud fija de 8 bytes.
- DECFLOAT16 - (num decimales punto flotante) longitud fija de 8 bytes.
- DECFLOAT36 - (num decimales punto flotante) longitud fija de 16 bytes.
- STRING - (cadena de caracteres) longitud dinamica.
- XSTRING - (cadena hexadecimal) longitud dinamica.
Tipos Incompletos: no tiene longitud fija estandar, el programador debe especificar la longitud del dato cuando se declara la variable. Hay 4 tipos:
- C - (cadena de caracteres)
- N - (cadenas numericas)
- X - (cadenas hexadecimales)
- P - (numeros empaquetados)
Con los 12 tipos en total se pueden crear estructuras bidimensionales o objetos del diccionario de datos (SE11)
Para declarar variables en ABAP se utilizan las palabras reservadas DATA (declaracion variable) y TYPE (especificar el tipo), para especificar los decimales se utiliza DECIMALS, para darle un valor en la misma sentencia se utiliza VALUE y los datos entre comillas simples ' '.
Un ejemplo de declaracion tipo C (incompleto): DATA: var(40) TYPE c VALUE 'Luciano'.
Un ejemplo de declaracion tipo I (completo): DATA: var TYPE i VALUE '1000'.
Un ejemplo de declaracion tipo P (incompleto): DATA: var TYPE p DECIMALS 11 VALUE '11223456758'.
Tambien se les puede asignar a las variables los tipo de datos que ya existen en el Diccionario de datos. Por ejemplo: DATA v_nro_cliente TYPE kunnr.
Ademas se pueden asignar tipos de datos ya creadas en el sistema utilizando LIKE. Ejemplo: DATA: v_carrid LIKE sflight-carrid. (la tabla sflight es una estandar del sistema que tiene info de vuelos y es utilizada para programas de prueba)
ESTRUCTURAS
Es un tipo de dato compuesto de campos relacionados o varios tipos de datos, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas. Se utilizan mayormente cuando se trabaja con tablas internas. Existen 4 formas de declarar estructuras:
- Estructura de vuelos que tendra todos los campos de la tabla SFLIGHT:
DATA: wa_vuelos TYPE sflight.
- Estructura de vuelos solo con algunos campos:
DATA: BEGIN OF wa_vuelos2, carrid TYPE s_carr_id, connid TYPE s_conn_id. END OF wa_vuelos2 (Se le asignan tipos de datos ya existentes en SAP.)
- Estructura de vuelos con tipos de datos completos o incompletos:
DATA: BEGIN OF wa_vuelos3, carrid(3) TYPE c, price TYPE p DECIMALS 2. END OF wa_vuelos3.
- Estructura utilizando TIPOS, son formatos que pueden usarse en otra estructura sin necesidad de reescribir el codigo, se utiliza la palabra reservada TYPES:
TYPES: BEGIN OF ty_vuelos, carrid TYPE s_carrid_id, price TYPE s_price_id. END OF ty_vuelos.
DATA: wa_vuelos4 TYPE ty_vuelos. (le asignamos el tipo de dato ty_vuelos)
CONSTANTES
Es una variable que no modificara su valor a lo largo del programa, se utiliza la palabra reservada CONTANTS y se debe especificar el tipo de dato de la constante y el valor que tendra: EJEMPOS:
constante tipo incompleto: CONSTANTS: var(4) TYPE p DECIMALS 2 VALUE '22,54'.
constantes tipo completo: CONSTANTS: var TYPE string VALUES 'Ezequiel'.
INCLUDES Y SUBRUTINAS
Los includes son tipos de programas o objetos ABAP que se utilizan para modularizar los programas para que sean legibles y mantenibles, existen dos tipos: include de datos(agrupar declaraciones de datos) y include de subrutinas(agrupar declaraciones de subrutinas).
Para crear un include se coloca la palabra reservada INCLUDE antes del REPORT y se crea el programa haciendo doble clic.
VARIABLES DE SISTEMA
Las variables del sistema son las definidas por el sistema y son muy utiles, todas estas variables se encuentran en la tabla de bases de datos SYST y contienen info de la hora del sistema, si se ejecuta correctamente una sentencia ABAP, etc. El contenido de estas no son modificables, si no que cambian con la ejecucion de los mismos. Las mas utilizadas son:
- SY-SUBRC: se usa para chequear posteriormente a la ejecucion de una sentencia ABAP, si es exitoso tendra valor 0, si no es exitoso tendra valor distinto a 0.
- SY-DATUM: contiene la fecha del sistema en formato AAAAMMDD.
- SY-UZEIT: contiene la hora del sistema en formato HHMMSS (se puede complementar usando GET TIME)
- SY-TABIX: contiene el indice de una tabla interna.
 
 
 
Sobre el autor
Publicación académica de Luciano Martinez, en su ámbito de estudios para la Carrera Consultor ABAP.
Luciano Martinez
Profesión: Consultor Abap - Argentina - Legajo: LR86R
✒️Autor de: 66 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Me capacito para desempe?ar el rol de un consultor abap, adem?s soy sql developer jr, como ambos lenguajes (sql y abap) se relacionan, hace que mi perfil sea m?s completo y se complemente.
Certificación Académica de Luciano Martinez