Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
Explicar la terminologa utilizada en el sistema de workflow Explicar las herramientas y conceptos de workflow Explicar las capacidades del sistema de workflow y lo que realmente puede proporcionar a la empresa Explicar los detalles para definir y mantener la estructura organizativa de la empresa Mostrar como analizar la implementacin de los diferentes workflow de la empresa Mostrar los diferentes reportes que permiten monitorizar el sistema de workflow Permitir encontrar rpidamente la documentacin relacionada con el tema
Contenidos
Definicin de Workflow Ventajas al utilizar Workflow Terminologa Workflow Arquitectura del Sistema Workflow Ejemplos y Documentacin
Definicin
Los sistemas de workflow son herramientas que permiten la implementacin tcnica de procesos de negocio. Permiten dar soporte y agilizar el proceso de negocio ganando tiempo. Permite a la gente involucrada llevar a cabo procesos de negocio complejos independientemente del tiempo y el lugar. El flujo de trabajo es controlado y coordinado activamente por el sistema de workflow. El control incluye el monitoreo de pasos de trabajo individuales y el inicio de procesos para escalar las tareas que lleguen a su fecha de vencimiento. En el sistema SAP, el sistema de workflow se integra completamente con las funciones de negocio del sistema R/3 a travs de sus Business Objects. Adicionalmente el sistema de workflow de SAP permite su integracin con la gestin organizacional lo que permite relacionar personas o estructuras organizativas a las tareas del workflow.
4
Definicin
El sistema de workflow cubre todos los aspectos del proceso
(actividades)
El Flujo
(organizacin)
La Gente
Los Efectos
(informacin)
Definicin
Caractersticas
Incluyen un numero finito de actividades Las actividades siempre se llevan a cabo de la misma manera Involucran a diferentes personas y departamentos Requieren un alto grado de coordinacin
Otras Caractersticas
Definicin
Workflow no es:
Un sistema de gestin de documentos (trabaja con ellos) Un sistema de e-mail o groupware (trabaja con ellos) Un sistema de distribucin de datos entre sistemas (para ello workflow utiliza ALE, EDI, WebForms-XML, etc.) Una transaccin para secuenciar pantallas Administracin de datos temporales Una herramienta que se utilice para realizar funciones no existentes en el sistema (si no se puede ejecutar la funcin manualmente en el sistema, entonces el sistema de workflow tampoco lo har)
Contenidos
Definicin de Workflow Ventajas al utilizar Workflow Terminologa Workflow Arquitectura del Sistema Workflow Ejemplos
Para la empresa
Aumenta la productividad Agiliza los procesos Aumenta la satisfaccin de los clientes (mejores flujos de informacin, mayor rapidez en responder)
Coordinar Visita
Televentas
Cambia el maestro de clientes Ajustar Limite de Crdito
Change document
Representante de Ventas
Gestin de Crditos
Evento
WorkFlow
Jefe de Produccin
Nuevo Cliente Importante
10
Contenidos
Definicin de Workflow Ventajas al utilizar Workflow Terminologa Workflow Arquitectura del Sistema Workflow Ejemplos y Documentacin
11
Terminologa Workflow
Papel Agentes
12
Terminologa Workflow
Existen 5 preguntas clave para cada parte de un proceso de negocio
Quin?
Qu?
Cuando? En qu orden?
13
Terminologa Workflow
En qu orden? Workflow
El workflow controla el flujo del proceso Consiste en un conjunto de pasos Puede ser lanzado mediante eventos
La definicin del workflow describe el proceso de negocio a implementar Cada workflow se compone de una serie de pasos enlazados
Cada paso tiene un tipo y un smbolo propio para que sea mas fcil de leer. Cada paso del workflow procesa datos que se van pasando de paso a paso a travs de contenedores.
Un workflow se activa mediante uno o mas eventos. El evento depende del workflow y debe estar activamente relacionado a l. El workflow se crea y modela mediante el Workflow Builder (SWDD)
14
Terminologa Workflow
Qu? Actividad / Tarea
Una actividad puede ser: Ejecutar una transaccin, ejecutar un reporte, ejecutar un modulo de funciones, ejecutar una tarea en un sistema remoto, modificar un documento local, etc. Generacin y envo de documentos Toma de decisiones Control de flujo
Por razones prcticas y por cuestiones de reusabilidad y consistencia de la lgica implementada, las actividades siempre utilizan tecnologa orientada a objetos. Las actividades pueden ser ejecutadas por el sistema o por una persona (esto ultimo requerir de la tcnica de determinacin de agentes). En tiempo de ejecucin la actividad o tarea se denomina workitem, y le indica al responsable lo que debe hacer, as como tambin la informacin necesaria para ejecutar la actividad.
15
Terminologa Workflow
Con qu objeto? Business Object
Los objetos consisten en un conjunto de informacin relacionada que puede ser accedida mediante una clave o conjunto de claves Los objetos se crean en tiempo de ejecucin y son instancias especificas de un tipo de objeto definido previamente al cual se le ha asignado valores Los componentes de un objeto son; Atributos (son los campos que identifican el objeto) Mtodos (indican operaciones que se pueden aplicar sobre el objeto) Eventos (indican cambios de estado en el objeto: impreso, liberado, creado, eliminado, etc.) En el workflow se utilizan los mtodos de los tipos de objetos para modelar las actividades A su vez se utilizan los eventos de los tipos de objetos para iniciar, finalizar o marcar eventos en el workflow. Los tipos de objeto se crean y definen mediante el Business Object Builder (SWO1)
16
Terminologa Workflow
Quin? Agentes
Todas las tareas requieren la definicin de agentes posibles. Los agentes posibles son todas aquellas personas que pueden recibir esa tarea, excluyendo de esta manera a todos los que nunca la recibirn. Las tareas adicionalmente pueden definirse como tareas generales. En este tipo de tareas no existe restricciones en cuanto a las personas que puedan recibirla. Luego se definen los agentes responsables. El agente responsable es quien recibir la tarea en su Business Workplace . Siempre un agente responsable es un agente posible. Los agentes responsables se determinan siempre en tiempo real mediante papeles. En un papel se definen ciertos criterios mediante los cuales se determinara en tiempo real quien es el usuario del sistema responsable por ejecutar la tarea. Existen varios tipos de papeles: por competencias, por funcin, por estructura organizativa o por atributos organizativos. En la determinacin de agentes juega un papel muy importante la estructura organizativa de la empresa
17
Terminologa Workflow
Cundo? Evento
Los eventos informan al workflow que algo ha sucedido. El workflow a su vez puede reaccionar al evento si la relacin entre ambos esta activada Los eventos los publica el sistema para que puedan ser evaluados por todos los workflows. Todas las tareas pueden dejar como resultado uno o mas eventos (por ejemplo la tarea aprobar pedido puede dejar los eventos aprobado, rechazado, modificado). De esta manera el flujo del workflow puede subdividirse en esa tarea en tres caminos diferentes. Existe un tipo de paso que implica esperar por un evento y otros pasos que permiten generar eventos Los eventos se configuran en los tipos de objeto y pueden generarse por:
Por programa (mediante funciones especificas de la API de workflow) Mediante documentos de cambio (Change Documents) Mediante el sistema de mensajes (utilizado en SD y MM) Mediante la gestin de status de documentos (utilizado en PP, PM, QM, etc.) Mediante el sistema de informacin logstica (alertas) Mediante documentos de cambio del modulo RH
18
Contenidos
Definicin de Workflow Ventajas al utilizar Workflow Terminologa Workflow Arquitectura del Sistema Workflow Ejemplos y Documentacin
19
20
Runtime system
21
22
23
Tareas (cdigo TS) y workflows (codigo WS) son independientes de mandante. Desde la Release 4.5 en adelante, la opcin del men Crear tarea solo ofrece la creacin de tareas y workflows estandar (TS y WS). Los cdigos para tareas en el sistema son T (tareas de cliente) y WF (tareas de workflow), pero estas son dependientes de mandante. Existiendo WF y T en un sistema todava pueden ser ejecutadas. Pero no deberas, sin embargo, crear nuevos WF y T, por que WF y T no se van a desarrollar ms. Una plantilla de workflow (WS) no puede contener tareas de cliente (T). Para encontrar el mantenimiento de tareas en el sistema, escoge:
SAP EASY ACCESS -> Herramientas -> Business Workflow -> Desarrollo -> Herramientas de Definicin -> Tareas/Grupos de Tareas
24
25
26
27
28
29
Contenidos
Definicin de Workflow Ventajas al utilizar Workflow Terminologa Workflow Arquitectura del Sistema Workflow Ejemplos y Documentacin
30
Ejemplos
Algunos de los Worflows estndares de SAP para ver
Liberacin de un pedido de compras (20000075) Liberacin general de una solicitud de pedido (20000077)
31
Documentacin
Para ver ms Workflows estndares revisar la documentacin de cada mdulo en SAP o bien entrar en la ayuda de SAP para Workflows y ver escenarios de Workflows en aplicaciones (http://help.sap.com)
32
Documentacin
Para mayor informacin acerca de workflow recomiendo leer el libro SAP Practical Workflow, de Alan Rickayzen. que puede comprarse en http://www.sap-press.com o en la pagina de SAP-Shop.
33
Contenidos
Customizing en el sistema workflow
Autocustomizing Rangos de nmeros Responsable del sistema workflow Jobs Prefijos de tareas Verificacin del customizing
Para acceder al customizing de workflow seguir la siguiente ruta desde la IMG: Base Business Management SAP Business Workflow
-Para ejecutar el customizing automtico simplemente se presiona el botn Customizing Automtico, y se deja que el sistema haga su trabajo. - Luego de ejecutar esta transaccin deberemos repasar a mano algunas configuraciones. - Una vez terminada toda la configuracin podremos probar el sistema de workflow presionando el botn Iniciar workflow de verificacin
Contenidos
Customizing en el sistema workflow
Autocustomizing Rangos de nmeros Responsable del sistema workflow Jobs Prefijos de tareas Verificacin del customizing
Estas actividades se configuran en el customizing especfico de tareas dentro de las opciones especficas de customizing de workflow.
10
11
12
13
Identificar todos los puntos en workflow donde se requiere programacin Crear tipos de objetos nuevos y extender los existentes Crear mdulos de funciones para determinacin de papeles Programar eventos Programar mdulos de funciones para el control de eventos Gestionar y monitorear el sistema de workflow en tiempo de ejecucin
Perfiles
Analistas programadores con muy buen conocimiento y experiencia ABAP Analistas programadores con muy buen conocimiento en OOP
2
Contenidos
Introduccin Definicin e Implementacin de Business Objects
Introduccin
Repaso: Qu es un sistema workflow?
Es un sistema que entrega trabajos (tareas)
En la secuencia correcta Con toda la informacin necesaria En el momento correcto A la gente responsable
Relacionando estas tareas de manera automtica. Control independiente de la aplicacin, de las actividades entre las transacciones.
Introduccin
Tareas en el sistema de workflow
Definicin del proceso
Qu sucede y en qu orden? Utilizacin del Workflow Builder y Definicin de Tareas Resultado: el proceso se ejecuta en la secuencia correcta Quin hace que? Modelo Organizativo y Definicin de Papeles Resultado: El trabajo es realizado por las personas responsables Cules son los objetos que se necesitan? Business Object Builder y Business Object Repository Resultado: El trabajo se enva con la informacin necesaria
Modelizacin de la organizacin
Encapsulacin de la Aplicacin
Introduccin
Tareas en el sistema de workflow
Soporte al usuario final
Qu tengo que hacer hoy? Herramientas: Business Workplace Resultado: El trabajo se enva a la gente que corresponde en el momento que corresponde Qu pasa cuando? Herramientas: Workflow Manager y Workitem Manager Resultado: El trabajo es realizado en la secuencia correcta en el momento correcto Quin hizo que y cuando? Herramientas: Reportes y Anlisis
Introduccin
Arquitectura
Nota: A
Introduccin
reas de la arquitectura donde requeriremos programacin
Nota: otras reas donde puede requerirse programacin son: - Administracin - Reportes - Creacin de Workitems.
8
Contenidos
Introduccin Definicin e Implementacin de Business Objects
10
Esto se resume en la encapsulacin. Los datos utilizados en el workflow (tablas) se encapsulan en elementos clave y atributos del objeto, mientras que los programas, funciones, transacciones, etc. se encapsulan en mtodos.
11
12
Composicin
Se utiliza para componer un objeto con otros objetos La relacin responde a la frase es parte de Por ejemplo: Orden Posicion de la orden
Asociacin
Se utiliza para relacionar dos objetos a travs de una clave externa La relacin responde a la frase en relacion a Por ejemplo: Material Solicitud de pedido
13
14
Los tipos de objetos pueden consultarse a travs del Business Object Repository (BOR) la cual es independiente de mandante. Cada tipo de objeto esta asociado a una clase de desarrollo y, no obstante, a un componente de la aplicacin
15
Definicin e Implementacin
La estructura interna de los Business Objects responde a un conjunto de leyes. Un business object est definido por los siguientes elementos:
ID del Objeto: Identificador nico Campo clave: Nmero Nombre: Designacin semntica nica Componentes: Estructura interna diferenciada para los objetos de relacin es parte de Subtipos: Especializacin de un objeto es un Atributo: Fecha de entrada, aprobado por, ingresado por, etc. Mtodos: Implementacin de los mtodos aplicable al objeto Eventos: Eventos que generan al objeto
16
La definicin de los tipos de objetos se hace a travs del Business Object Builder (BOB).
17
18
19
20
21
BUS2069 Documento contable BUS2029 Precios EKKO Documento de compras VBAK Documento de ventas BUS2032 Orden de venta
IFSTATUS Genera eventos para gestion de status IFARCH21 Interface para archive link IFIDOCOUT Procesamiento de salida de IDOCs
22
23
24
Por razones de rendimiento del sistema deberamos utilizar atributos virtuales para leer atributos en pasos de fondo (background). Pero esto no es estrictamente obligatorio.
25
26
Ambos tipos de mtodos pueden recibir datos a travs de parmetros (parmetros de importacin)
27
Notas
Las lneas azules continuas representan el control del flujo Las lneas azules punteadas representan transferencias de datos La lnea punteada roja representa el tiempo de espera del programa llamador.
Se necesita una sincronizacin de los procesos controlada por el programa llamador. El mtodo debe enviar eventos al programa llamador para que este se sincronice. Todos los mtodos que hacen escrituras en la base de datos a travs de tareas de actualizacin.
28
Comunicacin va eventos
Los mtodos sincrnicos se comunican mediante parmetros, resultados y excepciones. Los mtodos asincrnicos se comunican mediante parmetros y luego mediante un evento.
29
30
31
Implementado
Liberado
Obsoleto
32
33
34
35
datos el sistema automticamente nos propondr un cdigo bsico que podremos terminar para que funcione.
Para crear el atributo le damos un nombre (en ingles), una descripcin (en cualquier idioma), marcamos el atributo como base de datos y le damos una referencia a una tabla y un campo de la tabla. Si colocamos como referencia un objeto deberemos tener en cuenta que el objeto tenga como clave un solo campo (que este definido en la tabla que en los campos tabla y campo indiquemos.
36
37
38
39
40
41
- Las excepciones se definen para cada mtodo. El sistema no generar ningn tipo de cdigo para la excepcin. - La excepcin se debe corresponder a un mensaje tipo T100 (con 4 parmetros). - Para llamar la excepcin se usa la macro EXIT_RETURN.
42
- Para cada mtodo puede o no definirse uno o mas parmetros de entrada y salida. - Para leer elementos del container se utilizan las macros SWC_GET_ELEMENT (para elementos de una lnea) o SWC_GET_TABLE (para los multilnea). A su vez la macro SET PARAMETER ID la utilizaremos para copiar los datos extrados al parmetro deseado.
43
- Los parmetros de resultado se completan con la macro SWC_SET_ELEMENT y el elemento siempre se llama RESULT. El elemento RESULT esta dentro del include OBJECTS por lo que no es necesario definirlo explicitament.
44
- Para utilizar un Business Object en un programa es necesario incluir el include <CNTN1>. Este include es utilizado en el include <OBJECT> por lo que no se incluye en el programa del tipo de objeto. - Antes de acceder a un mtodo debemos crear una instancia de un tipo de objeto. Para ello usamos la macro SWC_CREATE_OBJECT. - Antes de llamar el mtodo debemos completar los parmetros de entrada (import) -Se llama al mtodo con la macro
SWC_CALL_METHOD. - Finalmente se consultan los resultados o los
46
Referencia a un Objeto
Declaracin
DATA: <OBJ_REF> TYPE SWC_OBJECT SWC_CREATE_OBJECT <OBJ_REF> <OBJ_TYPE> <OBJ_CLAVE>
Creacin
Acceso a Atributos
SWC_GET_[TABLE]_PROPERTY <OBJ_REF> <ATRIBUTO> <VALOR>
Acceso a un Metodo
SWC_CALL_METHOD <OBJ_REF> <METODO> <CONTAINER CON VARIABLES>
47
Refrescar el objeto
SWC_REFRESH_OBJECT <OBJ_REF>
48
49
Solucin
Si creamos un sub-tipo y no lo delegamos entonces los programas, tareas, eventos, etc que usen al supertipo no se enterarn de las extensiones que hagamos en el subtipo.
50
51
Cada tipo de objeto y todos los componentes tiene asignado uno de los cuatro estados posibles:
Modelado: no existe programa para asignado an. Implementado: el programa ha iniciado pero no finalizado oficialmente. Liberado: el programa puede ser ejecutado por todos Obsoleto: no utilizar ms.
52
53
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
Navegacin grfica
Caja de herramientas
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
Definicin de Pasos
La definicin de un workflow est compuesta por pasos individuales. Al crear un paso, primero se debe especificar el tipo de paso. Estos pueden ser:
pasos que hacen referencia a las actividades de negocio: actividad, desicin de usuario, documento desde plantilla. pasos que son usados para el monitoreo y control de procesos internos: condicin, condicin mltiple, loop, bucle, operacin de contenedor, evento creador, espera de evento.
Cada paso es el elemento determinante de su bloque. Las operaciones en pasos individuales siempre conciernen a la totalidad del bloque al que pertenece. La secuencia de procesamiento de los pasos depende del resultado del paso precedente.
9
Definicin de Pasos
Un paso indica una actividad especifica dentro de la definicin del workflow, es decir que es un paso del proceso.
Definicin en el constructor Paso
Actividad de negocio
Actividad (referencia de tarea) Decisin de usuario Documento desde plantilla
Monitoreo del plazo de los pasos Asignar y nombrar sucesores para cada paso Operaciones en modo de bloqueo
10
Definicin de Pasos
Tipo de Paso
Actividad Condicin Condicin Mltiple Operacin en el Contenedor Documento con Modelo Creador de Evento Procesamiento Paralelo
Smbolo
Descripcin
Ejecucin de una tarea en un workflow. Dependiendo del resultado de una condicin (verdadero o falso) un camino u otro es seguido por el workflow. Basado en una variable del contenedor del workflow se pueden generar diversos caminos a seguir. Este paso se utiliza para modificar los valores de una variable en el contenedor del workflow. Permite crear un documento local a partir de una plantilla y variables definidas en el contenedor del workflow Permite crear un evento. El contenedor del evento se llena con datos del contenedor del workflow Permite ejecutar dos o mas workitems en paralelo. El workflow continuar cuando se cumplan ciertas condiciones.
11
Definicin de Pasos
Tipo de Paso
Decisin de Usuario Loop (Hasta) Loop (Mientras) Enviar Correo Esperar Evento Actividad WEB Indeterminado
Smbolo
Descripcin
Se le enva un workitem al usuario con una serie de preguntas para responder. Cada respuesta genera una nueva lnea de procesamiento en el workflow. Se repiten una serie de pasos hasta que se cumpla una determinada condicin (al menos 1 vez se ejecutan) Se repiten una serie de pasos mientras se cumpla una determinada condicin (puede no llegar a ejecutarse ) Se indica un destinatario y un texto para el envo de un correo electrnico. El workflow se detendr en este paso hasta que no se lance el evento especificado. Permite enviar elementos del contenedor del workflow a travs de mensajes XML o SOAP (pe. contra XI o BC) Este paso se utiliza durante el desarrollo para dejar espacios a completar.
12
Definicin de Pasos
Creando un paso
Ingresar al Workflow Builder (SWDD) Abrir el workflow con el que se quiere trabajar (o crear uno nuevo) Hacer doble click sobre un paso indeterminado (en la posicion del workflow que corresponda.
13
Definicin de Pasos
Creando un paso
Seleccionar el tipo de paso (en el ejemplo seleccionamos una actividad)
14
Definicin de Pasos
Creando un paso
Aparecer la pantalla para definir la actividad Una actividad hace referencia a una tarea, la cual hace referencia a un mtodo de un Business Object. Por lo tanto todas las caractersticas del mtodo del Business Object pasaran a la tarea y luego al paso.
15
Definicin de Pasos
Creando un paso
En el caso de las actividades deberemos ingresar el cdigo de la tarea Automticamente el sistema generar o propondr los bindings entre el container del workflow y el container de la tarea (no obstante siempre conviene revisar lo que el sistema propone)
Propone la creacin de nuevas variables en el container del workflow
Propone el paso de datos entre el contenedor del workflow al de la tarea Propone el paso de datos entre el contenedor de la tarea al del workflow
16
Definicin de Pasos
Creando un paso
Una vez asignada la tarea y el binding, los atributos de la tarea pasan al paso (caractersticas de la tarea y caractersticas del paso) El atributo paso no en log workflow har que cuando se ejecute el workflow los datos de el paso no pasen al log (pero si quedar en el log tcnico). El campo tratamiento rechazable permitir al responsable rechazar la tarea. Si no esta marcado el responsable debera tratarla obligatoriamente. El atributo avanzar con dialogo permitir crear una cadena de dilogos que se cortar cuando cambie el responsable. Es decir que si un usuario es el mismo responsable de tres tareas consecutivas, estas irn aparecindole al usuario automticamente a medida que las va ejecutando.
17
Definicin de Pasos
Creando un paso
Luego configuraremos las salidas del paso. En el caso que el mtodo que ejecutemos genere distintos resultados estos aparecern en el cuadro de salidas y podremos colocar un texto para que queden documentados en el workflow. Cuantas mas salidas tenga el paso mas lneas de workflow se abrirn.
18
Definicin de Pasos
Creando un paso
Tambin el paso puede configurarse para que cuando se termine de ejecutar el paso enve una notificacin a alguien en forma de correo electrnico. Esto se configura en el rea notificacin
19
Definicin de Pasos
Creando un paso
Luego y en el caso que corresponda podremos configurar los tiempos del paso. Es decir que al crearse un workitem los tiempos de ejecucin de ese workitem podrn controlarse y tomar determinadas acciones. Primero podremos configurar un plazo. Es decir que si se cumple un plazo determinado desde que el usuario responsable recibe el workitem y no toma ninguna accin, se podr tomar una decisin automticamente.
El plazo se configura teniendo en cuenta: la fecha de creacin del workflow, la fecha de creacin del workitem o una fecha que se agregue como una variable en el contenedor del workflow. Luego se coloca el tiempo a alcanzar (el plazo) Y Finalmente se define que accin tomar. O bien se enva un correo electrnico a alguien (por ejemplo un superior del responsable) o bien se puede modelar un subworkflow para actuar en caso de llegar al plazo.
20
Definicin de Pasos
Creando un paso
21
Definicin de Pasos
Creando un paso
Luego se podr configurar una fecha de inicio mas tardo y una fecha de fin deseado. La configuracin de estas fechas se realiza de la misma manera que con el plazo.
22
Definicin de Pasos
Creando un paso
En la parte de mtodos podremos configurarle al paso una determinada cantidad de programas que se ejecutaran antes o despus de ejecutarse el paso (complementariamente a los programas que se ejecuten con el mtodo asociado a la tarea)
23
Definicin de Pasos
Creando un paso
Finalmente podremos dar alguno retoques finales indicando otras caractersticas como ser:
La prioridad del paso (este valor har que se enven notificaciones visuales al usuario al recibir el workitem). Caractersticas de ejecucin de tareas de fondo
24
Definicin de Pasos
Creando un paso
RESULTADO!!!
25
Definicin de Pasos
Creando otros pasos
Como hemos visto estos son los pasos para crear un paso de tipo activididad. Luego cada paso tendr sus propias caracteristicas y formas propias de configuracin.
26
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
27
Definicin de Tareas
Las tareas son el elemento central en el sistema de workflow, y son utilizadas para describir un proceso de negocio Las tareas son designadas como mdulos reusables e independientes. Las plantillas de workflows (Workflow templates - WS) y las tareas estndard (Standard tasks - TS) son independientes del cliente y no disponen de perodo de validacin Es posible encontrar en un sistema tareas de workflow (WF) y tareas de Cliente (T), que son especficas del cliente y disponen de perodo de validacin Desde la versin 4.5A, solo deberan crearse tareas standard (TS) y plantillas de workflow (WS)
28
Definicin de Tareas
Tipos de Tareas
De un solo paso (single-step) Plantilla Workflow (multi-step)
Las plantillas workflow se utilizan principalmente para modularizar un workflow mayor, facilitando su mantenimiento. Para cada tarea de un solo paso deberemos asegurarnos 3 cosas:
Qu trabajo debe realizarse? Quin llevar a cabo el trabajo? Qu notificaciones deben realizarse?
29
Definicin de Tareas
Los pasos para crear una tarea son
Asignar un nombre y descripcin a la tarea Asociar un mtodo de un business object a la tarea Asociar los agentes posibles de la tarea
Puede asociarse uno o mas elementos de la estructura organizativa Puede definirse como tarea general (todos pueden ejecutarla)
Marcar el atributo de confirmar fin de procesamiento para las tareas de dialogo, lo que permitira al usuario agregar informacin a la tarea una vez que se haya realizado el trabajo.
30
Definicin de Tareas
Tareas de Dilogo
El texto de la tarea servir para informar de las actividades al usuario Debe estar asociada a un mtodo marcado como de dialogo Si o si debe tener asignados los posibles agentes
Marcada como tarea general (todos los usuarios son posibles agentes) Seleccionando elementos de la estructura organizativa
31
Definicin de Tareas
Atributos de la tarea
Mtodo con dialogo Mtodo sincrnico Ejecucin en fondo Confirmar fin procesamiento Ejecucin como formulario
32
Definicin de Tareas
Textos en los Workitems
Se debe definir el ttulo del workitem (el subject del correo) Se debe definir el cuerpo de workitem Se pueden utilizar variables contenidas en el contenedor de la tarea Tambin se pueden colocar grficos e conos
33
Definicin de Tareas
Eventos Terminadores
Las tareas basadas en mtodos sincrnicos pueden ser definidas con un evento terminador (o mas). Las tareas basadas en mtodos asincrnicos deben tener al menos un evento terminador Los eventos se toman de los business objects definidos en el sistema (generalmente el mismo business object que provee el mtodo de la tarea)
34
Definicin de Tareas
Para definir un evento terminador se indica
El Business Object que contiene el evento El Evento El elemento del contenedor de la tarea que contiene la referencia al business object que se tiene que utilizar. El objeto solo puede conocerse en tiempo de ejecucin.
35
Definicin de Tareas
La comunicacin entre las tareas y los mtodos es
Bidireccional Se pasan parmetros Resultados Excepciones
36
Definicin de Tareas
Ejemplo de una tarea sincrnica (proyecto PPP)
37
Definicin de Tareas
Ejemplo de una tarea asincrnica (proyecto PPP)
38
Definicin de Tareas
Insertar una tarea en el Workflow
Un paso en un workflow puede hacer referencia a una actividad Una actividad apunta a una tarea, si se trata de un tringulo simple Una actividad apunta a un workflow, si tiene tres tringulos (el workflow referenciado se llama subworkflow) El binding definir el flujo de datos entre los distintos contenedores en un workflow. Las responsabilidades determinarn los recipientes para este paso. Esos recipientes recibirn el tem de trabajo en su rea de trabajo. El agente de notificacin recibir un mensaje de correo de SAP una vez que el paso est finalizado.
39
Definicin de Tareas
Qu atributos de las tareas y los pasos afectan la ejecucin de un WorkItem?
Ejecucin en proceso de fondo
Esta opcin se marca cuando se desea que el sistema de workflow ejecute el sistema sin intermediacin de ningn usuario (lo ejecutar el usuario de workflow WF-BATCH)
Tratamiento rechazable
Al marcar esta opcin se le da al usuario la posibilidad de rechazar el workitem. Cuando se marca la opcin aparece una nueva salida (un nuevo camino a seguir) en el workflow
Definicin de Tareas
Qu atributos de las tareas y los pasos afectan la ejecucin de un WorkItem?
Avanzar con dialogo
Esta propiedad permitir al agente responsable del workitem ir ejecutando workitems del workflow uno detrs de otro (en cadena) siempre y cuando el mismo agente sea responsable de todos los pasos que estn encadenados.
41
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
42
Grupo de Tareas
43
Grupo de Tareas
Los grupos de tareas son definidos para ligar lgicamente tareas conectadas. Es posible, por ejemplo:
Disponer juntos en un mismo grupo de tareas, plantillas de workflows que slo se comunican entre s a traves de eventos, para lograr una mejor visin global. Reunir tareas (plantillas de workflow y tareas estndar) que pertenecen a un rea de trabajo, para incrementar la reusabilidad.
Los grupos de tareas son tiles tambin en la definicin del rango de bsqueda del Business Workflow Explorer. El Business Workflow Explorer puede entonces visualizar las tareas de esos grupos de tareas. Solo pueden asignarse a grupos de tareas los tipos de tareas WS y TS (plantillas workflow y tarea standard)
44
Grupo de Tareas
Herencia
Se podr asignar un grupo de tareas a otro grupo de tareas generando una herencia. Las tareas hijas heredarn las asignaciones de responsables de las tareas padre Tener cuidado en las jerarquas amplias dado que pueden darse asignaciones de responsables no deseadas.
45
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
46
Contenedores
Los contenedores son grupos de variables que se utilizan como interfases para llevar los datos de un lado a otro del workflow. Un elemento del contenedor tiene estructura de datos de tablas utilizada por los componentes definidos en el workflow. A su vez puede ser definido con una estructura de Business Object.
47
Contenedores
Los contenedores son
El contenedor de eventos: Contiene un elemento que puede obtener una referencia al objeto(s) a ser procesados en el workflow. Siempre contiene un elemento que pueda obtener el nombre de usuario iniciador del workflow actual (_WF_Initiator) El contenedor de workflow: Puede tomar al iniciador del workflow desde el contenedor de eventos (_WF_Initiator). El contenedor de tareas: Siempre contiene un elemento que puede obtener la referencia al objeto a ser procesado en la tarea de un solo paso respectiva (_WI_Object_ID). Tambin puede contener un elemento que pueda obtener el resultado de un mtodo de un objeto subyacente (_WI_Result). El contenedor de mtodos El contenedor de roles (papeles)
48
Contenedores
49
Contenedores
Ejemplo
50
Contenedores
Ejemplo
1. El usuario USUARIO1 cambia la descripcion del material 1000 de my_part a new_part 2. El cambio provoca la ejecucin de un documento de cambio (change document) el cual generar un evento (material-modificado). 3. El evento instancia el business object ZBUS001 (Material) con el material 1000 y sus datos cambiados y adems recopila el nombre del usuario que cambio el material USUARIO1. 4. El evento esta relacionado a un workflow el cual necesita del usuario y el objeto material para realizar sus tareas, estos datos se pasan del contenedor del evento al contenedor del workflow. 5. Luego el workflow ejecutara una tarea que tiene asociado un mtodo que necesita el material para poder ejecutarse, entonces el workflow pasa de su contenedor al contenedor de la tarea el objeto respectivo. 6. Para determinar el usuario destinatario de la tarea se ejecutar un rol que necesita el nombre del usuario que inicio el workflow para poder determinar destinatarios, por ello se pasara del contenedor del workflow al contenedor del rol el iniciador del workflow.
51
Contenedores
El contenedor de eventos siempre contiene un elemento que puede obtener la referencia al objeto cuyo cambio de estatus es anunciado a traves del evento _EVT_Object'. Siempre contiene un elemento que conoce el nombre del usuario responsable del cambio de estado del objeto_EVT_Creator'. El contenedor de workflow siempre contiene un elemento que pueda almacenar el nombre de usuario del iniciador del workflow actual _WF_Initiator'. Para mas workflows usted debe crear nuevos elementos en el contenedor de workflow. Para hacer esto usted puede, o bien seguir las propuestas de SAP o crear las suyas propias.
52
Contenedores
El contenedor de tareas siempre contiene un elemento que pueda contener la referencia al objeto a ser procesado en la tarea de un solo paso respectiva _WI_Object_ID'. Adems contiene el elemento _WI_Actual_Agent. Para tareas sincrnicas con un parmetro de resultado definido, existe el elemento _WI_Result' element, que puede almacenar el resultado de los mtodos de objetos subyacentes. El contenedor de roles contiene los elementos requeridos como entrada en la conexin con la resolucin de rol a ejecutar. El contenedor de mtodos contiene elementos que son parmetros importados y exportados en la conexin con la ejecucin del mtodo.
53
Contenedores
La estructura de datos utilizada en los contenedores puede ser tablas de la base de datos y referencias a objetos. Para definir un elemento de un contenedor se debe introducir:
Descripcin del elemento a ser almacenados en el contenedor utilizandonombre de elemento, descripcin (corta y larga) Referencia al tipo de dato o tipo de objeto Caractersticas del elemento (de importacin, de exportacin, mltiple o simple y si es obligatorio).
54
Contenedores
Definicin del contenedores (Eventos)
El contenedor de eventos se define en el momento de crear el evento en el Business Object utilizando el Business Object Builder (SWO1)
55
Contenedores
Definicin del contenedores (Workflow)
El contenedor de workflow se define al crear el workflow utilizando el Workflow Builder (SWDD)
56
Contenedores
Definicin del contenedores (Tareas)
El contenedor de la tarea se define al crear o modificar la tarea con la transaccin PFTC_CHG.
57
Contenedores
Definicin del contenedores (Papeles)
El contenedor de los papeles se define al crear o modificar el papel con la transaccin PFAC_CHG.
58
Contenedores
Posibilidades de intercambio de datos entre contenedores (Bindings)
59
Contenedores
Ejemplos de Bindings (Evento-WF)
Entrar en el Workflow Builder (SWDD) y visualizar el workflow WS90000001 Verificar que el contenedor del workflow tiene una variable obligatoria llamada PurchasingDoc
Ir a la cabecera del workflow y verificar el binding entre el contenedor de eventos y el contenedor del workflow
60
Contenedores
Ejemplos de Bindings (WF-Tarea)
Hacer doble click sobre la tarea Tomar cabecera del documento de compras Presionar el botn para ver los bindings entre el contenedor del workflow y el contenedor de la tarea Observar como pasan los datos de un contenedor a otro
61
Contenedores
Ejemplos de Bindings (Tarea-Metodo)
De la misma manera que hemos visto el paso de datos entre el evento y el workflow y entre el workflow y la tarea podremos ver como se pasa entre la tarea y el evento. Para ello pasamos a la definicin de la tarea dando doble-click sobre el nro. de la tarea que estamos visualizando (TS90000003). Presionamos el botn para ver los bindings con el mtodo que se este ejecutando en la tarea Podremos ver los bindings definidos
62
Contenedores
Ejemplos de Bindings (WF-Papeles)
Si una tarea en el workflow requiere de la ejecucin de un papel para determinar el responsable final de la tarea y este papel requiere de variables de entrada para ejecutarse, entonces estas variables deben pasarse desde el contenedor del workflow al del papel (rol). Para ello dentro de la tarea pasamos a Event. Defecto y veremos todos los papeles necesarios para determinar responsales. Marcamos el papel que deseemos y presionamos el botn de bindings para ver los bindings. Para ver un ejemplo con datos ver la tarea TS20000159.
63
Contenedores
Contenedor del Workflow
El contenedor de workflow es el punto central para todos los datos dentro del workflow. Si los datos no estn en el contenedor, entonces el workflow no los conoce.
64
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
65
Transacciones de Inicio
Los workflows generalmente se inician a partir de un evento (generado por otro programa, un change document, a travs del sistema de status, etc.), tambin es comn que un workflow inicie a otro workflow. No obstante en algunas ocasiones es necesario iniciar un workflow manualmente. Quines necesitan una transaccin de Inicio?
Usuarios que inician workflows directamente a travs del men Office Iniciar Workflow Los usuarios que inician workflows a traves de shortcuts en su escritorio Los programadores que desean hacer pruebas mientras desarrollan
66
Transacciones de Inicio
Para desarrolladores
Durante el desarrollo puede probar el workflow desde el Workflow Builder presionando el icono Luego puede utilizarse la transaccin SWUS para iniciar cualquier workflow con datos de pruebas.
67
Transacciones de Inicio
Para el resto de los usuarios necesitaremos crear una transaccin de inicio de workflow
Primero se debe crear un rea de nombres para las transacciones de WF mediante el customizing de Workflows (SWUT) Luego en el Workflow Builder se crear una transaccin de inicio a nivel de los datos de cabecera del workflow
Seleccionar el rea de nombres Seleccionar un numero de pantalla (por ejemplo 100) Presionar el botn crear para generar la transaccin de inicio
Finalmente se podr personalizar la transaccin de inicio para cubrir las necesidades de los usuarios.
68
Traducciones
Todos los elementos de un workflow podrn traducirse a diferentes lenguajes. En el Workflow Builder mediante la opcin de men Detalles Traduccin Traduccin podremos generar los textos que deseemos en diferentes idiomas. A su vez los textos de las tareas podrn tambin traducirse modificando las tareas (entrando al sistema en el lenguaje que se desee traducir).
69
Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones
70
Pre-requisitos: evaluar el Business Object de orden de mantenimiento y modificarlo en el caso que sea necesario para adaptarlo al escenario.
71
Enviar los work items a los agentes correspondientes es la mitad de la historia. Tener una estrategia para mantener la asignacin trabajando mas alla de los cambios organizacionales y las fluctuaciones de personal es la otra mitad. En esta parte del curso nos enfocaremos a lograr que ambas partes se logren con xito.
Contenidos
Conociendo la asignacin de agentes
Agentes Posibles Agentes Responsables Agentes Excluidos Receptores Agente actual Agentes para notificaciones y plazos El plan organizacional bsico Mantenimiento del plan Asignacin y reasignacin de usuarios Transporte del plan
Un agente es la persona que ejecuta el trabajo a realizar en el workflow. Los agentes son los encargados de ejecutar tareas que no pueden ejecutarse automticamente. Una de las tareas ms interesantes y regularmente una de las que mas tiempo insume en el momento de definir un workflow es como el sistema determinara a los agentes correctos para cada work item. Desde la perspectiva de negocio esto no es trivial, particularmente cuando es un nuevo proceso que no ha sido llevado a cabo por nadie anteriormente.
Agentes Responsables
Son quienes deben realizar el trabajo en un caso determinado
Agentes Excluidos
Son quienes no deben realizar el trabajo en un caso determinado
Estos tres grupos pueden solaparse e intersecarse para poder determinar el agente responsable final.
Agente Excluido
Receptor
Receptor
Agentes Responsables
10
11
12
Asignacin mltiple
Puede darse el caso (y es muy comn) que se enve un mismo work item a varios receptores. Cuando uno de los agentes tome el work item este desaparecer del inbox del resto y en caso que lo vuelva a dejar sin tomar volver a aparecerle a todos los usuarios nuevamente
13
Agentes de Notificacin
Son aquellos que recibirn un correo electrnico informndoles que determinado work item ha sido ejecutado satisfactoriamente.
14
Contenidos
Conociendo la asignacin de agentes
Agentes Posibles Agentes Responsables Agentes Excluidos Receptores Agente actual Agentes para notificaciones y plazos El plan organizacional bsico Mantenimiento del plan Asignacin y reasignacin de usuarios Transporte del plan
15
16
Trabajos
Un trabajo describe una rol funcional dentro de la organizacin.
Posiciones
Cada posicin representa un lugar a ocupar por una persona, es un escritorio fsico o una vacante.
Usuarios
Es el usuario SAP que se asigna a la posicin.
17
18
Bsqueda
Seleccin
Estructura
Detalles
19
20
21
3. Colocamos el cdigo, la descripcin, una funcin y si la posicin es o no el mximo responsable de la unidad org. Tambin podemos colocar validez.
22
23
24
25
26
27
28
29
Contenidos
Conociendo la asignacin de agentes
Agentes Posibles Agentes Responsables Agentes Excluidos Receptores Agente actual Agentes para notificaciones y plazos El plan organizacional bsico Mantenimiento del plan Asignacin y reasignacin de usuarios Transporte del plan
30
Definicin de agentes Definir los posibles agentes de una tarea Restringir los posibles agentes de una tarea Definir los agentes responsables de la tarea Definicin de papeles Creacin de papeles Creacin de bindings entre tareas y papeles.
Contenidos
Determinacin de Responsables Definicin de Agentes Posibles Asignacin de Agentes en las Tareas Definicin de Roles (Papeles) Determinacin de Agentes por Mdulos de Funcin
Determinacin de Responsables
En tiempo de ejecucin el sistema de resolucin de papeles determinar el/los agente/s responsable/s para un workitem. Todos los agentes responsables, los cuales son posibles agentes de la tarea, se volvern destinatarios del workitem. El sistema de workflow pondr este workitem en el worklist del usuario. Todos los destinatarios tendrn una vista del workitem refrescando su worklist.
Determinacin de Responsables
La determinacin de responsables se realiza a travs de papeles. Los papeles pueden ser de los siguientes tipos:
Responsabilidades
A travs de datos definidos en el contenedor del workflow se pasa el responsable directamente a la tarea (una variable con el nombre del usuario) No hay que desarrollar programas ABAP, todo se realiza directamente en el Workflow Builder a travs de configuraciones.
Informacin organizativa
Se asigna como responsable un elemento de la estructura organizativa directamente a la tarea Tampoco hay que desarrollar ABAP, se realiza a travs de configuraciones
A travs de Roles
Contenidos
Determinacin de Responsables Definicin de Agentes Posibles Asignacin de Agentes en las Tareas Definicin de Roles (Papeles) Determinacin de Agentes por Mdulos de Funcin
Modificando la tarea (o crendola) se puede acceder a la gestin de responsables a travs del men
En el caso que se configure la tarea de manera que no sea general, entonces debern asignarse los posibles agentes directamente desde la estructura organizativa creada.
10
Contenidos
Determinacin de Responsables Definicin de Agentes Posibles Asignacin de Agentes en las Tareas Definicin de Roles (Papeles) Determinacin de Agentes por Mdulos de Funcin
11
13
14
15
16
Contenidos
Determinacin de Responsables Definicin de Agentes Posibles Asignacin de Agentes en las Tareas Definicin de Roles (Papeles) Determinacin de Agentes por Mdulos de Funcin
17
Utilizacin de Roles
Los roles son papeles que permiten determinar responsables de una tarea en tiempo de ejecucin Los roles se sirven de la informacin que el sistema provee en tiempo de ejecucin para evaluarla y determinar a partir de dicha informacin quien es o quienes son los responsables para la tarea. Un rol queda definido por:
Un cdigo y una descripcin Un contenedor de datos para la evaluacin de responsables Una serie de parmetros que se incluirn en el container y que determinarn que tipo de informacin del sistema requerirn en tiempo de ejecucin El tipo de rol Configuraciones especficas dependiendo del tipo de rol
18
Utilizacin de Roles
Pasos para crear un rol: (1) Acceder por el men a la transaccin de creacin
19
Utilizacin de Roles
Pasos para crear un rol: (2) Presionar el botn para crear un nuevo elemento
20
Utilizacin de Roles
Pasos para crear un rol: (3) Seleccionar un tipo de rol
Al crear un rol el sistema nos pedir que indiquemos el tipo de rol entre los cuales encontraremos
Por competencias (en Readymix utilizamos este TIPO y este ejemplo se basa en competencias) Por mdulos de funciones Por atributos organizacionales (evaluation paths) Por datos de organizacin
21
Utilizacin de Roles
Pasos para crear un rol: (4) Completar los datos identificativos del rol
Colocamos un cdigo y una descripcin (sigla y denominacin)
22
Utilizacin de Roles
Pasos para crear un rol: (5) Completamos los parmetros del tipo de rol.
Dependiendo del tipo de rol deberemos completar algunos parmetros. Por ser una competencia debemos indicar si la competencia tiene en cuenta prioridades y si el rol da un error al no encontrar nada (cancela). El atributo Papel Personal se utiliza para que la regla solo devuelva como resulta usuarios de SAP (no devolver elementos de la estructura org.)
23
Utilizacin de Roles
Pasos para crear un rol: (5) Completamos los parmetros del tipo de rol.
Dependiendo del tipo de rol deberemos completar algunos parmetros. Por ser una competencia debemos indicar si la competencia tiene en cuenta prioridades y si el rol da un error al no encontrar nada (cancela). El atributo Papel Personal se utiliza para que la regla solo devuelva como resulta usuarios de SAP (no devolver elementos de la estructura org.)
24
Utilizacin de Roles
Pasos para crear un rol: (6) Indicamos una descripcin mas larga acerca de cmo trabaja el rol
25
Utilizacin de Roles
Pasos para crear un rol: (7) Se configura el container del rol
El container del rol representa un conjunto de variables que el rol necesitar en tiempo de ejecucin para poder evaluar las competencias asignadas. Es decir que dependiendo del valor de las variables que se coloquen se adjudicar una competencia determinada la cual tendr asignada los usuarios responsables.
26
Utilizacin de Roles
Pasos para crear un rol: (8) Finalmente se definen las competencias
Las competencias deben tener en cuenta TODAS las posibilidades de asignacion de datos en las variables del container. Una competencias se define con una clave, una descripcin, la valorizacin de las variables del container y una jerarqua. Cuanto mayor sea la jerarqua mayor prioridad tiene la competencia en el caso de que dos o mas competencias al ser evaluadas sean vlidas. Si un campo admite mltiples valores puede utilizarse como valor comodn el *.
27
Utilizacin de Roles
Pasos para crear un rol: (8-1) Creando una competencia
Presionamos el botn crear Completamos el cdigo y la descripcin de la competencia
28
Utilizacin de Roles
Pasos para crear un rol: (8-2) Creando una competencia
Valoramos las variables del container de manera que cuando se cumpla ese valor la competencia sea vlida Tambin marcamos el nivel jerrquico de la competencia
29
Utilizacin de Roles
Pasos para crear un rol: (8-3) Creando una competencia
Finalmente agregamos los objetos organizativos dentro de la competencia.
30
Utilizacin de Roles
Una vez creada la competencia podramos desear probarla.
SAP NO ofrece la posibilidad de probar competencias. No obstante podremos desarrollar un pequeo programa para poder probarla. El programa deber basarse en el modulo de funcin RH_GET_ACTORS para poder evaluar el rol. Este modulo de funcin recibe el nombre del rol y su container como entrada y devuelve una tabla con los agentes seleccionados.
CALL FUNCTION 'RH_GET_ACTORS' EXPORTING ACT_OBJECT TABLES ACTOR_CONTAINER ACTOR_TAB EXCEPTIONS NO_ACTIVE_PLVAR NO_ACTOR_FOUND EXCEPTION_OF_ROLE_RAISED NO_VALID_AGENT_DETERMINED OTHERS
31
Utilizacin de Roles
Ejemplo de un programa para probar roles
REPORT ZTESTRULE . INCLUDE <CNTN01>.
DATA: ev_holders TYPE STANDARD TABLE OF SWHACTOR, actor_tab TYPE STANDARD TABLE OF SWHACTOR, ac_agents TYPE STANDARD TABLE OF SWHACTOR, wa_ac_agents TYPE SWHACTOR, wa_ev_holders TYPE SWHACTOR, num_lines TYPE I. swc_container ac_container. swc_clear_container ac_container. swc_set_element ac_container 'PurchOrganization' p_ekorg. CALL FUNCTION 'RH_GET_ACTORS' EXPORTING ACT_OBJECT TABLES ACTOR_CONTAINER ACTOR_TAB
32
Utilizacin de Roles
Ejemplo de un programa para probar roles
LOOP AT ac_agents INTO wa_ac_agents. IF wa_ac_agents-otype = 'US'. APPEND wa_ac_agents TO actor_tab. ELSE. clear ev_holders[]. swc_clear_container ac_container. swc_set_element ac_container 'OTYPE' wa_ac_agents-otype. swc_set_element ac_container 'OBJID' wa_ac_agents-objid. CALL FUNCTION 'RH_GET_STRUCTURE' EXPORTING ACT_WEGID = 'WF_ORGUS' TABLES ACTOR_TAB = ev_holders AC_CONTAINER = ac_container EXCEPTIONS NOBODY_FOUND = 1 NO_ACTIVE_PLVAR = 2 OTHERS = 3. IF SY-SUBRC = 0. LOOP AT ev_holders INTO wa_ev_holders. APPEND wa_ev_holders TO actor_tab. ENDLOOP. ENDIF. ENDIF. ENDLOOP. 33
Utilizacin de Roles
Ejemplo de un programa para probar roles
DELETE actor_tab WHERE otype ne 'US'. DESCRIBE TABLE actor_tab LINES num_lines. IF num_lines IS INITIAL. WRITE: 'No agents found.'. ENDIF. WRITE: / 'The following agents where found:'. LOOP AT actor_tab INTO wa_ac_agents. WRITE: / wa_ac_agents-otype, wa_ac_agents-objid. ENDLOOP.
34
Utilizacin de Roles
Adems de competencias otros tipos de roles que podran llegar a utilizarse son:
Estructura Organizativa Utiliza evaluation paths para la seleccin de componentes y sus usuarios relacionados Prcticamente todos los componentes de SAP poseen evaluation paths para trabajar con el plan organizacional. Adicionalmente se pueden crear sus propios evaluation paths. Atributos Organizativos
Esta tcnica permite vincular determinadas configuraciones de customizing (tablas) con elementos de la estructura organizativa (por ejemplo un laboratorio, un controller de MRP, un grupo de compras, etc). Se deber crear un Business Object representando la tabla de customizing, luego se vincula el business object a un elemento de la estructura organizativa con la transaccin PFOM. Cuando se instancia la tarea, se debera crear un binding entre el contenedor del workflow y el de la regla para poder instanciar el business object. Para mas informacin recomiendo ver la documentacin de SAP en htto://help.sap.com El uso de mdulos de funcin nos dar la mxima flexibilidad pero la mnima visibilidad. Se pueden usar datos del sistema y de otros sistemas para determinar agentes Se pueden combinar varias reglas (papeles) en una sola regla Es importantsimo que la regla quede muy bien documentada.
Mdulos de Funcin
35
Contenidos
Determinacin de Responsables Definicin de Agentes Posibles Asignacin de Agentes en las Tareas Definicin de Roles (Papeles) Determinacin de Agentes por Mdulos de Funcin
36
37
38
39
Eventos Entender que es un evento y como crear eventos Comprender los distintos tipos de eventos Saber como definir condiciones de inicio de eventos Desarrollo Saber desarrollar: programas que llaman eventos, check function modules y receiver function modules.
Contenidos
Definicin de Eventos Lanzando eventos desde las aplicaciones SAP
Lanzando eventos con change documents Lanzando eventos con mensajes Lanzando eventos con cambios de status Otros tipos de lanzamiento de eventos
Desarrollos en Eventos
Llamar un evento de un programa Desarrollo de mdulos de funciones para eventos
Definicin de Eventos
Dado que los workflows son procesos de negocio, es vital para una aplicacin de negocio poder comunicarse con los workflows. Por ejemplo una aplicacin de negocio necesita informar:
Cuando comienza un proceso de negocio Cuando termina un proceso de negocio o una actividad dentro del proceso Cuando una actividad o proceso que ha comenzado ya no se necesita Cuando dada una circunstancia ha cambiado el ambiente en el cual el proceso se ejecuta.
Para poder comunicarse la aplicacin de negocio utiliza EVENTOS. Simplemente dicho un evento es el cambio de estado de una instancia de un objeto de negocio (Business Object). Por ejemplo cuando un usuario cambia el maestro de materiales para el material XXXY entonces el Business Object XXXY lanzara el evento Changed.
4
Definicin de Eventos
Definicin de Eventos
Para usar un evento como interfase entre la aplicacin y un workflow se necesita lo siguiente:
Definicin del Evento
Es el nombre tcnico del evento definido en un tipo de objeto. Se definen como un verbo en pasado (creado, modificado, liberado, etc.). Adems el evento esta definido por sus parmetros. Los parmetros por defecto de un evento son: su nombre, el tipo de objeto, la instancia del objeto y el creador del evento. No obstante se pueden definir parmetros adicionales que deben acompaar el evento.
Definicin de Eventos
Creando un evento
Los eventos se crean en el Business Object Repository Debemos especificar el tipo de objeto para el cual queremos crear el evento Al definir eventos nunca deberemos codificar nada. Los datos que deben ingresarse son
El nombre del evento Los parmetros del evento
Podemos ver en el business object BUS2105 (solicitud de pedido) el evento released y veremos si definicion y un parametro que posee asociado que es el codigo de liberacin.
Contenidos
Definicin de Eventos Lanzando eventos desde las aplicaciones SAP
Lanzando eventos con change documents Lanzando eventos con mensajes Lanzando eventos con cambios de status Otros tipos de lanzamiento de eventos
Desarrollos en Eventos
Llamar un evento de un programa Desarrollo de mdulos de funciones para eventos
Solo los tres primeros casos son los mas usados, el resto son especficos para determinados mdulos (HR FI) y para casos aislados (por ejemplo la liberacion de un pedido de compras).
10
11
12
Luego podremos restringir aun mas bajo que circunstancias queremos que se lance el evento, especificando campos de la tabla de campos relevantes, su valor antiguo y su valor actual.
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Contenidos
Definicin de Eventos Lanzando eventos desde las aplicaciones SAP
Lanzando eventos con change documents Lanzando eventos con mensajes Lanzando eventos con cambios de status Otros tipos de lanzamiento de eventos
Desarrollos en Eventos
Llamar un evento de un programa Desarrollo de mdulos de funciones para eventos
28
Cuando se lanza un evento, este puede tener uno o mas receptores. Se pueden usar eventos para:
Lanzar un workflow o una tarea Parar un workflow, una tarea o un paso de tipo esperar por evento. Forzar al workflow a cambiar algo sobre si mismo.
A su vez un workflow puede en si mismo lanzar eventos utilizando el paso de tipo creador de evento.
29
30
31
Presionar aqu
32
33
34
35
Podremos indicar una funcin de verificacin la cual se utiliza para validar el linkage (si falla la funcin no se inicia el workflow) Por ltimo podremos facilitar una funcin para determinacin de receptores, es decir que en tiempo de ejecucin (observando parmetros del contenedor del evento) podremos determinar el workflow receptor dinmicamente.
36
37
38
39
40
41
Contenidos
Definicin de Eventos Lanzando eventos desde las aplicaciones SAP
Lanzando eventos con change documents Lanzando eventos con mensajes Lanzando eventos con cambios de status Otros tipos de lanzamiento de eventos
Desarrollos en Eventos
Llamar un evento de un programa Desarrollo de mdulos de funciones para eventos
42
Desarrollos en Eventos
Arquitectura del Sistema Eventos en SAP
43
Desarrollos en Eventos
Desarrollo de un programa que lance un evento
El programa que desee disparar un evento deber utilizar el modulo de funciones SWE_EVENT_CREATE que forma parte de la amplia API de funciones para workflow. La estructura lgica del programa debera ser la siguiente:
Llenar el contenedor de eventos con los parmetros necesarios Componer la clave del objeto que debe instanciarse para llamar al evento Llamar la funcin SWE_EVENT_CREATE Controlar las excepciones Disparar el evento con COMMIT_WORK explicito
44
Desarrollos en Eventos
Tener en cuenta los objetos delegados al ejecutar el evento
45
Desarrollos en Eventos
Desarrollo del modulo de funcin para verificar el evento
El modulo de funcin debe tener la siguiente estructura La lgica del modulo de funciones debe ser la siguiente Leer los parmetros del contendor de eventos Verificar lo que se desee verificar En caso de errores lanzar cualquier excepcin
46
Desarrollos en Eventos
Desarrollo del modulo de funcin para determinar receptores
El modulo de funcin debe tener la siguiente estructura La lgica del modulo de funciones debe ser la siguiente Leer los parmetros del contendor de eventos Determinar el workflow que debe llamarse utilizando los datos obtenidos En caso de errores lanzar cualquier excepcin, sino terminar la funcin.
47
Explicar las distintas herramientas utilizadas para extraer informacin sobre el sistema de workflows. Dar un resumen de herramientas que se utilizan para encontrar y resolver problemas del sistema de workflow Indicar los problemas mas comunes que pueden suceder y como resolverlos.
Contenidos
Reportes en Workflow Workflow Logs Herramientas para el Anlisis de Problemas Otros Reportes y Herramientas Importantes Problemas Comunes
Reportes en Workflow
Toda la informacin sobre procesos de workflow esta disponible en la base de datos de R/3, y puede ser evaluada usando informes entandar o informes especficos de cliente. Informes de tiempo de ejecucin (runtime) tiene dos enfoques:
Soporte en los anlisis de pruebas y anlisis de errores Mejora en el proceso lgico de negocio basado en la experiencia
La informacin de los informes puede ayudarle a valorar la actuacin de los procesos, si hay problemas con tiempos de espera, el desarrollo de los tiempos totales de proceso, cuan satisfactorios los acuerdos de servicio son cumplidos y si algo debera ser cambiado. Es incluso posible copiar informacin desde las tablas runtime a las tablas del sistema de informacin del workflow. De esta manera la informacin queda disponible para evaluaciones incluso despus de que los datos hayan sido archivados. Los informes de workflow pueden ser visualizados desde el men SAP EASY ACCESS dentro de la opcin Informes.
Reportes en Workflow
Existen diferentes informes para informar sobre el sistema de Workflow. Si tiene problemas con un workflow especfico, entonces usa el diagnstico de workflow.
Reportes en Workflow
Anlisis de Carga (workload analysis)
El anlisis de carga de trabajo le da una visin de que trabajo ha sido hecho o esta todava en proceso, por parte de que usuario, trabajos, posiciones, o unidades organizacionales. Para el anlisis de carga de trabajo ir la siguiente ruta: SAP EASY ACCESS -> Herramientas -> Business Workflow -> Desarrollo -> Informes -> Anlisis carga de trabajo (SWI5)
Reportes en Workflow
Evaluando Workitems (Workitem Analysis)
El anlisis de Workitem le proporciona informacin de con que frecuencia comienza un workflow y cuanto tiempo tarda en procesarse. Puede escoger el anlisis de periodo. Puede incluso restringir el anlisis de para workflows particulares, o tareas o grupos de tareas. La parametrizacin estndar es para poder obtener los workitems de la tareas. Si quiere ver los workitems de los workflows, debe marcar el indicador (Sub)-Workflow. El anlisis de Workitem tambin proporciona informacin de aquellos workflows que no han sido procesados a tiempo. Ir a la siguiente ruta para el anlisis de los workitems: Herramientas -> Business Workflow -> Desarrollo -> Informes -> Anlisis de Workitems.
Puedes entonces visualizar los workitems por tareas o por duracin de proceso. Puedes incluso mirar los workitems por tiempos limites fallados.
Reportes en Workflow
Anlisis de Workitems
Reportes en Workflow
Identificando Workitems (Workitem Selection)
La seleccin del workitem es probablemente el camino ms rpido para un diseador de workflow alcanzar el log de workflow de cualquier workflow. Puedes utilizar criterios de selecciones especiales para optimizacin de informes en tiempo de ejecucin. El informe podra visualizar una lista de workitems personalizada, dependiendo de su criterio de seleccin. Puede visualizar estos workitems para obtener informacin detallada. Solo si es un posible agente de estos workitems, entonces estar habilitado para ejecutarlos o cambiarlos.
Reportes en Workflow
Para la seleccin de los workitems es importante conocer su estado
W: dialog workitem
Es la representacin en tiempo de ejecucin de una tarea con un dilogo directo con el usuario. Es un workitem que est vencido, es decir, que el usuario responsable no lo ha ejecutado y dejo pasar el tiempo de ejecucin vlido para la tarea. Es la representacin en tiempo de ejecucin de un workflow. Es la representacin en tiempo de ejecucin de una tarea que es ejecutada directamente por el sistema (no es asignada a ningn usuario) Es la representacin en tiempo de ejecucin de un paso de espera en la definicin del workflow.
F: workflow workitem
B: background workitem
10
Contenidos
Reportes en Workflow Workflow Logs Herramientas para el Anlisis de Problemas Otros Reportes y Herramientas Importantes Problemas Comunes
11
Workflow Logs
El sistema de workflow registra en un log todo lo que sucede. Algunos pasos pueden filtrarse para que no aparezcan en el log
Pasos sin definir Operaciones en contenedor (container operations) Workflow control step (terminate step) ' Wait for event' steps Creacin de eventos Pasos marcados con el indicador ' en el log de workflow' la definicin no en de workflow
Si la vista tcnica est establecida como vista para el log de workflow en el perfil personal de workflow, no hay filtros.
12
Workflow Logs
El log de workflow proporciona diferentes modos para diferentes requerimientos de informacin, cada uno de los cuales son apuntados a preguntas particulares y usuarios. Los siguientes modos estn disponibles:
Modos para agentes procesados, los cuales no contienen ninguna informacin tcnica. Modos con detalle tcnicos, requeridos, por ejemplo, por el administrador de workflow.
La presentacin es dependiente del modo que haya escogido el perfil de usuario de workflow.
13
Workflow Logs
Vista Crnica
La pestaa de Workflow chronicle del log de workflow (ActiveX) muestra en vista jerrquica todos los pasos del workflow, cuales ya han sido procesados o deberse para ser procesado. Si el workflow tiene una estructura de subworkflows, estos estn visualizados tambin. Las funciones detalladas lista lo siguiente de un paso en la parte de abajo de la pantalla: Quien lleva a cabo que accin detallada con que resultado en estos work items. Cuando esta accin fue ejecutada. Que objetos fueron involucrados.
Workflow Logs
Vista Crnica
15
Workflow Logs
Vista Crnica (vista de agentes)
La pestaa de los agentes del log de workflow permite visualizar los empleados involucrados en el workflow. Lo siguiente esta listado por cada empleado:
Que accin fu llevada a cabo en que paso. Cuando fue esta accin ejecutada. Que objetos estuvieron involucrados.
Esta vista expone primeramente que rol tiene un empleado en la ejecucin del workflow
16
Workflow Logs
Vista Crnica (vista de objetos)
La pestaa de los objetos de workflow lista los objetos que estn conectados con el workflow o que han sido direccionados en la ejecucin de workflow. Estos objetos son:
El objeto "leading" del workflow. Accesorios y objetos, que pueden haber sido adjuntados en los pasos o individuales del workflow.
17
Workflow Logs
Vista Tcnica
El log tcnico es siempre el punto de partida para el anlisis de problemas del proceso de workflows. Proporciona informacin detallada sobre resultados, agentes, workitems, y estatus de los workflows activos o completados. Haciendo un click en el mensaje nos da informacin detallada sobre errores o advertencias (warnings).
18
Workflow Logs
Vista Tcnica
Acceder al log tcnico desde la visualizacin detallada del workitem presionando el botn Workflow log o en el menu de la barra superior Ir a -> Listar con detalles tcnicos. Puede acceder a la visualizacin del work item via analisis del work item, por ejemplo. Otra opcin es visualizando directamente en el Business Workplace, seleccin de work item selection o desde analisis de carga de trabajo.
19
Workflow Logs
Vista Grfica
El log grfico del workflow suplementa la informacin textual. Los pasos de workflow ya procesados son marcados en una vista grfica de la definicin de workflow. Puede decir a primera vista que ruta de workflow cogi y que actividades son procesadas en paralelo de tus propias actividades dentro del proceso de negocio. A diferencia del log de workflow en formato texto, el log grfico de workflow incluso ensea el futuro estado del workflow: Puede ver como un proceso continuar despues de su actividad. Las bases tcnicas del log grfico de workflow es el editor grfico de workflow. Para visualizar el log grfico del workflow, la definicin relevante del workflow es leda y combinada con la informacin en tiempo de ejecucin.
20
Workflow Logs
Vista Grfica
21
Contenidos
Reportes en Workflow Workflow Logs Herramientas para el Anlisis de Problemas Otros Reportes y Herramientas Importantes Problemas Comunes
22
23
El diagnostico del workflow te dar la mejor perspectiva para chequear cada aspecto de tu workflow. La simulacin de eventos es un juego tipo que pasa si.
El sistema le informar sobre el impacto de un evento, sin desencadenarlo. Esta funcin es excelente para determinar el vnculo del evento con la tarea. Peridicamente el administrador de workflow debera quitar este fichero fsico. En productivo el trace de eventos debera apagarse por razones de rendimiento.
El log del RFC nos dar una visin de los problemas de RFC. Manualmente puedes empezar una tarea o un workflow para hacer pruebas.
24
25
26
27
28
29
30
Contenidos
Reportes en Workflow Workflow Logs Herramientas para el Anlisis de Problemas Otros Reportes y Herramientas Importantes Problemas Comunes
31
32
Contenidos
Reportes en Workflow Workflow Logs Herramientas para el Anlisis de Problemas Otros Reportes y Herramientas Importantes Problemas Comunes
33
Problemas Comunes
Resolviendo Errores en Workitems
Un buen diseo del workflow y su posterior sesin de pruebas en un entorno de integracin debera prevenir la mayora de los errores en los workitems, sin embargo es posible que en el entorno productivo del sistema se den errores. Este tipo de errores se dividen en 2 categoras:
Workitems con status erroneo: estos son los ms fciles de encontrar y los mensajes que se encuentran en el log del workitem casi siempre bastan para poder encontrar el problema. Workitems que no se comportan de acuerdo a lo esperado: estos son ms difciles de detectar y determinar la causa del problema, especialmente si el workitem se completa sin dejar rastros del problema (ya que no se puede volver a ejecutar un workitem completado).
34
Problemas Comunes
Los problemas tpicos que un workitem puede tener son:
Un workitem con status erroneo y el mensaje el Objeto no existe.
Este problema puede ser resultado de un error de bindings mal diseados, errores en la secuencia del workflow (ejemplo, el objeto no exista al crearse o ejecutarse el workitem), o un diseo inadecuado del workflow (por ejemplo, el workflow no tiene en cuanta que un documento pueda borrarse manualmente).
35
Problemas Comunes
Otros problemas tpicos que un workitem puede tener :
Un workitem con status erroneo y el mensaje El metodo del objeto asociado ha fallado.
Este problema no es un problema del workflow en si mismo, sino del mtodo que este ejecutando la tarea asociada al workitem. En este caso el problema puede ser un cambio en el customizing, un cambio en los datos maestros utilizados, transacciones que se ejecutan mal, cambios por user-exits o BADIs, etc.
Un workitem de dilogo que nunca se completa por que el evento terminador nunca ocurre.
Este problema puede darse por un problema de bindings aunque mas posiblemente sea que el responsable de ejecutar el workitem no lo haya echo correctamente.
36
Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP
Definicin
El Business Workplace es una parte del entorno de ejecucin del SAP Business Workflow. Los empleados responsables, reciben los documentos y los work items para su tratamiento en el Business Workplace. Una vez que una tarea (=un work item) ha sido ejecutado y completado, se puede continuar con el proceso. Usando la estructura de las unidades organizativas, las cuales definen roles funciones y responsabilidades en la estructura de la empresa, el trabajo requerido para un proceso determinado, es dirigido a la persona apropiada.
Definicin
La worklistcontiene todos los work items (todas las actividades que han de ser procesadas) asignadas a su usuario. El Business Workplace es por consiguiente, la interfase ms importante para un empleado en su trabajo diario. Como extensin a la worklist (lista de work items), los documentos electrnico entrantes (e-mail, Internet mail y fax), se muestra tambin en el Business Workplace (en el inbox). Esto simplifica el acceso de un empleado a la informacin que es importante para el.
Worklist
Objetos relacionados
rbol de previsualizacin
Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP
Apartar
Crear Anexos
Los usuarios que reciben los work items pueden mostrar los documentos anexos de dichos work items y aadir nuevos. Se pueden adjuntar muchos tipos de documentos a un work item, incluyendo documentos SAPscript, Microsoft Office o pginas de internet.
9
Detalles de la Worklist
Los Workitems pueden ser ejecutados directamente desde la Worklist. Las aplicaciones se lanzan con los datos requeridos en el momento en que se hace doble-clic. El sistema workflow determina los usuarios receptores del Workitem. Todos esos usuarios receptores seleccionados pueden ver y (potencialmente) ejecutar el Workitem en su Business Workplace, pero solamente un usuario puede ejecutar el Workitem. Por consiguiente, una vez que un usuario realizar la ejecucin, el resto de los usuarios no podrn ejecutar dicho Workitem posteriormente. Un usuario puede aceptar un Workitem. Un Workitem solamente puede ser ejecutado por el usuario que lo acept. Si se elige Rechazar, se modifica el status de dicho work item de Reservado y se vuelve a poner disponible parta todos los usuarios receptores seleccionados. En ese momento, el status del work item vuelve a ser Listo.
10
11
Detalles de la Worklist
R/3 almacena temporalmente en memoria los datos relativos a las funciones
organizativas asociadas a un usuario la primera vez que este se loga en el sistema, y compila la worklist de acuerdo con estos datos, cada vez que esta es llamada.
podr ver el work item en el sistema, pero no pueden ejecutarlo. Los usuarios reciben el mensaje Usuario no puede apartar aceptar el work item. Si esto ocurree,actualize el entorno organizativo en el Business Workplace a trevs del menu superior: Opciones-> Opciones Workflow->Refrescar entorno organizativo. propiedades de una tarea determinan si puedes transmitir un work item a todos los usuarios o solo a alguno de ellos. Tambin puedes hacer que un work item sea accesible para usuarios que no estaban configurados como receptores de dicho work item en un principio.
12
Otras funciones para el procesamiento de Work items: Posibilidad de marcar el work item como terminado. Cambiar fecha limite para la ejecucin de dichos work items Modificar las prioridades.
13
Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP
14
Detalles de un Workitem
La visualizacin estndar del Workitem esconde la informacin tcnica no requerida para las tareas normales del da a da. El hecho de que aparezcan los anexos y puedan ser llamados inmediatamente se traduce en una ayuda para el usuario. La descripcin del work item se encuentra tambin intregrada, haciendo posible el formato SAPscript. La prioridad puede ser cambiada. Toda la informacin adicional (como usuarios o anexos), pueden ser llamados pulsando en un link. La pantalla estndar del work item contiene las vistas Datos basicos y Objetos disponibles. Dicha pantalla puede ser ampliada incluyendo pestaas definidas por el usuario.
15
16
17
Lista de objetos: Otros Objetos: Aadir. Mostrar. Borrar de la lista Funciones de work item: Ejecutar Reservar/Apartar Marcar como realizado Fechas limites de ejecucin Anexos Rechazar
Funciones Ad hoc: Reenviar. Cambiar las prioridades. Remitir a un servidor para un uso posterior Envo de mail
18
Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP
19
Workflow Log
Detalles de seccin
20
21
22
Objetos relacionados
23
Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP
24
25
26
27
28
29