SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

Cómo lanzar un Workflow en SAP desde una transacción Start Form

Aprenda en SAP cómo crear un workflow disparable desde una transacción Start Form, a través de un ejemplo sencillo.

Entre las diversas alternativas para “disparar “ un Workflow, existe una muy interesante que permite al usuario lanzarlo desde una transacción.

Los Start Forms no solo desencadenan la ejecución, también permiten el pasaje de datos al desarrollo.

Esta variante consiste en crear una transacción que muestra una determinada dynpro al usuario que la ejecuta.

La dynpro se carga con una estructura del diccionario ABAP cuyos campos se muestran tanto en modo “ready for input” como “output only” (al menos un “ready for input” debe permitirse).

Básicamente los campos de la pantalla se conectan con un “container” del Workflow permitiendo al desarrollador recibir datos iniciales para su posterior proceso.

El procedimiento que se detalla a continuación muestra, a través de un ejemplo sencillo, cómo crear un Workflow “disparable” desde una transacción a modo de Start Form, que a su vez permita pasaje de datos entre la screen cargada por el usuario y el desarrollo.

1) Pasos para la creación de un Workflow con Start Form

  • Ir a la transacción estándar SWDB. Se mostrará la pantalla principal de creación de Workflows.
  • Una vez en el WF vacío crear un Container en base a una estructura del diccionario ABAP. Debe ser una estructura plana (flat structure) forzosamente.
    • Tener en cuenta que NO se admiten campos tipo STRING, RAW, ni tablas, y los campos no deben exceder los 160 caracteres.
  • En la imagen siguiente se eligió la estructura ZAIRPORT_STRUCT, que contiene tres campos del tipo CHAR de longitud menor a 20.

 

workflow-builder-create-prueba

 

  • Se requiere marcar Import en el Container.

workflow-change-cointainer-element


  • Guardar el Workflow.
  • Posteriormente, ir a Basic Data workflow-sombreritoVersion-IndependantStart Forms.
  • En la sección de Start Forms hacer click en el botón Create.

workflow-version


  • Seguir los pasos del Wizard (Asistente), y cuando se visualice el checkbox de Easy Web Transaction, desmarcarlo. Esto evita que para ejecutar la transacción se exija hacerlo desde un Explorador de Internet.
  • Seleccionar el Container que se creó previamente.

workflow-create-form

 

Se creará un grupo de función para alojar los datos referentes a la dynpro que se autogenera y a funciones que guían el funcionamiento de la transacción.
  • Guardar el grupo de funciones.
  • Una vez finalizados los pasos del Wizard, se podrá ver el código de transacción que se autogeneró.
  • También es posible presionar el botón Change Layout para modificar la screen del FORM, como se muestra en la figura:

workflow-basic-data


  • Desde la misma pantalla de Basic Data, ubicarse en la solapa superior Version-Dependant, y luego en la sub-solapa Agents, y por último asignar un agente para ejecutar el WF. Por ejemplo, INITIATOR.

workflow-builder-change-prueba

  • En la misma pantalla Basic Data, presionar el botón Agent Assignment for task workflow-globo-amarillo

workflow-builder-change-prueba-1

  • Agregar los posibles agentes para ejecutar el WF. En el ejemplo se asignó al usuario BCUSER.

workflow-builder-maintain-Agent_assignment

  • Guardar y activar el Workflow.

Cumplidos los pasos anteriores, ya se podrá ejecutar la transacción generada, aunque el desarrollo no realiza ninguna acción concreta.

2) Cómo utilizar los datos ingresados en los pasos del proceso anterior (1)

En el ejemplo siguiente se utiliza la creación de un paso de User Decision junto con un Mail al mismo INITIATOR para ver si los datos del Start Form efectivamente pasan al container de WF y se muestran en el correo.

  • Agregar una tarea User Decision y completarla de manera similar a la imagen siguiente.

workflow-builder-change-prueba-user-decision

  • Es importante incluir parámetros en el titulo para luego poder visualizarlos al ejecutar el Work Item.
  • Luego, agregar una tarea de Send Mail como la que se muestra a continuación.

workflow-change-prueba-send-mail

    Aquí también es importante incluir parámetros en el título y/o en el cuerpo del mensaje para luego poder visualizar los valores.
    Guardar y activar el Workflow.
  • Al ejecutar la transacción creada se podrá ver algo similar a la siguiente imagen:

workflow-prueba

  • Al presionar el botón Start se "lanzará" el Workflow.

Workflow-decision-step

  • Y finalmente, si se ejecuta el Work Item se enviará un Mail al SAP Business Workplace.

workflow-display-document

 


 

n_Marco_Gatti - Especialista ABAP y Workflow

Copyright 2011 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación 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, mecánico, cambio de versión 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

 


FICHA TECNICA: Notas técnicas – Tips de SAP Netweaver ABAP ”Como lanzar un workflow desde una transacción Start Form”

Tema: Workflow. Descripción: Conozca como crear un workflow "disparable" desde una transacción Start Form en SAP.
Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.