Close

enero 10, 2014

Smart forms: Llamar un formulario desde un programa o transacción

Hasta ahora hemos aprendido a crear formularios, cambiar el formato de los textos, trabajar con variables de entradas y mostrar datos en formato de tablas. Ahora veremos como llamar a nuestros formularios desde un programa o por medio de una transacción Z.

Al crear un smartforms SAP crea una función, la cual debemos llamar para imprimir el formulario, el problema es que la función se genera con un nombre que no conocemos, pero este problema se soluciona con la función de SAP SSF_FUNCTION_MODULE_NAME, la cual recibe como parámetro el nombre del formulario y retorna el nombre de la función asociada al formulario.  Primero debemos crear un formulario o utilizar uno ya hecho, luego creamos un programa en la transacción SE38 donde utilicemos la función SSF_FUNCTION_MODULE_NAME, para obtener el nombre del modulo de función que SAP cree para nuestro formulario y posteriormente llamemos a esa función para imprimir el smartform.

El código debería de ser similar a este:

Para usarlo con nuestros formularios debemos de realizar los siguientes campos:

    1. Sustituir la linea 5, por las variables que nuestro formulario requiere como entradas.
    2. Cambiar en la linea 10 la palabra Z_HOLA_MUNDO por el nombre de tu formulario.
    3. Sustituir la linea 29, por los parámetros de entrada de tu formulario, en caso de que tu formulario no tenga parámetros de entrada, debes eliminar las lineas 28 y 29.
    4. Sustituir la linea 31, por las tablas que utiliza tu formulario, en caso de que tu formulario reciba tablas como parámetros, debes eliminar las lineas 30 y 31.

Ahora al ejecutar tu programa se imprimirá el formulario, si necesitas se realice por medio de una transacción puedes crear una y asociarle tu programa.