SAP ABAP Enhancements – Mejoras/Ampliaciones del Standard
Una estructura, una tabla de base de datos o una vista de base de datos en el Diccionario ABAP creada en un sistema puede ampliarse en un sistema diferente utilizando includes del Customizing, estructuras append o vistas append sin realizar ninguna modificación. Los includes del Customizing indican los puntos ya marcados por SAP para las ampliaciones, mientras que las estructuras append pueden añadirse en cualquier lugar.
Customizing includes
Un include de Customizing es una estructura en el Diccionario ABAP cuyo nombre tiene el prefijo CI_ para clientes y SI_ para interlocutores y está en el espacio de nombres del cliente. Los includes del Customizing pueden incluirse en estructuras y tablas de bases de datos suministradas por SAP. Los includes del Customizing en las estructuras y tablas de base de datos suministradas por SAP suelen estar vacíos. No se asocian a las estructuras existentes y sólo reservan los nombres de las estructuras. En los sistemas de cliente o de interlocutor, estos includes pueden ampliarse como parte de una categoría de ampliación en el Customizing creando los includes de Customizing incluidos y utilizando las transacciones de Customizing para darles componentes. Las tablas de base de datos transparentes existentes no se transforman, lo que puede producir diferentes órdenes de los campos en el diccionario y en la base de datos.
Un customizing include puede incluirse en varias tablas o estructuras de la base de datos. Su mejora se aplica a todas las tablas o estructuras de la base de datos en las que está incluido. Un include de personalización vacío de una tabla o estructura de base de datos no necesita ser mejorado.
Las ampliaciones de una estructura o tabla de base de datos suministrada mediante un include de personalización no son modificaciones. Si se utiliza un include del Customizing para añadir campos a una tabla o estructura de base de datos en el sistema estándar, estos campos se insertan automáticamente en la nueva estructura o tabla de base de datos suministrada por SAP en una ampliación.
Append structures
Una estructura append es una estructura en el diccionario ABAP que se anexa a otra estructura o tabla de base de datos y que les anexa sus componentes. Las estructuras apéndice pueden añadirse a estructuras y tablas de bases de datos suministradas por SAP en sistemas de clientes. Una estructura append se asigna exactamente a una tabla o estructura. Sin embargo, puede haber más de una estructura anexa para una tabla o estructura. Los componentes de las estructuras append deben cumplir las condiciones previas de los campos de tabla.
Se pueden realizar las siguientes mejoras en una tabla o estructura de la base de datos utilizando una estructura append:
-> Insertar nuevos componentes (si lo permite la categoría de ampliación)
-> Definir claves externas para campos existentes de una tabla de base de datos
-> Vincular las ayudas de búsqueda a los componentes existentes
Todas las ampliaciones forman parte de la estructura append, lo que significa que cualquier cambio realizado en estas ampliaciones se hace únicamente utilizando la estructura append. Lo mismo ocurre con los transportes. Cuando se activa una tabla o estructura de base de datos, se encuentran todas las estructuras anexas asociadas y sus componentes se anexan a la tabla o estructura de base de datos. También se añaden las claves externas o los enlaces de ayuda a la búsqueda añadidos mediante la estructura anexa. Cuando se activa una estructura anexa, la tabla o estructura de base de datos asignada se adapta a los cambios realizados. Cualquier tabla existente no se convierte, lo que puede producir diferentes órdenes de los campos en el diccionario y en la base de datos. Cuando se copia una estructura o tabla de base de datos con estructura append, los campos append, las claves externas y las ayudas a la búsqueda se convierten en elementos reales del destino de la copia.
Hay que tener en cuenta lo siguiente cuando se utilizan estructuras append para mejorar las tablas de la base de datos:
-> Las estructuras anexas sólo pueden anexarse a tablas transparentes.
-> No se pueden anexar estructuras append a tablas de base de datos con el tipo LCHR o LRAW, ya que estos campos deben ser siempre el último campo de la tabla.
-> Los campos añadidos a una tabla de base de datos mediante una estructura de adición pueden añadirse a sus índices secundarios. No se puede definir ningún índice secundario para la propia estructura anexa.
-> Un enlace de una tabla de comprobación o ayuda de búsqueda que ya existe para un campo de la tabla de base de datos no puede modificarse utilizando la estructura de anexión.
La ampliación de las estructuras SAP o de las tablas SAP mediante estructuras append en los sistemas del cliente no constituye una modificación. Las estructuras append creadas para los objetos SAP en los sistemas de cliente se encuentran en el espacio de nombres del cliente (o en el espacio de nombres de un socio de un proyecto de desarrollo especial) y, por lo tanto, están protegidas de ser sobrescritas por las actualizaciones. Es aconsejable crear los componentes de las estructuras anexas de este tipo con nombres del espacio de nombres del cliente también para evitar conflictos de nombres. Después de una actualización, las estructuras anexas asociadas se anexan de nuevo a las tablas modificadas por SAP.
Nota
La misma estructura se puede anexar a varias tablas o estructuras de la base de datos incluyéndola en las estructuras individuales de anexión como una estructura de inclusión.
Append views
Las vistas de la base de datos suministradas por SAP pueden ser mejoradas por los socios y los clientes mediante vistas conocidas como vistas apéndice, sin realizar ninguna modificación. El nombre de una vista anexa está sujeto a las mismas reglas que el nombre de una vista clásica y debe ubicarse en el espacio de nombres del cliente (o en el espacio de nombres de un socio o de un desarrollo especial) para protegerla contra la sobrescritura por actualizaciones o nuevas versiones.
Otros campos de las tablas base de la vista de la base de datos pueden añadirse a las vistas apéndice como campos de la vista. Las vistas anexas no pueden utilizarse para añadir más tablas base a la vista ni para modificar las condiciones de unión o de selección de una vista de base de datos. Una vista anexa se asigna exactamente a una vista de base de datos. Se puede crear más de una vista anexa para una vista de base de datos.
Si se activa una vista anexa, se crea una estructura anexa con este nombre en el Diccionario ABAP cuyos componentes son los campos de vista adicionales de la vista anexa.
Si se activa una vista de base de datos, se encuentran todas las vistas anexas para esta vista y sus campos se anexan a la vista de base de datos. La estructura anexa de la vista anexa se añade a la estructura de la vista de la base de datos. Si se crea o modifica una vista anexa, la vista de base de datos asociada se ajusta a este cambio automáticamente cuando se activa la vista anexa.
Notas
Anexar vistas sólo es posible para las vistas de la base de datos y no para otras vistas.
En el caso de las vistas CDS, las ampliaciones de vistas CDS son una opción separada para las ampliaciones y funcionan de forma similar a las vistas anexas. Cuando se crea una ampliación de una vista CDS, se crea una vista anexa que amplía la vista de base de datos CDS.
Ejemplo:
La vista de base de datos DEMO_ORIGINAL se amplía mediante la vista anexa DEMO_APPEND_VIEW. El programa DEMO_APPEND_VIEW utiliza SELECT para acceder a la vista mejorada y también muestra los componentes de las estructuras en cuestión.
Más info en: https://setevalapinsap.com
Saludos.