cómo crcómo crear el programa impresor para la ejecución de un smartform en sapear el programa...

Upload: bernardo-freitas

Post on 07-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Cómo Crcómo crear el programa impresor para la ejecución de un Smartform en SAPear El Programa Impresor Pa…

    1/5

    cómo crear el programa impresor para la ejecución de un Smartform en SAP

     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 algún modo. Como medio de salida, los Smartforms soportan una impresora, un fa, e!mail o

    "nternet #usando la salida $%L&.

    'isten otras herramientas de SAP que posi(ilitan lo mismo, como Sapscript ) Adobe Forms.

    Para poder desarrollar un Smartform, es necesario previamente conocer algunos conceptos importantes*

    'l desarrollo de un Smartform consta de dos fases*

    el diseño del formulario (layout)

    y su invocación desde un programa ABAP. A este programa se lo denomina Programa

    Impresor o Programa de control. Es necesario tener creado este programa antes de poder utilizar el Smartform. Si

    bien la lógica implementada en este programa podría estar incorporada en el propio diseño del smartform, es abitual

    en la mayoría de las implementaciones de Smartforms, contar con un programa impresor especí!co "ue contenga esa

    lógica, #separada# del diseño especí!co del formulario.

    'l programa impresor o programa de control puede ser* desarrollado desde “cero” oadaptado de alguno

    existente.

    'ste programa, además de encargarse de reali+ar la llamada al Smartform, puede contener la lógica necesaria para

    la obtención de la información que el Smartform va a utili+ar #por ejemplo, puede reali+ar consultas a la (ase de datos para

    etraer los datos a mostrarse en el Smartform&. Los datos etrados por el programa impresor se almacenarán en estructuras de datos

    #ta(la interna, varia(les, etc.&, ) será enviada al Smartform para que -ste pueda usar esa información.

    Sin em(argo, como se mencionó en párrafos anteriores, el mismo diseo del Smartform podra contener esa lógica para la o(tención

    de información que -l mismo va a utili+ar.

    'n el presente tip se desarrollará paso a paso la creación de un programa impresor, eplicando las principales sentencias

    de su código, ejemplificando la o(tención de los datos a trav-s de un programa impresor #no en el propio Smartform&, que será

    generado desde cero.

    Proimamente, en otro tip se detallarán los pasos necesarios para la denición del diseño propiamente dicho del

    formulario smartform.

    Consideraciones para el 'jemplo a desarrollar*

    Se tra(aja con la ta(la S/001 del entorno de prue(as ) se requiere que el diseo del formulario smartform a desarrollar respete el

    siguiente 2la)out3, ) de(erá recuperar los datos necesarios para listar las reservas correspondientes a los vuelos con los

    siguientes datos*

    Compaa #campo carrid&* Lufthansa #L4&

    Connection "d #campo carrid&* 5655

    7echa #campo fldate&* 89 de 7e(rero de :;;

  • 8/18/2019 Cómo Crcómo crear el programa impresor para la ejecución de un Smartform en SAPear El Programa Impresor Pa…

    2/5

     

    Pasos para la creación del programa Impresor:

    1 Acceder a la transacción S!"# para crear un programa, denominado, por ejemplo,$I%P&!S'&, que será el programa "mpresor

    del Smartform.

    ( 'n este paso, una ve+ creado el programa impresor, será necesario en -l reali+ar lo siguiente**

    a =efinir las estructuras de datos, donde almacenar los datos o(tenidos.

    b 'btener los datos #con consultas a la (ase de datos&.

    c 'specificar las funciones )ue llaman al Smartform

     A continuación se detalla para a, b ) c el código para reali+ar la acción correspondiente*

    a Denir las estructuras de datos*

    Se detallan las siguientes sentencias dentro del programa impresor*

     

  • 8/18/2019 Cómo Crcómo crear el programa impresor para la ejecución de un Smartform en SAPear El Programa Impresor Pa…

    3/5

     

    =onde se puede o(servar*

    la creación de $ variables (date1, carrier1 y connection1) para almacenar los datos %nicos "ue se van a

    mostrar en el formulario. En la imagen del layout de salida mostrada anteriormente, se corresponde con los

    campos& Field 1, Field ( y Field +. El 'ield , tambin mostrado, no va a contener ning%n dato en particular, pero es

    donde el desarrollador puede escribir su nombre o alg%n te*to "ue sea de su inters. Este campo se incluye

    %nicamente debido a "ue contribuir+ luego, cuando se de!na la estructura del Smartform, a detallar una de sus partes

    (por eemplo, el -footer).

    /a creación de una variable llamada l,funcion cuyo tipo es rs+"l,fnam, contendr+ elnombre del módulo de

    función "ue eecuta al Smartform.

    /a de!nición de un tipo de datos "ue coincide con la estructura de la tabla S0112 (se usa de esta manera

    para simpli!car el eemplo).

    Se declara una tabla interna del tipo de!nido en el código eemplo.

    b Obtención de los datos:

     

    'n el código anterior se puede o(servar*

    Se asigna a cada una de las variables creadas en el paso a) los valores "ue se solicitaron en el re"uerimiento

    eemplo.

    date3 se corresponde con la feca, currier3 se corresponde con 4ompañia y connection3 se corresponde con4onnection 56

    /a sentencia SE/E47 obtiene los datos "ue se almacenar+n en la tabla interna.

    c Especificar las funciones que llaman al Smartform

    La sentencia P'>70>% imprimir,formulario es la que invoca a las funciones* 1

    SSF,F-./0I'.,%'-2!,.A%! #standard de SAP& ) (& l,funcion #definición propia&, que son necesarias para la invocación

    de cualquier Smartform. #?ener en cuenta que l,funcionpuede llevar otro nom(re&.

    Se detalla esta acción en el código siguiente*

  • 8/18/2019 Cómo Crcómo crear el programa impresor para la ejecución de un Smartform en SAPear El Programa Impresor Pa…

    4/5

     

    =onde*

    Para la función 1 SSF,F-./0I'.,%'-2!,.A%!, se definen los parámetros necesarios*

    el nombre del formulario (formname) 8 se introduce el nombre "ue se le dar+ al Smartform una vez "ue se lo

    cree.

    el par+metro fm9name, "ue en este eemplo en particular se de!nir+ como l,funcion, como fue declarada

    anteriormente de tipo s+"l,fnam3

     

    Por último se declara el mane4o de excepciones para la función3*

    Como se visuali+a en el código anterior*

    5nmediatamente debao del llamado a la función, ser+ necesario ce"uear "ue no aya abido errores (sy:

    subrc ; 1?75@ de la función

    anterior).

    En EB>1?75@ se detallan los campos "ue se desean enviar al Smartform.

  • 8/18/2019 Cómo Crcómo crear el programa impresor para la ejecución de un Smartform en SAPear El Programa Impresor Pa…

    5/5

    En 7A0/ES la tabla interna anteriormente de!nida, y como es abitual, el maneo de las e*cepciones

    correspondientes.

    =e esta manera el programa impresor está listo para ser utili+ado para ejecutar un smartform.

    Para tener en cuenta ...

    El programa impresor es necesario para la eecución de un Smartform, pero no es su!ciente, resta crear

    el smartform (de!niendo el diseño), para "ue pueda ser invocado por el >rograma impresor.

    Si bien la lógica de!nida en el programa impresor puede estar incorporada al diseñar el smartform, es

    abitual crear su lógica en el programa impresor como se detalló en el tip presente.

    En el pró*imo tip se mostrar+ paso a paso cómo de!nir el smartform (diseñar el-layout), para luego poder eecutarlo, aciendo su invocación desde el programaimpresor recientemente creado.