✒️ABAP Las tablas bases de datos, los elementos de datos y los dominios
ABAP Las tablas bases de datos, los elementos de datos y los dominios
1. Los datos en el sistema SAP
Los datos en el sistema SAP se clasifican en tres tipos
- Datos maestros: datos que no se modifican muy a menudo.
- Datos de movimientos: son datos muy volátiles y con gran volumen de generación.
- Datos del sistema a de control: son datos que tienen que ver con la configuración del sistema
Estos datos se almacenan en tablas bases de datos del propio sistema SAP.
2. ¿Que es el Diccionario de datos de ABAP?
Diccionario de datos ABAP
Es la herramienta de ABAP que permite la administración de todas las definiciones de datos existentes en el sistema SAP, es decir, las definiciones estándar del sistema que fueron creadas por SAP y las definiciones de datos creadas por el usuario, conocidas como Z.
El Diccionario de datos ABAP esta integrado en el Workbench ABAP, siendo éste el conjunto de herramientas que se utilizan para el desarrollo, testing y la ejecución de los programas ABAP.
Para acceder al Diccionario de datos ejecutamos la transacción SE11.
Aquí podemos crear, modificar y visualizar los siguientes objetos:
- Tablas base de datos: es un objeto de ABAP en el que se almacena en forma permanente de información. Es el componente central de diccionario de datos ABAP. El conjunto de tablas forman lo que se denomina base de datos de sistema en SAP. En SAP una tabla base de datos es sinónimo de tabla transparente. Cada tabla base de datos está compuesta por filas y columnas. Las filas forman lo que se denominan registros de la tabla base de datos. Las columnas son los campos de la tabla base de datos. Algunos de estos campos forman lo que se conoce como clave de la tabla.
- Vistas: es un objeto de ABAP que consiste en la unión de dos o más tablas base de datos existentes en el diccionario de datos ABAP, utilizando condiciones de unión y selección, que nos van a permitir visualizar datos pertenecientes a varias tablas base de datos en una única selección de datos. Las vistas de tablas de base de datos tienen la misma estructura que las tablas base de datos, es decir, tienen filas y columnas, la única diferencia es que solo se almacena de ellas la definición y no los datos.
- Tipos de datos: son tipos de datos que podemos crear dentro de diccionario de datos ABAP los cuales no almacenan información sino que se utilizan como referencia para definir datos en programas o tablas base de datos o para configuración. Dentro de los tipos de datos podemos crear 3 tipos diferentes de objetos que son los siguientes:
- Elemento de datos: es un tipo de datos de ABAP que define el tipo de datos de una variable en un programa o de un campo dentro de una tabla base de datos.
- Estructura: es un tipo de datos de ABAP que no almacena información sino que es un tipo de datos complejo que tiene varios campos. Podemos utilizar una estructura definida en el diccionario de datos ABAP en un programa como referencia para declarar otros tipos de datos.
- Tipo tabla: es un tipo de datos de ABAP mediante el cual se puede crear un tipo de tabla interna utilizando el formato de una estructura. Se utilizan en casos muy específicos dentro de ABAP.
- Grupo de tipos: es un objeto de ABAP que podemos crear para definir dentro de él todos los tipos de datos que utilizamos más comúnmente en nuestros programas, de modo de poder incluir este grupo de tipos en nuestros desarrollos ABAP y no tener que volver a definir todos los tipos de datos nuevamente. Funciona como una especie de INCLUDE de tipo de datos.
- Dominios: es un objeto de ABAP que consiste en la especificación técnica de un campo de una tabla de la base de datos y define lo que se conoce como estructura del campo. Es reutilizable para otros campos. Un dominio tiene asociado un ámbito de valores posibles.
- Ayudas para búsqueda: es un objeto de ABAP que es utilizado para definir posibles valores de ayuda de un campo de una tabla base de datos o de un campo de una pantalla de SAP. Comúnmente todos los parámetros de la pantalla de selección de un programa ABAP presentan ayuda de búsqueda, ya que es una forma muy práctica de simplificarle al usuario la tarea de introducir valores correctos en la pantalla de selección.
- Objetos de bloqueo: es un objeto de ABAP que podemos crear para permitir que varios usuarios de SAP puedan actualizar datos de una tabla base de datos en forma concurrente, sin que pierda información, de modo de garantizar la consistencia de los datos.
Cuando un objeto ABAP del diccionario de datos es modificado, cualquier programa ABAP que lo referencie o utilice automáticamente cambia su referencia al nuevo estado del objeto de la próxima vez que se ejecute.
Esto se debe a que ABAP es interpretado por lo que no es necesario recompilar programas que referencian a objetos que se modifiquen dentro del diccionario de datos.
3. ¿Cómo crear una tabla base de datos un elemento de datos y un dominio?
Accedemos al diccionario de datos ABAP correspondiente a la transacción SE11 y en la pantalla inicial de la transacción introducimos el nombre de la nueva tabla a la derecha del texto Tabla base datos y presionamos el botón Crear.
Luego completamos en la siguiente pantalla la Descripción breve de la nueva tabla.
En la solapa Entrega y actualización completamos la Clase de entrega A que significa que la tabla es de aplicación y que tiene datos maestros y de movimientos.
Existen otras opciones que podremos ver si presionamos el botón matchcode que aparece al posicionar el cursor en el cuadro de texto.
En el campo Browser datos / Actualización vista tabla elegiremos la opción Visualización / Actualización permitida, esto significa que se podrá actualizar el contenido de la tabla base de datos mediante la transacción SE30.
En la solapa Campos vamos a ingresar los campos que va a tener nuestra tabla base de datos.
Todas las tablas base de datos que creemos deben tener el mandante como primer campo de la tabla.
Esto se debe a que los datos almacenados en las tablas base de datos son dependientes de los mandantes, es decir, los datos de una tabla en el mandante 100 son diferentes a los datos de la misma tabla en el mandante 200.
El mandante debe ser parte de la clave de la tabla base de datos.
Una vez que ya definimos cuales son los campos que forman parte de la table de base de datos tenemos que tildar aquellos que serán los campos claves de la tabla, los cuales no podrán repetirse ni tener calores iniciales o en blanco.
Cuando tenemos que definir los tipos de datos de cada campo de la tabla base de datos tenemos dos opciones: se le puede asignar un tipo instalado, seleccionando la línea del campo y presionando el botón Tipo Instalado o crear un elemento de datos para cada campo.
También es posible utilizar elementos de datos que ya existen en el sistema, como es el caso del MANDT.
Para crear el elemento de datos hacemos doble clic sobre el elemento y el sistema nos ofrecerá guardar los cambios a la base de datos, diremos que Sí y le asignaremos como paquete un objeto local.
Luego nos aparecerá una ventana de diálogo para crear el elemento de datos y diremos que Sí.
En la siguiente pantalla, en la Descripción breve completaremos una descripción del contenido del campo.
Para definir el tipo de datos del elemento de datos podemos elegir entre crear un dominio para este campo, utilizar un tipo instalado ya existente en el sistema o utilizar un tipo referencia.
Luego iremos a la solapa Denominadores de campo y actualizaremos los denominadores de campo que sonn los t´ttulos con los que se verá el campo cuando se visualice en una transacción o reporte.
Por último, activaremos el elemento de datos mediante el botón de activación y nos aparecerá una nueva ventana de diálogo donde confirmaremos la activación seleccionando el elemento a activar y presionando el botón de la tilde verde.
Si creamos un dominio, completamos la Descripción breve y el tipo de datos.
Luego en la solapa Ámbito de valores completamos el ámbito de valores del dominio.
Por último, activamos el dominio y luego activamos el elemento de datos.
Ahora nos queda configurar las opciones técnicas de la tabla base de datos presionando el botón Opciones Técnicas.
Aquí completamos la Clase de datos con APPL0 que es la correspondiente a Datos maestros, tablas transparentes.
Y la Categoría de tamaño. Los valores que visualizamos en la Categoría de tamaño cambian de acuerdo a cada instalación de SAP.
Luego activamos la tabla base de datos y veremos una ventana de diálogo donde el sistema nos informa que existen mensajes de advertencia.
Presionamos Sí deseamos visualizar el log de activación y el sistema nos dirá cuáles son las advertencias para que las corrijamos previamente a la activación de la tabla.
En la siguiente pantalla el sistema nos informa que falta por definir la Categoría de Ampliación de la tabla base de datos.
Categoría de ampliación
Es lo que determina si la base de datos será ampliable en el futuro, es decir si se le podrán agregar campos.
Este concepto está muy ligado con las llamadas Estructuras Append.
Para definir la categoría de ampliación seleccionamos la opción del menú Detalles / Categoría de ampliación.
Luego visualizaremos una ventana de diálogo donde el sistema nos informa que la categoría de ampliación de la tabla no se encuentra clasificada.
Finalmente seleccionamos la opción Ampliable de cualquier manera y presionamos el botón Tomar.
Ahora sí podemos activar la tabla base de datos sin ninguna advertencia.
 
 
 
Sobre el autor
Publicación académica de Alexis Jesus Perez Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexis Jesus Perez Ramirez
Profesión: Licenciado en Computación - Venezuela - Legajo: LK96B
✒️Autor de: 69 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Licenciado en computación egresado de la ucv, con amplia experiencia en base de datos, análisis de sistemas y programación; tanto en ambiente web, cliente/servidor como en computación central.
Certificación Académica de Alexis Perez