✒️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
Las tablas bases de datos, los elementos de datos y los dominios
1. Los datos en el sistema SAP
Podemos clasificar los datos del sistema SAP en tres tipos:
Datos maestros: son 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 o de control: son datos que tienen que ver con la configuración del sistema.
Los datos del sistema se almacenan en tablas bases de datos.
2. ¿Qué es el diccionario de datos ABAP?
El 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. Cuando hablamos de todas las definiciones de datos nos referimos tanto a las definiciones estándar del sistema como las definiciones creadas por el usuario, lo que se conoce como Z.
Para acceder al Diccionario de datos se utiliza la transacción SE11.
Transacción SE11: Esta transacción corresponde al diccionario de datos ABAP, es una de las transacciones más utilizadas de SAP tanto por los Consultores Técnicos ABAP como por los Consultores Funcionales de los distintos módulos.
Desde esta transacción podemos crear, modificar y visualizar los siguientes objetos:
Tablas base de datos: es un objeto ABAP en el que se almacena en forma permanente la información.
Vistas: es un objeto 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.
Tipo de datos: son tipos de datos que podemos crear dentro del Diccionario de datos ABAP, 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 objeto que son los siguientes:
Elemento de datos: es un tipo de datos de ABAP que define el tipo de dato 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 dato complejo que contiene varios campos. Se puede utilizar una estructura definida en el Diccionario de datos ABAP en un programa como referencia para declarar otros tipos de datos.
Tipo de 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 utiliza en casos muy específicos dentro de ABAP.
Grupos 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.
Dominios: es un objeto ABAP que consiste en la especificación técnica de un campo de una tabla de base de datos y define lo que se conoce como estructura del campo.
Ayudas para búsqueda: es un objeto ABAP que es utilizado para definir posibles valores de ayuda de un campo de una tabla de base de datos o de un campo de una pantalla de SAP.
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 se pierda información, de modo de garantizar la consistencia de los datos.
Nota: Cuando un objeto de ABAP del Diccionario de datos es modificado, ya sea que estemos hablando de una tabla base de datos, un elemento de datos o cualquiera de los objetos que acabamos de mencionar, cualquier programa ABAP que lo referencie o utilice automáticamente cambia su referencia al nuevo estado del objeto la próxima vez que se ejecute. Esto se debe a que ABAP es interpretado, por lo que no es necesario recompilar programas que referencien 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 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 de datos" y presionamos el botón "Crear".
En la siguiente pantalla nos solicita una "Descripción breve" de la nueva tabla
En la solapa "Entrega y actualización" completamos la "Clase de entrega" con A que significa la tabla es de aplicación y que tiene datos maestros y de movimientos. Existen otras opciones que podremos ver si presionamos el voto del matchcode, otra muy utilizada aparte de la A es la C.
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 SM30.
Transacción SM30: La transacción SM30 se utiliza para actualizar los registros de una tabla base de datos.
En la solapa "Campos" vamos a ingresar los campos que va a tener nuestra tabla base de datos. Importante: Todas las tablas base de datos que creamos deben tener el mandante como primer campo de la tabla.
Una vez que se definen los campos que forman parte de la tabla base de datos tenemos que tildar aquellas que serán campos claves de la tabla, los cuales no podrán repetirse ni tener valores iniciales o en blanco.
Cuando tenemos que definir los tipos de datos de cada campo de la tabla base de datos tenemos dos opciones:
Le asignamos un tipo instalado seleccionando la línea del campo y presionando el botón "Tipo Instalado" como podría ser CHAR de 30 posiciones.
Crear un elemento de datos para cada campo. Es posible utilizar elementos de datos que ya existen en el sistema, como el caso de MANDT.
Para crear un elemento de datos hacemos doble clic sobre el elemento y el sistema nos ofrecerá guardar los cambios a la tabla base de datos, diremos que Sí y lo asignaremos como paquete el objeto local. Luego aparecerá una ventana de diálogo para crear el elemento de datos y diremos que Sí.
A continuación, visualizaremos la siguiente pantalla en donde 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 o utilizar un tipo instalado ya existente en el sistema o utilizar un tipo de referencia.
Luego hay que ir a la solapa Denominadores de campo y actualizaremos los denominadores de campo, que son los títulos con los que se verá el campo cuando se visualice en una transacción o reporte.
Por último hay que activar el elemento de datos y nos aparecerá una nueva ventana de diálogo donde confirmaremos la activación seleccionando el elemento a activar.
Para los campos donde se crea el elemento de datos y también se crea el dominio, hay que asociar un ambito de valores: A = Activo, I = Inactivo y N = Anulado. El objetivo de crear un dominio es asociarle un ámbito de valores, si no es preferible utilizar un tipo instalado.
Al hacer clic sobre el dominio el sistema nos preguntará en una ventana de diálogo, si deseamos crear el dominio, deberemos poner la Descripción breve del dominio con Estado del usuario y el tipo de datos. Luego en la solapa Ámbito de valores completaremos el ámbito de los valores del dominio, al finalizar se activa el dominio y se activa el elemento de datos.
Por último quedaría configurar las opciones técnicas de la tabla base de datos presionando el botón Opciones Técnicas, se deberá completar la Clase de datos con APPL0 que corresponde a Datos maestros, tablas transparentes. Y la Categoría de tamaño con el valor que necesitemos, el valor 3 es una tabla de 78.000 a 310.000 registros.
Luego hay que activar la tabla base de datos y visualizaremos una ventana de diálogo donde el sistema nos informa que existen mensajes de advertencia. Aquí se nos presenta dos opciones, No deseamos visualizar el log de activación o Si deseamos visualizar el log de activación, dado que nuestro objetivo como desarrolladores ABAP siempre será priorizar la calidad, presionaremos Sí. En la siguiente pantalla nos informa que falta definir la Categoría de Ampliación de la tabla base de datos que acabamos de construir., para definirla vamos a Detalles / Categoría de ampliación, allí podremos seleccionar la categoría deseada.
Categoría de ampliación: Es lo que determina si la tabla 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.
 
 
 
Sobre el autor
Publicación académica de Alexander Antelo Garcia, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Antelo Garcia
Profesión: Ing. en Sistemas de la Informacion - Mexico - Legajo: KR64D
✒️Autor de: 44 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alexander Garcia