✒️ABAP La construcción del programa impresor
ABAP La construcción del programa impresor
La construcción del programa impresor
Los objetivos del programa impresor de un formulario Smartforms son:
La selección de los datos que se mostraran en el formulario
La invocación o ejecución del formularios
Si bien dentro de un formulario Smartform podremos agregar sentencias de código y selecciones de datos, es sumamente conveniente minimizar el código que se coloca en los formularios debido a una cuestión de performance y facilidad de mantenimiento futuro de estos objetos.
La selección de datos:
Crearemos el programa ABAP ZPRUEBA_SMARTFORMS_DV67Z y dentro de este la subrutina SELECCIONAR_DATOS para modularizar la selección de los datos. Usaremos la tabla de BD ZTABLA_USUARIOS con la cual trabajamos en el Módulo Consultor ABAP Nivel Inicial.
Los datos de esta selección los almacenamos en la tabla interna TI_USUARIOS, que tiene la misma estructura que la tabla BD ZTABLA_USUARIOS pero sin el campo mandante.
Si visualizamos la estructura ZUSUARIOS veremos los campos que la forman dentro d Diccionario de dtos ABAP:
La invocación del formulario
Vamos a crear el formulario Smartform ZFORMULARIO_PRUEBA_DV67X ingresando a la transacción SMARTFORMS y haciendo clic en el botón Crear tal como vemos a continuación:
Luego volviendo al programa impresor ZPRUEBA_SMARTFORMS_DV67X vamos a usar 2 módulos de funciones para ejecutarlo. Primero el módulo de funciones SSF_FUNCTION_MODULE_NAME para averiguar el nombre del módulo de funciones de SAP que ejecuta el formulario.
El nombre de este módulo de funciones lo almacenamos en la variable V_NOMBRE_FORM tal como vemos en el siguiente código.
Luego ejecutaremos el módulo de funciones cuyo nombre contiene la variable V_NOMBE_FORM pasándole como parámetro de entrada/salida la tabla interna de usuarios TI_USUARIOS que obtuvimos de la tabla BD ZTABLA_USUARIOS en la subrutina SELECCIONAR_DATOS.
En las secciones EXPORTING y TABLES del módulo de funciones contenido en la variable V_NOMBRE_FORM es donde se especifican todos los parámetros que enviaremos al formulario.
Por último vamos a ejecutar el programa impresor ZPRUEBA_SMARTFORMS para ver qué sucede, ya que creamos el formulario ZFORMULARIO_PRUEBA_DV67X pero el mismo se encuentra en blanco, es decir vacío. Al ejecutar el programa visualizamos la siguiente ventana de diálogo de impresión en donde completamos el dispositivo de salida con la LOCL y vamos a hacer clic en el botón de Visualización de impresi´pon tal como evmos a continuación:
Si hacemos clic en el botón imprimir entonces podemos realizar la impresión por la impresora del formulario Smartforms en la impresora que hayamos seleccionado dentro del campo dispositivo de salida.
Y vamos a visualizar la impresión del formulario Smartform ZFORMULARIO_PRUEBA en pantalla:
Tal como se muestra en la parte superior de la pantalla se indica que el formulario Smartform está formado por una sola página y el mismo se encuentra totalmente vacío.
Tabla BD STXFADMI - Smart Forms: Gestión - información interna - Contiene los formularios Smartforms existentes en sistema SAP.
FORMNAME: nombre del módulo de función
FMNUMB: número del módulo de funciones
 
 
 
Sobre el autor
Publicación académica de Lisimaco Prieto Herrera, en su ámbito de estudios para la Carrera Consultor ABAP.
Lisimaco Prieto Herrera
Profesión: Ingeniero de Sistemas - Colombia - Legajo: DV67X
✒️Autor de: 96 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Ingeniero de sistemas con amplia experiencia en el desarrollo de software para el sistema sap r/3 en lenguaje de programaci?n abap.
Certificación Académica de Lisimaco Prieto