Anda di halaman 1dari 5

04/06/13

Cmo crear el programa impresor para la ejecucin de un Smartform en SAP


Sobre Teknoda Registrarse Login/Logout Contacto

Encuentranos en Google+.

Search Teknodatips . . .

Home
Home

AS/400 System i

SAP Netweaver

BLOGS

Encuestas

WORKSHOPS

Links SAP

SAP Netw eaver

Cm o crear el program a im presor para la ejecucin de un Sm artform en SAP

SAP Netweaver / ABAP

Notas tcnicas / Tips / Tutorials

Lea en SAP Netweaver . . .

Cmo crear el programa impresor para la ejecucin de un Smartform en SAP


Tw eet 3 2 Share 8

Desanudando Conceptos: SAP HANA


si no HANA hoy, HANAr m aana No hay new sletter, conferencia o evento del ambiente ERP que en los ltimos meses haya ahorrado detalles y especulaciones sobre el nuevo paradigma: SAP HANA. En medio del marketing hype, es siempre difcil para los que estamos en el ruedo decodificar lo esencial de las nuevas tecnologas, as que aqu va nuestro aporte para ayudar a una cabal y conceptual comprensin de SAP HANA. LEER ESTE ARTICULO >>>>>

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.

SAP Tips Newsletter GRATIS


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

Consideraciones para el Ejemplo a desarrollar:


Se trabaja con la tabla SBOOK del entorno de pruebas y se requiere que el diseo del formulario smartform a desarrollar respete el siguiente layout, y deber recuperar los datos necesarios para listar las reservas correspondientes a los vuelos con los siguientes datos: Compaa (campo carrid): Lufthansa (LH) Connection Id (campo carrid): 0400 Fecha (campo fldate): 28 de Febrero de 1995.

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

Cmo crear el programa impresor para la ejecucin de un Smartform en SAP

Pasos para la creacin del programa Impresor:


1) Acceder a la transaccin SE80 para crear un programa, denominado, por ejemplo, ZIMPRESOR, que ser el programa Impresor del Smartform.

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

Cmo crear el programa impresor para la ejecucin de un Smartform en SAP

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 .

Por ltimo se declara el m anejo de excepciones para la funcin.:

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

Cmo crear el programa impresor para la ejecucin de un Smartform en SAP

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.

Para tener en cuenta ...


El programa impresor es necesario para la ejecucin de un Smartform, pero no es suficiente, resta crear el sm artform (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 sm artform , es habitual crear su lgica en el programa impresor como se detall en el tip presente.

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

Copyright 2012 - Teknoda S.A.


IMPORTANTE: Notas tcnicas de SAP ABAP" se enva con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artculos tcnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organizacin de servicios de tecnologa informtica y NO comercializa hardware, software ni otros productos . Si desea suscribir otra direccin de e-mail para que comience a recibir las Notas Tcnicas SAP, enve un mensaje desde esa direccin a sapping@teknoda.com, aclarando nombre, empresa, cargo y pas del suscriptor. SAP, SAP Netweaver, R/3 y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicacin y no es responsable de la misma en ningn aspecto. La informacin contenida en esta publicacin ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecnico, cambio de versin u otro, Teknoda no garantiza la exactitud o completud de la misma. COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

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

Escribir un com entario Nombre (requerido)

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

Cmo crear el programa impresor para la ejecucin de un Smartform en SAP


Refescar

Enviar
J C omments

Buscar ms tips de SAP enTeknodatips . . .

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

Anda mungkin juga menyukai