✒️ABAP La declaración de datos
ABAP La declaración de datos
Declaracion de datos
1. Los tipos de datos de ABAP
Tal como en otros lenguajes de programacion, en ABAP existen diferentes tipos de datos que podemos declarar en nuestros programas.
Vamos a necesitar crear tipos de datos ya que los programas utilizan variables, constantes y otros objetos para almacenar datos durante la ejecucion
ABAP forma parte de los lenguajes de programacion tipados como son C o Java. El lenguaje de programacion ABAP se divide en 2:
- Tipo completos
- Tipo incompletos
la diferencia entre los 2 se debe a la longitud del dato. En los tipos completo los tipos de dato tienen una longitud fija establecida por el sisteam estandar.
En los incompletos la longitud del dato no viene fijada por el sistema estandar y sera el programador que tiene la obligacion de especificar
Tipos de datos completos estandar son 8 tipos:
- D - Es el tipo de dato para fechas: tiene el formato AAAAMMDD, longitud de 8 digitos. Año, mes dia
- T - Es el tipo de dato para la hora: tiene el formato HHMMSS, longitud de 6 digitos. Hora, minutos y segundos
- I - Es el tipo de dato para numero enteros: longitud de 4 digitos
- F - Es el tipo de dato para numeros de punto flotante o decimales: longitud fija de 8 bytes
- DECFLOAT16 - Es el tipo de dato que se utiliza en los numeros decimales: tiene longitud de 8 bytes.
- String - Es el tipo de dato que se utiliza para la cadena de caracteres: longitud dinamica
- Xstring - Es el tipo de dato que se utiliza en la secuencia de bytes de longitud dinamica(cadena hexadecimal)
Dentro de los tipo de datos incompletos estandar tenemos 4 tipos:
- C - Es el tipo de dato que se utilizas para la cadena de caracteres, se debe especificar la longitud fija
- N - Es el tipo de dato que se utiliza para las cadenas de caracteres numericas, se debe especificar la longitud fija
- X - Es el tipo de dato que se utiliza para la secuencia de byte (cadena Hexadecimal), se debe especificar la longitud fija.
- P - Es el tipo de dato que se utiliza para los numeros empaquetados, se debe especificar la longitud fija
Estos 12 tipos de datos esandar completos e incompletos se llaman Tipos primitivis se pueden crar datos complejos, estructurados bidimencionales u objetos.
Para declarar una variante en ABAP vamos a utilizar 2 palabras claves DATE y TYPE
Si queremos declarar una variante de tipo fecha usamos: DATA: v_fecha TYPE d.
Si deseamos asignar un valor determinado a la variable al mismo tiempo que la declaramos entonces agregando VALUE: DATA: v_fecha TYPE d VALUE '20220726'.
Si deseamos declarar la varible tipo hora: DATA: v_hora TYPE t.
Si deseamos asignar un valor determinado a la variable declaramos entonces agregando VALUE: DATA: v_hora TYPE t VALUE '14:55:00'.
Si deseamos declarar una variable de tipo entero y agregarle un valor: DATA: v_cantidad TYPE i VALUE '1000'.
Si deseamos declarar una variable tipo string y asignarle un valor: DATA: v_texto TYPE string VALUE 'ABAP es un lenguaje de programacion'.
Si deseamos declarar una variable tipo c o caracter y asignarle un valor: DATA: v_nombreyape(40) Type c VALUE 'Julian Alvarez'.
Cuando declaramos variables tipo c o caracter TYPE c debemos especificar la longitud de la cadena de caracteres. de lo contrario el sistema asumira que la longitud es 1 caracter.
Si deseamos declarar una variable de tipo n y asignarle un contenido: DATA: v_telefono(13) TYPE n VALUE '5491156859687'.
Si deseamos declarar una variable tipo p o empaquetado y asignarle un contendio: DATA: v_pi TYPE p DECIMALS 11 VALUE '3.14159265359'.
Otra foram de declarar variables utilizando TYPE consiste en asignarle a la variable un tipo de datos ya existente en el diccionario de datos (SE11)
DATA: v_nro_cliente TYPE Kunnr. ''N° de cliente
Por ultimo, podemos declarar variables que sean de igual tipo de datos que otras variables ya creadas en el sistema utilizando LIKE.
Ej, declaramos una variable v_carrid que es el miso tipo de datos que el campo carrid de la table de datos SFLIGHT de vueldo SAP : DATA: v_carrid LIKE sflight-carrid. ''denominacion breve de la compañia aerea
Tabla SFLIGHT: es una tabla estandar del sistema SAP que contiene informacion sobre vuelos y generalmente se utiliza para realizar programas de prueba o demo en el sistema. Otra tabla similar y muy utilizada es la tabla SPFLI.
2. Las estrucuras de datos
Existe la posibilidad de declarar tipos de datos que estan compuestos por varios tipos de datos diferentes, tal es el caso de las ESTRUCTURAS: es un tipo de dato compuesto que esta formado por un conjunto de campos relacionados cuyos componentes pueden ser simple campos, otras estructuras o inclusive tablas.
Existen 4 forams de declara una esctructura en ABAP:
- La primera es utilizando la pablara DATA. Ej, declaramos una estructura de vuelos que tendra los mismos campos quela tabla base de datos de vuelos SFLIGHT. DATA: wa_vuelos TYPE sflight.
- La segunda es tambien utilizando la palabra DATA pero vaos a declarar una estructura de vuelos solo con ciertos campos.
- Tambien podemos declarar una estructura como hicmos en el ejemplo anterior utilizando datos completos o incompletos estandar de SAP
- Finalmente la cuarta forma de declara runa estructura es utilizando TIPOS o TYPE, que son formatos de estructuras que pueden ser utilizados por cualquier estructura sin neceidad de reescribir el codigo.
3. Las constantes
Constante: es una variable que se declara dentro de un programa y cuyo valor permanecera tal como lo indica su nombre constante a lo largo de la ejecucion del programa
Para su declaracion se utiliza la palabra CONSTANTS, se debe especificar el tipo de datos de la constante y tambien el valor que tendra a lo largo de la ejecucion.
Ejemplo si declaramos una constante tipo de datos incompleto ademas debemos especificar la langitud : CONSTANTS: c_x(1) TYPE c VALUE 'x'.
Si declaramos una constante tipo de datos conpleto entonces no sera necesario especificar la longitud: CONSTANTS: c_nombre TYPE string VALUE 'Exequiel'.
La utilizacion de la constante ayuda a mantener los programas sencillos por lo tanto utilizar constantes en lugar de textos entre comillas simples es considerada una buena practica de programacion
4. Los include de datos y subrutinas
Hasta ahora dentro de un progrma ABAP las declaraciones se ubivan al comienzo luego de la sentencia REPOT.
Esta situacion es un programa ABAP de pocas lineas de cosigo y baja complejidad que no tiene complicaciones. Pero que pasa con un programa con muchas lineas de codigo ej mas de 1000 lineas y con cierta complejidad.
Esxiste un tipo de programa que nos ayuda mucho en esta tarea par ahacer los programa faciles de comprender y faciles de modificar o mantener.
Esto es INCLUDES: es un tipo de programa u objeto ABAP que se utiliza para modularizar los progrmas de maner que estos resulten mas legibles y mantenibles.
Hay 2 tipos de INCLUEDES:
- INCLUDE de datos: se utiliza para agrupar las declaraciones de datos
- INCLUDE de subrutinas: se utiliza para agrupar las declaraciones de subutinas
5. Las variables del sistema
A parte de las variables que define el programador ABAP existen otras variables que han sido definidas por el sistema y que son de gran utilidad
Estas variables se encuentran en la Tabla de base de datos SYST y contiene informacion que va desde la hora del sistema a saber si se ejecuto correctamente una sentencia ABAP o una actualizacion de una tabla.
Tabla SYST: la tabla de datos que almacena las variantes del sistema de un programa ABAP.
variables del sistema mas utilizadas:
- SY-SUBRC: es la mas importante de todas las variables del sistema. Se utiliza para chequear posteriormente a la ejecucion de una sentencia ABAP, si el resultado de la ejecucion fue exitoso o no. Si luego de ejecutarse una sentencia ABAP el resultado fue exitoso tendra un valor cero, si no lo fue tendra un valor distinto a cero.
- SY-DATUM: esta variable del sistema contine la fecha del sistema en el formato AAAAMMDD. Es una variable sumamente util en el trabajo diario.
- SY-UZEIT: esta variable del sistema contiene la hora del sistema en el formato HHMMSS:
- SY_TABIX: esta variable del sistema contiene el indice de una tabla interna.
 
 
 
Sobre el autor
Publicación académica de Lucas Mera, en su ámbito de estudios para la Carrera Consultor ABAP.
Lucas Mera
Profesión: Analista de Sisemas - Argentina - Legajo: SW47M
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Profesional con sólida experiencia en el liderazgo, comunicación, gestión negocio y desarrollado en empresas internacionales de gran envergadura.certificado en itil v.3 y scrum master.
Certificación Académica de Lucas Mera