domingo, 1 de junio de 2014

ADOBE FORMS

La tecnología mas reciente para la creación de formularios en SAP, es la solución SAP Interactive  Forms by Adobe. Esto permite crear formularios interactivos y formularios de impresión basados en Adobe PDF para optimizar los procesos de impresión de las aplicaciones.

El punto interesante en el uso de esta tecnologia es su compatibilidad con las personalidades ABAP y JAVA del SAP Netweaver Application Server. Actualmente, el uso de los formularios de impresión basados en PDF, puede reemplazar a los SmartForms, del lado ABAP, y además, potencias las Web Dynpro, tanto del lado Java como ABAP, usando formularios interactivos.
Para tal efecto esta nueva solución SAP Interactive Forms by Adobe (disponible a partir de SAP Netweaver 04) utiliza el Adobe LiveCycle Designer, que es una herramienta de diseño que permite la creación de formularios utilizando UI Elements, de manera muy intuitiva y facil de utilizar, y está totalmente integrado en el ABAP Workbench y en el Netweaver Developer Studio.

Los formularios de impresión basados en Adobe son parte de SAP Interactive Forms by Adobe y son usados para imprimir en los sistemas SAP.

Un formulario de Abobe PDF consta de tres partes, en las que todas son necesarias para la creacion del mismo:

  • Interfase: Contiene los parametros (tablas, estructuras, etc.) que un formulario podra utilizar. Es independiente del formulario.
  • Contexto: Contiene unicamente los parametros de la interfase que son requeridos en un determinado momento.
  • Layout: Es el diseño del formulario

Ahora voy a explicar los pasos a seguir para crear un formulario con Adobe en SAP:
 
 
 
  1. Acceder a la transacción SFP - Form Builder.
  2. Crear la interfase que utilizará el formulario de la siguiente manera: indicar un nombre y presionar Create, como se ve en la imagen.

  3. Completar la siguiente pantalla con la descripción de la interfase y grabamos.

  4. Una vez creada la interfase, se debe indicar cuales serán los parametros de entrada y salida que manejará la misma. Esta etapa es similar al manejo de parametros de una función. A continuación se muestra la interfase creada anteriormente, con tres parametros de entrada.



    Si se desea modificar la interfase en esta  etapa, los pasos con los siguientes segun corresponda:

    - Hacer doble click sobre  Import y agregar en la parte derecha de la pantalla todos los parametros de entrada que tendrá la interfase.
    - Repetir está operación para los parámetros de Export, las excepciones, datos globales, etc.
    - En Initialization, agregar código ABAP de ser necesario.

    Una vez hechas las modificaciones necesarias se debe grabar y activar.
  5. Una vez grabada la interfase, accedemos de nuevo a la transacción SFP, para crear el formulario. Elegir un nombre para el formulario y presionar Create. 
  6. Completar la descripción del formulario y asociarlo con una interfase. Luego seleccionar Save.

  7. Una vez creado el formulario, se debe asociar un contexto para el mismo. En la solapa Context aparecerán sobre la izquierda todos los parámetros que se declararon en la interfase. De dicha interfase se deberán seleccionar solo los parámetros que se utilizarán en el formulario. Para ello, arrastrar hacia el contexto (parte derecha de la pantalla) los parametros que se deseen, tal como se muestra en la imagén.

  8. Una vez diseñado el contexto del formulario, Grabar y Activar.
  9. Después, diseñar la imagén de salida que tendrá el formulario, a través de la solapa Layout.

    En la solapa Páginas de Trabajo se diseñará el formulario. Las principales herramientas para ellos son las "Paletas", que se pueden ubicar libremente  en la pantalla. De no estar visibles, se las puede agregar desde el menú, yendo a Paletas y seleccionando la deseada:

    - Paleta Jerarquía/Vista de Datos: En la vista de datos aparecerán  todos los parámetros definidos en el contexto y simplemente habrá que arrastrarlos hacia la página de trabajo tal como se muestra en la figura anterior.
    - Paleta Objeto: Se definen algunos atrinbitos del objeto tales como bordes, presentación, si es de solo lectura, obligatorio, etc. Además en dicha paleta se encuentra el enlace del parametro  del contexto, es decir, que parametro del contexto esta a cada campo del formulario.

    - Paleta Fuente/Parrafo: Permite definir la fuente (tipo, color) y el estilo de párrafo (centrado, alineado, etc.) para cada objeto del formulario.

    - Paleta Biblioteca: Contiene todos los elementos (Controles) que se pueden arrastrar al formulario. 
     
     
     

    En el caso de querer mostrar una tabla en el formulario, desde la paleta "Vista de Datos" se debe arrastrar la tabla a la página de trabajo como cualquier otro componente.



    - En la pagian de trabajo seleccionar la tabla e ir a la paleta Objeto completando con los siguientes datos:



    - Por último seleccionar en la página de trabajo el tipo de tabla dentro de la tabla (tener cuidado que la tabla y el tipo de tabla están muy encimados y es dificil distinguirlos) y completar los siguientes datos en la paleta Objeto:



    En la solapa Vista Previa del PDF se puede visualizar el diseño del formulario completo.
  10. Por último, Grabar y Activar.
Es importante tener en cuenta que para poder desplegar el formulario en la vista previa, es necesario la configuración de los Adobe Document Services (ADS) del lado del SAP Netweaver Application Server Java y la conexión desde ABAP con el sistema servidor JAVA que ofrece los Adobe Documents Services.

La configuración de ADS está fuera del alcance de este post, podeis consultar el HELP de SAP y buscar por: Adobe Document Services Configuration Guide.

En el siguiente post veremos como imprimir el formulario a partir de un programa ABAP.

Os dejo también un video donde se ve un ejemplo de uso de un adobe form con web dynpro abap:







1 comentario:

  1. Muy buen aporte!!! No entiendo como en mas de 5 años nadie ha escrito ningún comentario.
    Saludos.

    ResponderEliminar

Integración SAP

Cuando hablamos de SAP como sistema integrado que cubre toda la casuística de nuestro negocio estamos siendo bastante osados. Casi cualquier...