✒️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
Tablas Bases de datos, elementos de datos y dominios
1 Los datos en el sistema SAP
Podemos clasificar los datos del sistema SAP en tres tipos: datos maestros, datos de movimientos y datos del sistema o control:
- Datos maestros: son datos que no se modifican muy a menudo. Por ejemplo: datos de maeriales, cuentas, bancos, clientes, etc.
- Datos de movimientos: son datos muy volátiles y con gran volumen de generación. Por ejemplo: datos de facturas, pedidos, etc.
- Datos del sistema o de control: son datos que tienen que ver con la configuración del sistema.
2 ¿Quñe es el Diccionario de datos?
El diccionario de datos permite la administración de todas las definiciones de datos usadas en el sistema SAP. Se accede a él a través de la transacción SE11, tal y como vemos a continuación:
<< imagen 2.1 >>
Aquí podemos crear, modificar y visualizar tablas de base de datos, Vistas, Estructuras, Elementos de datos, Grupos de tipos, Dominios, Ayudas para búsqueda y Objetos de bloqueo.
La transacción estándar SE11 corresponde al diccionario de datos ABAP. Esta es una de las transacciones más utilizadas tanto por los consultores técnicos por como por los consultores funcionales de los distintos módulos.
3 ¿Cómo crear una tabla base de datos, un elemento de datos y un dominio?
Vamos a crear la tabla ZTABLA_USUARIOS. Para esto ingresamos el nombre de la nueva tabla a la derecha del texto "Tabla base de datos" y presionamos el botón Crear.
<< imagen 3.1 >>
En la siguiente pantalla completamos la "Descripción breve" con el texto correspondiente.
<< imagen 3.2 >>
En la solapa "Entrega y actualización" completamos la "Clase de entrega" con el valor "A", que significa que la tabla es de aplicación y que tiene datos maestros y de movimientos. Existen otras opciones que podemos ver presionando el matchcode.
Audio: Aparte de la clase de entrega "A" que corresponde a datos maestros y de movimientos, otra clase de entrega muy utilizada es la "C" que se utiliza para tablas de customizing o de configuración del sistema. La particularidad que tiene esta clase de entrega, es que cada vez que cada vez que generamos una nueva entrada en una tabla base de datos con clase de entrega "C", el sistema automáticamente nos ofrece guardar dicha entrada en una orden de transporte de customizing.
En "Browser datos/Actual. vista tabla", elegiremos la opción "Visual.Actuali.permitida". Esto significa que se podrá actualizar el contenido de la tabla mediante la transacción SM30.
La transacción estándar SM30 se utiliza para actualizar los regostros de una tabla de base de datos. Posteriormente veremos en detalla para qué sirve esta funcionalidad y cómo se implemente.
En la solapa "Campos" vamos a ingresar los campos que va a tener nuestra tabla. Estos van a ser, DNI, NOMBRE_APE, ESTADO_USU y el MANDANTE que no debe faltar en ninguna tabla.
<< imagen 3.3 >>
=> Todas las tablas base de datos que creemos deben tener el mandante como primer campo de la tabla, y debe formar parte de la clave.
Si marcamos el ckeck CLAVE o KEY identificaremos el campo como clave de tabla. Si marcamos el check VALOR INICIAL o INITIAL no se permitirá que el campo esté vacio al generarse un nuevo registro en la tabla base de datos.
A cada campo de la tabla se le puede asignar un tipo instalado seleccionando la línea del campo y presinando el botón "Tipo instalado", como por ejemplo CHAR de 30 posiciones o bien, se puede crear un elemento de datos para cada campo.
En nuestra tabla, crearemos los elementos de datos Z_DNI, Z_NOMBRE_APE y Z_ESTADO_USU.
También es posible utilizar elementos de datos que ya existen en el sistema, como es el caso de MANDT.
Para crear el elemento de datos Z_DNI haremos doble clic sobre el elemento (Elem.datos). El sistema nos ofrecerá guardar la tabla, diremos que si y la asignaremos como paquete objeto local. Luego nos aparece la siguiente ventana de diálogo:
<< imágen 3.4 >>
Aceptamos la creación indicando "Si", y nos muestra la siguiente pantalla:
<< imágen 3.5 >>
En la Descripción breve completaremos una descripción del contenido del campo. Después podemos elegir entre crear un dominio para este campo, utilizar un Tipo instalado o Predefined type ya existente en el sistema, o utilizar un Tipo referencia o Reference type.
Un dominio es un objeto de ABAP que consiste en la especificación técnica de un campo de la base de datos. Define lo que se conoce como estructura de campo. Se guarda en el diccionario y es reutilizable para otros campos. Conviene utilizarlo cuando el campo en cuestión tiene asociado un ámbito de posibles valores.
Un tipo instalado es un tipo de datos ABAP que existe en el sistema y que puede ser utilizado para definición de variables, creación de elementos de datos, dominios, etc.
En el ejemplo, para el dominio Z_DNI utilizaremos un tipo instalado, en concretoel tipo de datos NUMC de 8 posiciones.
En la pestaña "Denom. campo" (Field Label) actualizaremos los denominadores de campo, que son títulos de diferente longitud con los que se verá el campo cuando se visualice en una transacción o reporte.
<< imágen 3.6 >>
En la imágen vemos que todos los denominadores son iguales, pero lo más conveniente es dar una descripción más detallada.
Por último activaremos el elemento (botón varita mágica) y nos abrirá una nueva ventana de diálogo donde confirmaremos la activación seleccionando el elemento y confirmando..
Audio: Al momento de escribir los textos correspondientes a los denominadores de campo breve, mediano, largo y cabecera, no debemos preocuparnos por completar las longitudes de cada uno de ellos a la izquierda de la pantalla, ya que eso lo realiza directamente el sistema en base a la cantidad de caracteres que introduzcamos para cada texto.
Para el campo NOMBRE_APE crearemos el elemento de dtos Z_NOMBRE_APE tal y como hicimos para Z_DNI, pero en este caso utilizando un CHAR de 30 posiciones.
<< imágen 3.7 >>
Para el campo ESTADO_USU crearemos el elemento de datos Z_ESTADO_USU tal y como hicimos para Z_DNI y crearemos también el dominio ZZ_ESTADO_USU para asociarle el ámbito de valores: A=Activo, I=Inactivo y N=Anulado.
<< imágen 3.8 >>
El objetivo de crear un dominio es asociarle un ámbito de valores, y preferimos no utilizar un tipo instalado.
Al hacer doble clic sobre ZZ_ESTADO_USU el sistema nos preguntará en uan ventana de diálogo si deseamos crear el dominio. Contestaremos afirmativamente y nos mostrará la siguiente pantalla:
<< Imágen 3.9 >>
Informaremos en esta pantalla la descripción breve y el tipo de datos del dominio, que en esta caso será un CHAR de 1 posición.
Posteriormente en la pestaa "Ámbito de valores (Value Range)" informaremos el ámbito de valores del dominio (A, I, N)
<< Imágen 3.10 >>
Como últimos pasos, procedemos a activar el dominio ZZ_ESTADO_USU, después activamos el elemento de datos Z_ESTADO_USU, y finalmente activamos la tabla ZTABLA_USUARIOS. Antes de activar la tabla, configuramos las opciones técnicas de la tabla presionando el botón "Opciones Técnicas (Technical Settings)".
Audio: Si queremos que un campo de una tabla base de datos tome una lista de valores de otra tabla base de datos maestra, entonces dentro del dominio de ese campo colocaremos en la tabla de valores, la tabla maestra de donde se tomarán los datos.
En las opciones técnicas, completaremos la "Clase de datos" con el valor "APPL0" que es la correspondiente a "Datos maestros, tablas transparentes", y la "Categ.tamaño" con "3", que es el valor correspondiente a una tabla de 78000 a 310000 registros de datos. Estos valores dependen de cada instalación de SAP.
<< imágen 3.11 >>
Luego activamos la tabla ZTABLA_USUARIOS y veremos la siguiente ventana de diálogo donde el sistema nos informa que existen mensajes de advertencia.
<< imágen 3.12 >>
Aquí se nos presentan dos opciones: si presionamos "no" la tabla se activará sin importar los mensajes de advertencia. Si presionamos "si" el sistema nos dirá cuáles son las advertencias para que las corrijamos previamente a la activación de la tabla.
Pulsamos "si" para ver qué problemas ocurren y el sistema nos informa de que falta la "Categoría de ampliación" para la tabla.
<< imágen 3.13 >>
La Categoría de Ampliación determina si la tabla base de datos será ampliable en el futuro. Este concepto está muy ligado con las llamadas Estructura Append, las cuáles veremos en el nivel avanzado de estos estudios.
Para definir la "Categoría de ampliación", desde la ventana de creación de la tabla seleccionamos el menú: Detalles >> Categoría de ampliación:
<< imágen 3.14 >>
A continuación el sistema nos muestra una ventana de diálogo donde nos informa que la categoría de ampliación de la tabla no se encuentra clasificada, y tras validar el mensaje el sistema nos muestra las diferentes opciones para la "Categoría de Ampliación". Seleccionamos "Ampliable de cualquier manera" y pulsamos sobre el botón "Tomar".
Por útimo, ya podremos activar la tabla sin ninguna advertencia.
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti
Sobre el autor
Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.
José Antonio Saavedra Rodríguez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial