SAP Diccionario de datos ABAP (SE11)

⚡ Resumen inteligente

SAP El Diccionario de datos ABAP (SE11) centraliza todas las definiciones de metadatos utilizadas por SAP aplicaciones. Esta página explica los tres niveles reutilizables (dominios, elementos de datos y tablas), además de objetos agregados como vistas, ayudas de búsqueda y objetos de bloqueo.

  • 📚 Definición básica: El Diccionario ABAP es el almacén central de metadatos, que describe cómo se define y reutiliza cada campo, tabla y vista en todo el sistema. SAP .
  • 🧱 Tres niveles reutilizables: Los dominios contienen atributos técnicos, los elementos de datos añaden significado semántico y las tablas o estructuras ensamblan esos elementos en registros.
  • 🔗 Objetos agregados: Las vistas combinan datos de varias tablas, la función de búsqueda facilita la introducción de datos y los objetos de bloqueo protegen los registros durante el acceso simultáneo.
  • 🔒 Mecanismo de bloqueo: Los módulos de función ENQUEUE y DEQUEUE se generan a partir de objetos de bloqueo y siempre deben liberar el bloqueo después del procesamiento.
  • 🛠️ Flujo de trabajo de creación: La transacción SE11 crea tablas transparentes definiendo los campos, la clase de entrega, la configuración técnica y, a continuación, activando el objeto.
  • 🧭 Transacciones clave: Las funciones SE11, SE13, SE14, SE16 y SM30 abarcan la definición, la configuración técnica, las utilidades de la base de datos, la visualización de datos y el mantenimiento.

SAP Diccionario de datos ABAP SE11

¿Qué es el diccionario de datos?

El Diccionario de datos es una fuente central de información para los datos en un sistema de gestión de información. Su función principal es apoyar la creación y gestión de definiciones de datos (o “metadatos”).

In SAPEste repositorio central se denomina Diccionario ABAP y se gestiona mediante la transacción SE11. Cada tabla, campo, vista y bloqueo utilizado por un programa ABAP se describe aquí una sola vez y luego se reutiliza en todas partes, por lo que nunca es necesario repetir una definición dentro de los programas individuales.

Diccionario de datos ABAP

La pantalla superior muestra la pantalla inicial de SE11, donde se selecciona cada tipo de objeto del diccionario antes de que se muestre o se modifique. Antes de examinar esos tipos de objetos, es útil comprender por qué. SAP Mantiene estos metadatos fuera de los programas que los utilizan.

Por qué es importante el Diccionario ABAP

El diccionario ABAP existe porque SAP Separa la descripción de los datos de los programas que los procesan. Un campo como el número de documento de compra se describe una sola vez, y todos los informes, pantallas y módulos de funciones que lo necesitan hacen referencia a esa única descripción.

Esta definición central ofrece cuatro beneficios prácticos. Se garantiza la coherencia, ya que cualquier cambio realizado en un dominio afecta inmediatamente a todos los campos que hacen referencia a él mediante un elemento de datos. Se elimina la redundancia, puesto que los desarrolladores reutilizan las definiciones existentes en lugar de crear otras nuevas. Integrity Está protegido, ya que los rangos de valores, las tablas de verificación y las claves foráneas se validan mediante el diccionario en lugar del código de la aplicación. Finalmente, el diccionario es independiente de la base de datos, por lo que una tabla definida en SE11 se crea automáticamente en la base de datos subyacente con los tipos nativos correctos.

El diccionario también está activo en tiempo de ejecución. Las pantallas leen las etiquetas de los campos, los textos de ayuda y los rangos de valores directamente de él, por lo que la ayuda F1 o la lista de valores F4 aparecen sin necesidad de añadir una sola línea de código. Los tres niveles que se describen a continuación explican cómo se organiza esta reutilización.

Diccionario ABAP 3 niveles

Los objetos en el Diccionario ABAP residen en tres niveles que respaldan su reutilización. Estos niveles son:

  1. Dominios
  2. Elementos de datos
  3. Mesas y estructuras

Cada nivel se basa en el anterior: un dominio proporciona los atributos técnicos, un elemento de datos les da un significado comercial y una tabla o estructura agrupa los elementos de datos en un registro. Analicemos cada uno en detalle.

Dominios

  • Describe las características técnicas de un campo de tabla.
  • Especifica un rango de valores que describe los valores de datos permitidos para los campos.
  • Los campos que hacen referencia al mismo dominio (a través de los elementos de datos que se les asignan) se modifican cuando se realiza un cambio en el dominio
  • Asegura la consistencia

Ex. Número de documento de compra (EBELN)

Diccionario: Mostrar dominios

La pantalla de dominio anterior define únicamente el tipo y la longitud de los datos. El significado comercial de ese valor lo proporciona el siguiente nivel, el elemento de datos.

Elementos de datos

  • Describe el papel que desempeña un campo en un contexto técnico.
  • Los campos con el mismo significado semántico pueden referirse al mismo elemento de datos.
  • Contiene la información del campo.

Ex. Número de documento de compra (EBELN)

Diccionario: Mostrar elementos de datos

La pantalla de elementos de datos contiene las etiquetas de los campos y la documentación que los usuarios ven en pantalla. A continuación, los elementos de datos se combinan en tablas.

Mesas

  • Representa las tablas de la base de datos donde realmente residen los datos.
  • Las tablas se pueden definir independientemente de la base de datos en el Diccionario ABAP.
  • Los campos de la tabla se definen con sus (independientes de la base de datos) SAP tipos de datos ABAP y longitudes.

Diccionario: tablas de visualización

Estructuras

  • Son declaraciones de registros que NO corresponden a una Tabla de Base de Datos.
  • Al igual que el tipo de datos definido por el usuario.
  • Se define como una tabla y luego se puede abordar desde programas ABAP.
  • Las estructuras contienen datos sólo durante el tiempo de ejecución de un programa.

Diccionario: estructuras de visualización

La tabla que aparece a continuación compara los tres niveles de un vistazo.

Nivel Lo que define ¿Almacena datos? Ejemplo típico
Dominio Atributos técnicos: tipo de datos, longitud, rango de valores No EBELN (CARACTER 10)
Elemento de datos Significado semántico: etiquetas de campo, documentación, ayuda F1 No EBELN — Número de documento de compra
Tabla Un registro de campos que se crea en la base de datos Sí, persistentemente EKKO — Encabezado del documento de compra
Estructura Un registro de campos utilizados únicamente dentro de un programa. Sí, solo en tiempo de ejecución. Área de trabajo para un mesa interna

Objetos agregados del diccionario ABAP

Medios agregados que constan de varios componentes. En el Diccionario ABAP, los objetos agregados son objetos que provienen de varias tablas transparentes diferentes.

  1. Vistas
  2. Buscar Ayuda
  3. Bloquear objetos

Veámoslos en detalle.

Vistas

  • Vistas en SAP – ABAP se utiliza para resumir datos que están distribuidos entre varias tablas.
  • Los datos de una vista en realidad no se almacenan físicamente. En cambio, los datos de una vista se derivan de una o más tablas.
  • Se adapta a las necesidades de una aplicación específica.

Diccionario: vistas de visualización

Buscar Ayuda

  • Una ayuda de búsqueda es una herramienta que le ayuda a buscar registros de datos en el sistema.
  • Una búsqueda eficiente y fácil de usar ayuda a los usuarios cuando se desconoce la clave de un registro.

Diccionario: Mostrar ayuda de búsqueda

Bloquear objetos

  • Acceso simultáneo al mismo registro de datos por parte de dos usuarios en el mismo sistema. SAP El sistema está sincronizado mediante un mecanismo de bloqueo.
  • Los bloqueos se establecen y liberan llamando a ciertos módulos de funciones. Estos módulos de funciones se generan automáticamente a partir de la definición de los llamados objetos de bloqueo en el Diccionario ABAP/4.

Módulos de funciones : Enqueue_ – para bloquear la tabla dequeue_ – para liberar el bloqueo

Diccionario: Mostrar objetos de bloqueo

⚠️ Advertencia: Un bloqueo establecido con ENQUEUE y nunca liberado con DEQUEUE permanece activo hasta que finaliza la sesión del usuario. Siempre se debe llamar al módulo DEQUEUE, incluso en la ruta de error del programa.

Una vez comprendidos los tipos de objetos, la siguiente sección los aplica creando una tabla transparente en SE11.

Cómo crear una tabla transparente en SE11

Una tabla transparente es el objeto de diccionario más común, ya que tiene una relación uno a uno con una tabla física en la base de datos. Los pasos que se describen a continuación crean una desde cero.

  1. Abrir SE11: Ingrese la transacción SE11, seleccione la Tabla de base de datos botón de opción, escriba un nombre en el espacio de nombres del cliente (que comience con Z o Y) y elija Crear.
  2. Introduzca la breve descripción y la clase de entrega: En la Atributos pestaña, agregue un texto corto y configure la clase de entrega, que indica SAP cómo se comportan los datos durante una copia de cliente o una actualización. La clase de entrega A se utiliza para los datos de la aplicación y la C para los datos de personalización.
  3. Establezca el atributo de mantenimiento: Elija Se permite la exhibición y el mantenimiento. De esta forma, posteriormente se puede generar una vista de mantenimiento con SE55 o SM30.
  4. Defina los campos: En la Terrenos En la pestaña, agregue MANDT como el primer campo clave con el elemento de datos MANDT y, a continuación, agregue los campos clave de negocio. Cada campo está tipificado por un elemento de datos, que a su vez hace referencia a un dominio, por lo que los tres niveles descritos anteriormente se reutilizan en lugar de redefinirse.
  5. Mantener la configuración técnica: Haga clic en Configuración técnica (transacción SE13) y configure la clase de datos, por ejemplo APPL0 para datos maestros, junto con la categoría de tamaño esperada. Estos valores determinan el espacio de tablas y el tamaño inicial en la base de datos.
  6. Activar: Prensa ActivaLa activación genera la tabla física en la base de datos y hace que la definición sea utilizable en programas ABAP.

💡 Consejo: Cree claves foráneas para cada campo que deba validarse con una tabla de verificación. El diccionario se encargará automáticamente de establecer la relación, sin necesidad de código de validación en el programa.

Una vez que la tabla esté activa, se puede acceder a ella directamente desde un programa ABAP con Open SQLEl siguiente ejemplo lee la tabla de diccionario estándar SCARR en una tabla interna y muestra su contenido.

REPORT zdemo_ddic_read.

* Internal table typed directly from the dictionary table SCARR
DATA: lt_scarr TYPE STANDARD TABLE OF scarr,
      ls_scarr TYPE scarr.

SELECT carrid carrname currcode
  FROM scarr
  INTO TABLE lt_scarr.

LOOP AT lt_scarr INTO ls_scarr.
  WRITE: / ls_scarr-carrid, ls_scarr-carrname, ls_scarr-currcode.
ENDLOOP.

Dado que la tabla interna está tipificada con TYPE STANDARD TABLE OF scarr, la longitud y el tipo de datos de cada campo provienen del diccionario. Si la definición de la tabla cambia, el programa detecta el cambio tras la activación sin necesidad de editarla.

Transacción del diccionario ABAP esencial Codes

Las siguientes transacciones abarcan el trabajo diario de definir, verificar y mantener los objetos del diccionario.

transacción Propósito
SE11 Pantalla inicial del diccionario de datos (solo visualización SE12)
SE13 Diccionario ABAP: Configuración técnica
SE14 Utilidad de base de datos
SE15 Sistema de Información del Repositorio
SE16 Navegador de datos
SE17 Exhibición general de la mesa
SE55 Mantenimiento de la vista de tabla
SM30 Mantenimiento de la mesa

Preguntas Frecuentes

SE11 mantiene la definición de un objeto de diccionario, como los campos y las claves de una tabla. SE16 muestra y filtra las filas de datos almacenadas en esa tabla. Una gestiona los metadatos, la otra los registros.

Sí. Un elemento de datos puede tomar directamente un tipo predefinido en lugar de hacer referencia a un dominio. Sin embargo, se recomienda usar un dominio, ya que centraliza el rango de valores y permite que un solo cambio afecte a todos los campos que lo utilizan.

Una tabla transparente tiene una correspondencia uno a uno con una tabla de base de datos física. Una tabla agrupada comparte una tabla de base de datos con muchas tablas de diccionario pequeñas, por lo que solo se puede leer con Open SQL, nunca con SQL nativo.

Asistentes de IA como SAP Joule y los asistentes de código en las herramientas de desarrollo ABAP sugieren nombres de campos, proponen elementos de datos para una nueva tabla, explican tablas estándar desconocidas e indican la falta de claves foráneas antes de que se active el objeto.

La IA puede generar la lista de campos, los tipos de datos y la nomenclatura, pero la definición aún debe ser revisada y activada por un desarrollador. La clase de entrega, la configuración técnica y las claves foráneas requieren validación humana antes del transporte.

Resumir este post con: