SAP SMARTFORMS
Introducción a los smartforms
DESARROLLO
Victor Manuel Armendariz Jaramillo
9/3/20243 min leer


En SAP, los Smartforms son formularios o reportes que están diseñados específicamente para la impresión. A diferencia de los reportes ALV, que son interactivos y permiten la manipulación de datos en tiempo real, los Smartforms son más adecuados para la impresión de documentos como facturas, notas de remisión, cheques, entre otros.
Iniciando la Creación de un Smartform
Para comenzar a crear un Smartform, es necesario acceder a la transacción SMARTFORMS. Al ingresar, se presentará una pantalla principal dividida en tres paneles:
1. Panel Izquierdo (Estructura de Árbol): Aquí se despliega una estructura en forma de árbol que organiza los diferentes elementos del formulario. Al seleccionar un elemento, se mostrará su contenido en el panel intermedio.
2. Panel Intermedio: En esta sección se muestra el contenido del elemento seleccionado en el árbol.
3. Panel Derecho (FormPainter): Este panel, conocido como "FormPainter", permite la selección visual de las posiciones dentro del formulario. Si este panel no es visible, es posible activarlo haciendo clic en el botón “FormPainter”.
Antes de continuar, es recomendable guardar el formulario, asignarlo a un paquete y asociarlo a una Orden de Transporte.
Definiendo los Datos de Entrada
Una vez guardado el formulario, es necesario definir los datos de entrada. Para ello, selecciona en el árbol la opción 'Interfase formulario' mediante un doble clic. Esto abrirá la información de la interfaz del formulario en la pantalla central, mostrando cuatro solapas:
Import: Parámetros de entrada para el Smartform.
Export: Parámetros de salida del Smartform.
Tables: Tablas que se envían al Smartform.
Exceptions: Posibles errores que pueden ocurrir en el Smartform, útiles para el control de errores.
Añadiendo una Imagen al Smartform
Si deseas incluir una imagen, como el logo de la empresa, sigue estos pasos:
1. Cargar la Imagen en SAP: Accede a la transacción SE78. En el árbol que aparece, selecciona la opción ‘GRAPHICS’. Luego, selecciona la carpeta en la que deseas agregar la imagen y haz doble clic. En el menú, selecciona Graphic => Importar. Esto abrirá un pop-up para elegir la ubicación de la imagen en tu computadora. Una vez seleccionada, introduce un nombre y una descripción. Si deseas que la imagen sea en color, selecciona la opción "Imagen Bitmap en color".
2. Incluir la Imagen en el Smartform: Crea una ventana (sección) en el Smartform. Haz clic con el segundo botón sobre la página y selecciona Window. Esta será la sección donde se insertará la imagen. Luego, introduce la siguiente información:
Nombre: El nombre que se introdujo al cargar la imagen.
Objeto: Tipo de objeto.
ID: Tipo de objeto, en este caso, BMAP.
Selecciona la opción "Imagen Bitmap a color".
Una vez completados estos pasos, la imagen aparecerá en tu Smartform.
Identificación de Errores en Smartforms
Una de las transacciones útiles para identificar errores de formato en Smartforms es SFTRACE. Para utilizarla, sigue estos pasos:
Presiona el botón de ‘Activar’ en la transacción SFTRACE.
Ejecuta tu Smartform y, al finalizar, presiona el botón ‘Desactivar’ para concluir la transacción SFTRACE.
Actualiza la tabla en la parte inferior de la pantalla para encontrar la ejecución de tu Smartform.
Selecciona el TRACE correspondiente y presiona el botón de visualizar.
Una vez visualizado el TRACE, es crucial prestar atención a los campos destacados en recuadros rojos, ya que estos datos serán necesarios para el siguiente paso.
Para obtener el mensaje de error, utiliza la transacción SE37 con la función MESSAGE_TEXT_BUILD e ingresa los datos obtenidos anteriormente.
Depuración y Verificación de Errores de Lógica
Para identificar errores de lógica en Smartforms, una opción es usar un BREAK-POINT en línea para depurar y analizar la lógica. Sin embargo, este método puede ser tedioso debido a la necesidad de transporte de copias a QAS o PRD.
Una alternativa más eficiente es utilizar la función de ‘Verificar’ en la transacción SMARTFORMS. Además, puedes encontrar tu código en la transacción SE80 accediendo a la sección de subrutinas. Desde allí, busca el nombre de la línea del programa en tu Smartform, lo que te permitirá ubicar la lógica y establecer un BREAK-POINT para depuración.
Conclusión
Crear un Smartform en SAP es un proceso que requiere atención a los detalles, especialmente al definir las interfaces y agregar elementos visuales como imágenes. Estos formularios son ideales para generar documentos impresos profesionales y estandarizados en el entorno SAP.


Ing. Victor Manuel Armendariz Jaramillo
Consultor ABAP
Ubicación
Av. Haciendas del Rosario 117 Real de Bugambilias, 37178, León, Guanajuato.

