1.2. - Construcción del programa impresor
1.2.1. - Construcción del programa impresor de un formulario Smartform
Los objeticos principales del programa impresor de un formulario Smartform son:
1. Selección de los datos que se mostraran en el formulario
2. Invocación o ejecución del formulario.
Es 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.
1.2.2. - Selección de los datos
Para el ejemplo, se creará el programa “ZPRUEBA_SMARTFORMS”. Dentro del programa, se creará la subrutina “Cargar_datos”, para modularizar la selección de los datos. Se utilizará la tabla de base de datos de usuarios. Los datos de esta selección, se almacenarán en la tabla interna “ti_usuarios”, de igual estructura que la tabla de los usuarios pero sin mandante.
1.2.3. - Invocación del formulario
Hay que crear el formulario Smartform “ZFORMULARIO_PRUEBA”, accediendo a la transacción “SMARTFORMS” y pulsando el botón de crear. Una vez creado, es necesario activarlo para que no se provoque ningún error.
Creado el Smartform, en el programa creado anteriormente “ZPRUEBA_SMARTFORM”, se utilizarán dos módulos de función para ejecutarlo. El primero es la función “SSF_FUNCTION_MODULE_NAME”, para averiguar el nombre de la función SAP que ejecuta el formulario. El nombre de esta función se almacena en la variable “V_NOMBRE_FORM”.
Posteriormente, se ejecutará la función cuyo nombre contiene la variable “V_NOMBRE_FORM”, pasando como parámetro de entrada/salida la tabla interna de usuarios “TI_USUARIOS”, que se obtuvo en la subrutina de “Cargar_datos”.
En las secciones “EXPORTING” y “TABLES” de la función contenida en la variable “V_NOMBRE_FORM”, es donde se especifican todos los parámetros que se enviarán al formulario.