
Las Estructuras Append en ABAP
Concepto y características de las estructuras append
- Una estructura append permite agregar datos y configuraciones adicionales a tablas, bases de datos o estructuras estándar de SAP.
- También se conocen como ampliaciones de tabla de base de datos.
- Se pueden insertar nuevos campos, definir claves foráneas y agregar ayudas de búsqueda a una tabla mediante una estructura append.
- Los campos añadidos deben seguir la nomenclatura de usuario (por ejemplo, empezar con ZZ o II) para evitar conflictos con nombres estándar de SAP.
- Una estructura append puede ser asignada a varias tablas o estructuras.
- Si se prevé que un campo será añadido por SAP en futuras versiones, debe incorporarse como reparación para evitar duplicidades tras actualizaciones.
- Al copiar una tabla o estructura con append, los campos del append se transfieren a la tabla o estructura de destino.
- Es posible crear nuevas claves foráneas o ayudas de búsqueda mediante append, pero no modificar las existentes.
- No se puede agregar una estructura append a una tabla base si esta contiene tipos de datos como VARSE, LCHAR o LROW, ya que deben ir al final de la tabla. Esta restricción no aplica a las estructuras.
Pasos para crear una estructura append
- Se utiliza la transacción SE11 en SAP para crear la estructura append.
- Ejemplo: creación de una estructura append para la tabla SFLIGHT, tabla estándar que contiene información sobre vuelos.
- Se accede a la función de estructura append y se selecciona la tabla (por ejemplo, SFLIGHT).
- El nombre de la estructura append debe comenzar con ZZU1 (ejemplo dado: ZZ SFLIGHT).
- Se indican los campos a incorporar como se hace en el diseñador de datos, se guarda y se accede a la estructura.
- Tras guardar, la tabla muestra la estructura append con los campos adicionales.
Opciones de ampliación ABAP
Clasificación de tablas y estructuras para ampliación
- Al crear o modificar una tabla en el Diccionario de datos ABAP, se clasifica respecto a si puede ser actualizada o ampliada mediante una estructura append.
- Las ampliaciones aplican tanto a la tabla o estructura en sí como a las estructuras dependientes que referencian la ampliación.
- Esta clasificación se realiza en la transacción S11, accediendo al menú Detalles y seleccionando Categoría de ampliación.
Opciones de categoría de ampliación
- No clasificado: la tabla o estructura no tiene definida una categoría de ampliación.
- No ampliable: la tabla o estructura no podrá ser ampliada mediante append.
- Ampliable y de caracteres: sólo campos de tipo carácter (C, N, D o T) pueden estar presentes tanto en la tabla/estructura como en sus ampliaciones.
- Ampliable y de caracteres o numérica: se permite carácter o numérico, pero no tipos de datos como tablas, referencias o strings.
- Ampliable de cualquier forma: admite cualquier tipo de datos en la tabla/estructura y sus ampliaciones.
- No clasificada: opción transitoria mientras se determina la categoría final.
Uso de estructuras append
Repaso de estructuras append
- Las estructuras append permiten agregar campos tanto a tablas como a estructuras en bases de datos del diccionario de datos.
- Se recomienda el uso de estructuras append en objetos estándar del sistema, ya que los objetos Z pueden modificarse directamente.
- El enfoque principal es la ampliación de tablas y estructuras estándar, no Z.
Proceso para agregar campos
- Para agregar campos a una tabla base de datos, la tabla debe ser "ampliable" según la categoría de ampliación en el diccionario de datos.
- Se mostró cómo acceder a la configuración de ampliación de una tabla a través del menú Detalles, Categoría: ampliación en el diccionario de datos.
- Solo las tablas configuradas como "ampliable" permiten la adición de campos mediante estructuras append.
Ejemplo práctico con la tabla KN1
- Se trabajó con la tabla estándar KN1 (maestro de cliente) en la transacción S11.
- Se verificó que la tabla KN1 no contaba con un campo para el mail del cliente.
- Se procedió a crear una estructura append llamada ZZ_KN1 para agregar el campo ZZ Mail, utilizando el elemento de datos ZZZ_mail.
- El elemento de datos ZZZ_mail es de tipo char de 200 caracteres y ya existía previamente.
- Tras activar la estructura append, se puede utilizar inmediatamente y transportar de ser necesario.
Conclusión y recomendaciones
- El proceso es sencillo y permite ampliar tablas estándar fácilmente.
- Se recomienda implementar esta práctica en desarrollos futuros para ampliar bases de datos estándar.