✒️ABAP / La construcción del formulario: tablas, líneas de código y gráficos Por Roberto Fluder Ahumada
ABAP La construcción del formulario: tablas, líneas de código y gráficos

Lección: La construcción del formulario: tablas, líneas de código y gráficos
Esta lección enseña cómo trabajar con tablas, líneas de código ABAP y gráficos dentro de los formularios Smartforms para estructurar y enriquecer el contenido impreso.
1. Las Tablas
- Creación de Tablas: Se pueden crear tablas para mostrar registros en un Smartform haciendo clic derecho sobre la ventana deseada y seleccionando Crear / Tabla.
- Table Painter: Es una herramienta integrada en Smartforms que permite configurar visualmente las propiedades de la tabla, como el número de líneas y columnas, alto de líneas, ancho de columnas, alineación, líneas separadoras (marcos), y el color de filas y columnas.
- Configuración Manual de Tabla: Además del Table Painter, la solapa Tabla tiene un botón Details que permite configurar manualmente lo que se hace con el Table Painter y otras propiedades.
- Tipos de Línea (Line Types): Se definen para estructurar las filas de la tabla. Permiten especificar la cantidad de columnas y sus anchos, así como asignar propiedades como colores de fondo y marcos. Se pueden tener diferentes tipos de línea para cabeceras, contenido y totales.
- Modificación de Propiedades de Línea: Es posible modificar el color de fondo de las columnas y el color/grosor del marco de un tipo de línea desde el Table Painter.
- Áreas de Tabla: Una tabla se divide en subcarpetas lógicas: Ámbito Cabecera (Header), Área Principal (Main Area) y Ámbito Final (Footer). A estas áreas se les asignan los Tipos Línea creados para definir su estructura y contenido.
- Recorrer Tablas Internas: Se puede asignar una tabla interna (previamente pasada como parámetro al formulario) y una estructura de trabajo (Work Area) para que el Smartform recorra sus registros y los muestre dinámicamente en el área principal de la tabla.
- Condiciones para Recorrer: Es posible especificar condiciones (WHERE) para filtrar los registros de la tabla interna a recorrer, y criterios de clasificación (ORDER BY) para ordenarlos antes de mostrarlos.
- Cálculos en Tablas: En la solapa Cálculos de la tabla, se pueden especificar operaciones aritméticas a realizar con los campos de la tabla que se está procesando.
- Opciones de Salida y Condiciones de Tabla: Al igual que otros nodos, las tablas tienen solapas para definir Opciones de Salida (para aplicar un estilo general a la tabla) y Condiciones para determinar cuándo debe visualizarse la tabla.
2. Líneas de Código
- Propósito de las Líneas de Código: Permiten insertar fragmentos de código ABAP directamente en el Smartform para realizar operaciones complejas, como llamadas a métodos, procesamiento de datos específicos o cálculos que no son posibles con las herramientas estándar del diseñador.
- Creación: Para añadir un bloque de código, se hace clic derecho en el nodo deseado (ej. una ventana, un nodo de tabla) y se selecciona Crear / Lógica de proceso / Líneas de Código.
- Definición de Interfaz (Parámetros): Es fundamental definir explícitamente las variables que el bloque de código utilizará. Esto se hace en las tablas Entrada de Parámetros (variables que el código leerá) y Salida de Parámetros (variables cuyos valores serán modificados y estarán disponibles fuera del bloque de código). Solo las variables declaradas aquí serán accesibles dentro del código.
- Modularización y Performance: Aunque son útiles, se recomienda minimizar el uso de líneas de código ABAP directamente en el Smartform. La lógica compleja y la selección de datos deben mantenerse en el programa impresor principal para mejorar la performance y facilitar el mantenimiento del formulario.
- Editor de Código: El editor de código para las líneas ABAP es similar al editor estándar de ABAP, facilitando la escritura y comprensión del código.
- Ejemplo de Uso: Un caso común es realizar operaciones aritméticas sencillas con variables de entrada y luego exportar el resultado para que sea impreso en un campo de texto dentro del formulario.
3. Gráficos
- Propósito de los Gráficos: Permiten insertar imágenes visuales en el Smartform, como logotipos corporativos, firmas digitalizadas o sellos.
- Transacción SE78: Es la transacción estándar en SAP para importar, gestionar y previsualizar los gráficos que se utilizarán en los Smartforms (y SAPscripts).
- Formatos de Imagen Compatibles: Las imágenes que se pueden importar a SAP mediante SE78 suelen ser de tipo BMP, TIF. Smartforms las convierte internamente a formato BMP para su procesamiento.
- Tipos de Gráficos: Los gráficos se clasifican como Gráficos de Mapa de Bits (Bitmap) o Gráficos de Color.
- Creación en Smartform: Para insertar una imagen, se crea un nodo Gráfico en la ventana o nodo específico del formulario donde se desea que aparezca.
- Proceso de Importación con SE78: Desde SE78, se selecciona el tipo de gráfico (mapa de bits o color), se ingresa un nombre para el gráfico en SAP (ej. ZLOGO_CVOSOFT), se proporciona una descripción, y se selecciona el archivo de imagen desde el equipo local.
- Propiedades del Gráfico en Smartform: En el nodo Gráfico del Smartform, se deben especificar el Objeto (siempre GRAPHICS), el ID (BMAP para mapa de bits, BCOL para color), el Nombre del gráfico (el nombre dado en SE78) y el Idioma. También se pueden configurar la Resolución (en DPI) y si la imagen se mostrará a color o en blanco y negro.
- Ajuste de Tamaño: Es crucial ajustar el tamaño y la posición del gráfico dentro del Smartform para asegurar que se visualice correctamente en el documento final y no distorsione el layout.
Información Adicional: Transacción OAER y Diferencias con SE78
Transacción OAER - Objetos de Aplicación (imágenes)
- Resumen: La transacción OAER (a veces referida como OAOR) se utiliza para la administración de objetos de aplicación genéricos, incluyendo la gestión de imágenes. Es comúnmente empleada para logos o fondos en reportes ALV (ABAP List Viewer) y otras aplicaciones de negocio. Almacena las imágenes como "Business Documents" en el sistema SAP.
- Cómo agregar gráficos con OAER:
- Acceder a la transacción OAER.
- Ingresar el "Class Name" (nombre de la clase), habitualmente PICTURES.
- Especificar el "Class Type" (tipo de clase), generalmente OT (Other Objects).
- Ingresar un "Object Key" (clave de objeto), que funciona como el nombre de la imagen o una subcarpeta lógica (ej. MLOGO).
- Ejecutar (F8).
- En la siguiente pantalla, buscar la pestaña Create (Crear).
- Seleccionar Standard Doc. Types (Tipos de documentos estándar) y luego Screen (Pantalla).
- Se abrirá un navegador de archivos para seleccionar la imagen local que se desea subir.
- Confirmar para almacenar la imagen en la base de datos SAP bajo la clave de objeto especificada.
Diferencia entre OAER y SE78 para gráficos
Ambas transacciones permiten subir gráficos a SAP, pero difieren en su propósito principal y en cómo se almacenan o utilizan las imágenes:
- SE78 (Administración de Gráficos de Formulario): Es la herramienta especializada para gráficos destinados a formularios impresos (Smartforms y SAPscripts). Almacena las imágenes en el Servidor de Documentos de SAP y las optimiza para la impresión, manejando formatos específicos (principalmente BMP, convirtiendo otros a este formato). Su uso es directo para incrustar logos en formularios.
- OAER (Objetos de Aplicación): Es una herramienta más genérica para gestionar objetos de negocio documentales. Las imágenes subidas por OAER se almacenan como "Business Documents" y son más adecuadas para ser usadas en aplicaciones de pantalla como reportes ALV o módulos de visualización que no son necesariamente formularios transaccionales.
En resumen, SE78 es para gráficos de impresión/formularios, mientras que OAER es para gráficos de aplicación/visualización en pantalla en un contexto más amplio de documentos de negocio.
 
 
 
Sobre el autor
Publicación académica de Roberto Fluder Ahumada, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Roberto Fluder Ahumada
Profesión: Analista de Sistemas - Chile - Legajo: TD38U
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Roberto Fluder






Disponibilidad Laboral: FullTime


















