✒️ABAP / La construcción del programa impresor Por Mara Romero Hernandez
ABAP La construcción del programa impresor

El tema central es la construcción de un programa impresor para un formulario Smartform en ABAP. Los objetivos principales de este programa son dos: primero, la selección de los datos que se van a mostrar en el formulario, y segundo, la propia invocación o ejecución del formulario. Es importante destacar que, aunque dentro de un Smartform se pueda agregar código, se recomienda minimizarlo por una cuestión de rendimiento y para facilitar el mantenimiento futuro.
Para implementar esto, se crea un programa ABAP llamado ZPRUEBA_SMARTFORMS. Dentro de él, se modulariza la selección de datos en una subrutina llamada SELECCIONAR_DATOS. Esta subrutina se encarga de leer los datos desde la tabla de base de datos ZTABLA_USUARIOS, que se utilizó en módulos anteriores. Los datos seleccionados, que incluyen campos como DNI, nombre, estado y dirección, se almacenan en una tabla interna llamada TL_USUARIOS. Es crucial notar que esta tabla interna se basa en una estructura de datos llamada ZUSUARIOS, la cual debe crearse previamente en el Diccionario de Datos de ABAP. Esta estructura debe contener todos los campos de la tabla original ZTABLA_USUARIOS, excepto el campo mandante.
La lógica principal del programa se coloca en el evento START-OF-SELECTION, donde se realiza la llamada a la subrutina de selección de datos. Posteriormente, para ejecutar el formulario, el programa debe invocar al Smartform. Este proceso se realiza en otra subrutina, típicamente llamada INVOCAR_SMARTFORM. El primer paso dentro de esta subrutina es verificar que la tabla interna con los datos no esté vacía. Luego, para poder ejecutar el formulario, es necesario conocer el nombre del módulo de función específico que SAP genera para cada Smartform. Este nombre se obtiene llamando a la función estándar de SAP llamada SSF_FUNCTION_MODULE_NAME, a la que se le pasa como parámetro el nombre técnico del formulario, por ejemplo, 'ZFORMULARIO_PRUEBA'. El nombre del módulo devuelto por esta función se almacena en una variable, por ejemplo, V_NOMBRE_FORM. Finalmente, con este nombre, se puede realizar la llamada real que ejecuta el Smartform y le pasa los datos contenidos en la tabla interna TL_USUARIOS para su impresión.
 
 
 
Sobre el autor
Publicación académica de Mara Fadua Romero Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Mara Fadua Romero Hernandez
Profesión: Psicóloga - Mexico - Legajo: EE18E
✒️Autor de: 67 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Mara Romero






Disponibilidad Laboral: FullTime


















