Professional Documents
Culture Documents
Aprenda paso a paso a crear el programa impresor para ejecutar un Smartform en SAP.
La herramienta Smartforms provista por SAP est enfocada en el desarrollo de formularios, por ejemplo el de una
factura, que posteriormente ser impresa de algn modo. Como medio de salida, los Smartforms soportan una
impresora, un fax, e-mail o Internet (usando la salida XML).
Existen otras herramientas de SAP que posibilitan lo mismo, como Sapscript y Adobe Forms.
Para poder desarrollar un Smartform, es necesario previamente conocer algunos conceptos importantes:
El desarrollo de un Smartform consta de dos fases:
2) En este paso, una vez creado el programa impresor, ser necesario en l realizar lo siguiente::
a) Definir las estructuras de datos, donde almacenar los datos obtenidos.
b) Obtener los datos (con consultas a la base de datos).
c) Especificar las funciones que llaman al Smartform
la creacin de 3 variables (date1, carrier1 y connection1) para almacenar los datos nicos que se van a
mostrar en el formulario. En la imagen del layout de salida mostrada anteriormente, se corresponde con los
campos: Field 1, Field 2 y Field 3. El Field 7, tambin mostrado, no va a contener ningn dato en particular, pero es
donde el desarrollador puede escribir su nombre o algn texto que sea de su inters. Este campo se incluye
nicamente debido a que contribuir luego, cuando se defina la estructura del Smartform, a detallar una de sus
partes (por ejemplo, el footer).
La creacin de una variable llamada l_funcion cuyo tipo es rs38l_fnam, contendr el nombre del mdulo
de funcin que ejecuta al Smartform.
La definicin de un tipo de datos que coincide con la estructura de la tabla SBOOK (se usa de esta manera
para simplificar el ejemplo).
Se asigna a cada una de las variables creadas en el paso a) los valores que se solicitaron en el
requerimiento ejemplo.
date1 se corresponde con la fecha, currier1 se corresponde con Compaia y connection1 se corresponde
con Connection ID
Donde:
Para la funcin 1) SSF_FUNCTION_MODULE_NAME, se definen los parmetros necesarios:
el nombre del formulario (formname) se introduce el nombre que se le dar al Smartform una vez que se
lo cree.
el parmetro fm_name, que en este ejemplo en particular se definir como l_funcion, como fue declarada
anteriormente de tipo s38l_fnam.
Inmediatamente debajo del llamado a la funcin, ser necesario chequear que no haya habido errores (sysubrc = 0) y en ese caso se har un call function a l_funcion (se corresponde con el IMPORTING de la funcin
anterior).
En EXPORTING se detallan los campos que se desean enviar al Smartform.
En TABLES la tabla interna anteriormente definida, y como es habitual, el manejo de las excepciones
correspondientes.
De esta manera el programa impresor est listo para ser utilizado para ejecutar un smartform.
El programa impresor es necesario para la ejecucin de un Smartform, pero no es suficiente, resta crear
el smartform (definiendo el diseo), para que pueda ser invocado por el Programa impresor.
Si bien la lgica definida en el programa impresor puede estar incorporada al disear el smartform, es
habitual crear su lgica en el programa impresor como se detall en el tip presente.