Академический Документы
Профессиональный Документы
Культура Документы
Encuentranos en Google+.
Search Teknodatips . . .
Home
Home
AS/400 System i
SAP Netweaver
BLOGS
Encuestas
WORKSHOPS
Links SAP
Aprenda paso a paso a crear el programa impresor para ejecutar un Smartform en SAP.
La herramienta Sm artform s provista por SAP est enfocada en el desarrollo de form ularios , 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 Form s . Para poder desarrollar un Smartform, es necesario previamente conocer algunos conceptos importantes: El desarrollo de un Smartform consta de dos fases : el diseo del formulario (layout) y su invocacin desde un program a ABAP. A este programa se lo denomina Program a Im presor o Program a de control. Es necesario tener creado este programa antes de poder utilizar el Smartform. Si bien la lgica implementada en este programa podra estar incorporada en el propio diseo del smartform, es habitual en la mayora de las implementaciones de Smartforms, contar con un programa impresor especfico que contenga esa lgica, "separada" del diseo especfico del formulario. El program a im presor o program a de control puede ser: desarrollado desde cero o adaptado de alguno existente . Este programa, adems de encargarse de realizar la llam ada al Sm artform , puede contener la lgica necesaria para la obtencin de la inform acin que el Smartform va a utilizar (por ejemplo, puede realizar consultas a la base de datos para extraer los datos a mostrarse en el Smartform). Los datos extrados por el programa impresor se almacenarn en estructuras de datos (tabla interna, variables, etc.), y ser enviada al Smartform para que ste pueda usar esa informacin. Sin embargo, como se mencion en prrafos anteriores, el mismo diseo del Smartform podra contener esa lgica para la obtencin de informacin que l mismo va a utilizar. En el presente tip se desarrollar paso a paso la creacin de un program a im presor , explicando las principales sentencias de su cdigo, ejemplificando la obtencin de los datos a travs de un programa impresor (no en el propio Smartform), que ser generado desde cero. Proximamente, en otro tip se detallarn los pasos necesarios para la definicin del diseo propiamente dicho del formulario smartform.
www.teknodatips.com.ar/sap-netweaver/226-como-crear-el-programa-impresor-para-la-ejecucion-de-un-smartform-en-sap.html
1/5
04/06/13
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 llam an al Sm artform A continuacin se detalla para a) , b) y c) el cdigo para realizar la accin correspondiente: a) Definir las estructuras de datos: Se detallan las siguientes sentencias dentro del programa impresor:
Donde se puede observar: 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 declara una tabla interna del tipo definido en el cdigo ejemplo. b) Obtencin de los datos:
www.teknodatips.com.ar/sap-netweaver/226-como-crear-el-programa-impresor-para-la-ejecucion-de-un-smartform-en-sap.html
2/5
04/06/13
En el cdigo anterior se puede observar: 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 La sentencia SELECT obtiene los datos que se almacenarn en la tabla interna. c) Especificar las funciones que llam an al Sm artform
La sentencia PERFORM im prim ir_form ulario es la que invoca a las funciones: 1) SSF_FUNCTION_MODULE_NAME (standard de SAP) y 2) l_funcion (definicin propia), que son necesarias para la invocacin de cualquier Smartform. (Tener en cuenta que l_funcion puede llevar otro nombre). Se detalla esta accin en el cdigo siguiente:
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 .
www.teknodatips.com.ar/sap-netweaver/226-como-crear-el-programa-impresor-para-la-ejecucion-de-un-smartform-en-sap.html
3/5
04/06/13
Como se visualiza en el cdigo anterior: Inmediatamente debajo del llamado a la funcin, ser necesario chequear que no haya habido errores (sy-subrc = 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 program a im presor est listo para ser utilizado para ejecutar un smartform.
En el prximo tip se mostrar paso a paso cmo definir el smartform (disear el layout), para luego poder ejecutarlo, haciendo su invocacin desde el programa impresor recientemente creado.
Especialista ABAP
Reciba por mail los mejores tips, notas tcnicas, tutoriales paso a paso, etc. Los suscriptores recibirn ADEMAS Quick Reference Charts, material de Workshops, y otros documentos publicados NO accesibles en el sitio. Correo Suscribirse
www.teknodatips.com.ar/sap-netweaver/226-como-crear-el-programa-impresor-para-la-ejecucion-de-un-smartform-en-sap.html
4/5
04/06/13
Enviar
J C omments
Copyright 2013 Teknoda tips - Tecnologia SAP Netw eaver - IBM AS400 - System i - iSeries. Teknodatips es un sitio de TEKNODA S.A. - Todos los derechos reservados. Joomla! es softw are libre publicado bajo la licencia GNU/GPL. Todos los derechos reservados 2013 http://w w w .teknodatips.com.ar
www.teknodatips.com.ar/sap-netweaver/226-como-crear-el-programa-impresor-para-la-ejecucion-de-un-smartform-en-sap.html
5/5