Descripción de flujos de proceso
Un flujo de proceso es una interfaz de usuario que guía a este a través de una serie de acciones para llevar a cabo una tarea específica. La tarea puede ser simplemente la recopilación de información para actualizar datos de negocio o puede implicar una lógica más compleja como, por ejemplo, la ejecución y el seguimiento de procesos por lotes, el intercambio de mensajes con un sistema externo, etcétera.
En esta sección se describen los temas relacionados con el diseño y trabajo con flujos de proceso.
Un flujo de proceso formado por paneles
Cada flujo de proceso consiste en una serie de "pasos" secuenciales necesarios para cumplir una determinada tarea. Cada paso se representa mediante una parada en una barra de progreso y un panel asociado.
El progreso es lineal pues cada paso solo puede dirigirse a un siguiente paso único. El flujo de proceso siempre empieza en un paso inicial único, pero permite que existan uno o más pasos finales que el usuario puede elegir para finalizar el proceso.
-
Introducir datos o llevar a cabo acciones según lo indique el panel del paso.
-
Continuar al siguiente paso, si existe.
-
Retroceder a un paso visitado con anterioridad.
-
Finalizar el flujo de proceso, si el paso actual es un paso final.
-
Guardar el trabajo del flujo de proceso y continuar el trabajo o salir de la pantalla. Posteriormente, el usuario podrá reanudar el trabajo en el punto del flujo de proceso donde lo dejó.
-
Cancelar el flujo de proceso.
El tipo de flujo de proceso define los metadatos completos necesarios para controlar el comportamiento de los flujos de un tipo determinado. Esto incluye la secuencia de los pasos, el panel y las reglas asociadas con cada paso, entre otros.
Presentación de panel
El panel que aparece en cada paso del flujo de proceso se representa de acuerdo con el tipo de panel seleccionado en la configuración de paso.
Para un tipo de panel Área de datos, el panel se representará utilizando las sugerencias de UI en el esquema de un área de datos especificada.
Para un tipo de panel Mapa de UI, el panel se representará utilizando un fragmento de mapa de UI especificado.
Para un tipo de panel Juego de paneles, el panel se representará como un juego de pestañas, una para cada panel que haga referencia al actual como panel principal. Al pulsar en cada pestaña, se representará la UI según el tipo de panel seleccionado. El comportamiento de un juego de paneles es análogo o resulta similar a un flujo de procesos anidado dentro de un panel único. Un juego de paneles no puede incluir otro.
Mapa de UI único
Aunque el usuario introduce datos en un panel de una vez, los datos se recopilan y capturan en el nivel del flujo de proceso completo. Todos los elementos que se editen y se muestren en los distintos paneles del flujo de proceso deberán incluirse en el esquema de proceso global y se hará referencia a ellos en la ubicación de XPath adecuada en dicho esquema. Cada tipo de flujo de proceso define su esquema único en un mapa de UI designado.
El HTML del mapa de UI solo debe incluir el fragmento de mapa de UI de controlador de flujo de proceso (F1-ProcessController), nada más. Este último está diseñado para representar la interfaz de usuario para un flujo de proceso basado en los metadatos definidos en el tipo de flujo de proceso.
Scripts de panel
Un script de servicio de preprocesamiento único se puede asociar a un panel con la finalidad de preparar los datos antes de presentar el panel al usuario. El sistema llamará al script cada vez que el usuario acceda a este panel en un flujo de proceso sin finalizar.
Un script de servicio de posprocesamiento único se puede asociar a un panel con la finalidad de validar los datos que el usuario introduce en él. El sistema llamará al script cada vez que el usuario salga de este panel en un flujo de proceso sin finalizar.
Scripts de flujo de proceso
Un script de servicio de inicio de proceso único se puede asociar a un flujo de proceso con la finalidad de preparar los datos antes de que un flujo de proceso recién iniciado se presente al usuario.
Un script de servicio de finalización de proceso único se ejecuta cuando el usuario pulsa los botones Finalizar o Cancelar proceso para finalizar el flujo de proceso. El juego de datos completo que recopila el esquema de mapa de UI de flujo de proceso se ofrece a este script de servicio para el procesamiento final.
Panel de resumen
Por defecto, cuando un usuario finaliza un flujo de proceso, al igual que cuando ve un proceso ya cerrado, en el portal del flujo de proceso se muestra el último panel en el que estaba trabajando el usuario. En el caso de flujos de proceso más complejos, se puede incluir un panel que resume información de todo el proceso. Cuando se especifique en el tipo de flujo de proceso, el sistema mostrará dicho panel de resumen, en lugar de la vista por defecto de un proceso cerrado. El usuario podrá alternar en todo momento entre la vista de resumen y la detallada.
El panel de resumen se puede implantar como fragmento de mapa de UI o como un área de datos como otros paneles, pero no se puede asociar a ningún script de panel.
Lanzamiento de un nuevo flujo de proceso
-
Definir como cero la altura del área de ayudante de proceso de negocio.
-
Rellenar la variable temporal $processCode con el código del tipo de flujo de proceso específico.
-
Transferir el control al script de ayudante de proceso de negocio común Navegación de flujo de proceso (F1-PROCEXEC).
Se asume que el lanzamiento de un flujo de proceso de un tipo específico se realizará desde una opción de menú designada o en un contexto específico aplicable a dicho tipo de trabajo. Como tal, este elemento deberá configurarse de forma específica para cada tipo de flujo de proceso. La opción de navegación asociada a la opción de lanzamiento debe hacer referencia al script de ayudante de proceso de negocio asociado al tipo de flujo de proceso correspondiente.
Guardar trabajo
El usuario podrá guardar el trabajo del flujo de proceso en cualquier momento. Si se activa en el tipo de flujo de proceso, el sistema guardará los datos de forma automática cuando el usuario acceda a otro panel o salga del portal de flujo de proceso.
En las operaciones de guardado manual o automático, se llama al script de gestor de procesos definido en el tipo de flujo de proceso para guardar todos los datos del flujo de proceso en un registro designado de la base de datos.
El producto base incluye un objeto de mantenimiento de flujo de proceso genérico diseñado para soportar el almacenamiento de cualquier tipo de flujo de proceso, así como el script de gestor de procesos correspondiente. Si los flujos de proceso de un tipo específico deben almacenarse en otro punto, deberá implantarse y utilizarse en su lugar un script de gestor de procesos dedicado.
Revisar registros de flujo de proceso
Cuando un usuario guarda el trabajo o si el tipo de flujo de proceso permite el guardado automático, se creará un registro de flujo de proceso. Cuando el usuario finaliza un flujo de proceso, según la configuración del tipo de flujo de proceso, el registro podrá suprimirse o conservarse para auditoría.
Se asume que la revisión de los registros de un flujo de proceso de un tipo específico se realizará desde una opción de menú designada o en un contexto específico aplicable a dicho tipo de trabajo. Como tal, este elemento deberá configurarse de forma específica para cada tipo de flujo de proceso. La opción de navegación asociada a ese elemento deberá hacer referencia a un portal de consulta diseñado para consultar y gestionar el tipo específico de registros de flujos de proceso.
Además de las funciones de consulta estándar, el portal de consulta deberá permitir al usuario reanudar el trabajo en un flujo de proceso sin finalizar, así como revisar los datos capturados en un registro finalizado. Al implantar este tipo de portal de consulta, acceda al portal Consulta de flujo de proceso (F1PRSTRQ) para obtener las funciones clave. El producto específico podría incluir ya este tipo de portales de consulta para los tipos de flujos de proceso que soporta. Para obtener información adicional, consulte la documentación específica del producto.