Вы находитесь на странице: 1из 352

SAP Business Workflow

Introduccin

Objetivos del Curso


Objetivos

Son objetivos de este curso

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

Las siguientes son caractersticas comunes a todos los workflows

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

Los sistemas de workflow controlan los procesos

Basndose en un modelo Y son particularmente tiles en organizaciones bien estructuradas

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

Ventajas del Workflow


Para los usuarios
Tan pronto como una tarea aparezca se le enviar electrnicamente a su inbox La informacin, explicaciones e instrucciones se envan todas juntas en un mismo documento El sistema workflow lleva al usuario directamente a la transaccin Permite escalar trabajos automticamente y determina los responsables y superiores directamente utilizando la estructura organizativa

Para la empresa
Aumenta la productividad Agiliza los procesos Aumenta la satisfaccin de los clientes (mejores flujos de informacin, mayor rapidez en responder)

Ventajas del Workflow

Coordinar Visita

Televentas
Cambia el maestro de clientes Ajustar Limite de Crdito
Change document

Representante de Ventas

Gestin de Crditos

Evento
WorkFlow

Cambiar Plan Produccin

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

Workflow Paso Tarea

Papel Agentes

Business Object Evento

Business Workplace Actividad

12

Terminologa Workflow
Existen 5 preguntas clave para cada parte de un proceso de negocio

Quin?

Qu?

Cuando? En qu orden?

Con que Objeto?

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

Arquitectura del Workflow


Arquitectura General del Sistema de Workflows

20

Arquitectura del Workflow


Arquitectura General del Sistema de Workflows
Definition tools
Componentes para implementer una definicin de workflow (Workflow Builder, Business Object Repository - BOR) En el tiempo de ejecucin, la definicin del workflow forma las bases de las ejecuciones de workflows basadas en ello. (workflow instances). Componentes de ejecucin Controla y coordina el proceso del workflow (workflow manager) Para gestionar la ejecucin de los work items individuales (individual work steps) incluyendo asignaciones a agentes y monitorizando fechas limite (work item manager) Para evaluar los eventos recibidos vnculos de tablas y para gestionar los eventos recibidos registrados como un evento (event manager) Para la gestin de los datos requeridos de la ejecucin de las tareas definidas en la definicin del workflow.

Runtime system

21

Arquitectura del Workflow


Componentes del Sistema Workflow

22

Arquitectura del Workflow


Componentes del Sistema Workflow
Business Workplace Interaccin con usuarios en el tiempo de ejecucin y provision de las funciones de aplicacin. El workflow manager arranca el tiempo de ejecucin del workflow en primer lugar y representa funciones de control para procesos automticos a lo largo de los mdulos de aplicacin de R/3:
Control Monitoring Coordinacin Sincronizacin

El workitem manager interacta con la aplicacin llamada en el mtodo de la tarea.

23

Arquitectura del Workflow


Tareas / Workflows
Las tareas son los bloques de construccin para los workflows. La clave para tareas y workflows se compone de la siguiente manera:
XX (cdigo de dos caracteres que representa el tipo de tarea yyyyyyyy (nmero de ocho cifras secuencial)

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

Arquitectura del Workflow


Definicin de una Tarea (General)
Las Tareas identifican una accin que necesita ser ejecutada. Ellas siempre se refieren a un mtodo de un tipo de objeto. La accin puede ser un paso que el sistema ejecuta independientemente en fondo. En este caso, ningn representante/agente es asignado. La accin puede ser una tarea de dialogo. En este caso, la tarea tiene agentes responsables. Encontrar la asignacin de los representantes/agentes escogiendo la opcin del men Additional data -> Maintain agent assignment. Las tareas poseen un titulo y una descripcin que se muestra en el work item previsto y en el detalle de la visualizacin del work item. Una notificacin puede ser enviada a la bandeja de entrada de mensajes cuando el procesamiento del work item est completo. Si el control o monitorizacin de la fecha limite es activado para un paso del workflow y Visualizar Texto es activado como reaccin, si las fechas tope no son cumplidas, los textos a enviar deberan ser definidos. Se pueden incluir variables en todos los textos, los cuales son suministradas con valores desde la interfaz de workflow en el tiempo de ejecucin (runtime).

25

Arquitectura del Workflow


Definicin de una Tarea (General)

26

Arquitectura del Workflow


Business Objects
Tipo de Objeto (en tiempo de definicin)
Descripcin genrica (definicin) de los componentes (claves, atributos, eventos, mtodos) de un objeto Un objeto es un ejemplo de un tipo de objeto (instancia) con particulares valores atributos. Los valores atributos son entradas en tabla en la base de datos de R/3, o son determinados desde valores conocidos en el tiempo de ejecucin. Puede acceder a un objeto usando una clave de identificacin nica. Los mtodos encapsulan las funciones familiares y de conjunto del sistema R/3 hacindolas accesibles al sistema de workflow. Los mtodos del objeto se refieren a la disponibilidad de funciones ABAP (transacciones, mdulos de funcin, mdulos de dialogo, y dems).

Objeto (en tiempo de ejecucin)


Mtodos: Funciones permitidas para un objeto.

27

Arquitectura del Workflow


Business Objects

28

Arquitectura del Workflow


Agentes
Un lista de posibles agentes son requeridas para una tarea (TS). Esta lista contiene los empleados en tu empresa los cuales estn autorizados a recibir este work item (representacin de una tarea en el tiempo de ejecucin). Cuando se define la tarea pude crear una "tarea general", o escoger "Asignacin agente - Crear" y crear una relacin con un objeto organizacional. Cualquier usuario del sistema puede ejecutar tareas generales. Los destinatarios del work item son determinados en el tiempo de ejecucin.

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)

Algunos desarrollos propios para ver


Envo de notificaciones a compras por exceso de importes (90000001) Liberacin de pedidos de nuevas inversiones grandes reparaciones (90000006) Envo de notificaciones a responsables de NI GR (90000007). Este es un ejemplo de una tarea mltiple aplicada al workflow 90000006.

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)

Documentacin General Demos - Tutoriales

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.

Algunos sitios web de inters


www.workflowing.com - Pagina con algunos trucos para WF www.asug.com Es el grupo de usuarios SAP que tiene un area dedicada a WF www.e-workflow.org - Informacin de WF en general www.sap.com/notes
322526 - Recomendaciones para el anlisis de errores 80948 - Idiomas en las tareas 27848 - Idiomas en los workitems 77607 - Transporte de estructura organizativa con copia de mandante 217229 - Para hacer preguntas sobre WF al MIT 63480 - Como unir WF con MS Exchange

33

SAP Business Workflow


Customizing
November 25, 2008

Contenidos
Customizing en el sistema workflow
Autocustomizing Rangos de nmeros Responsable del sistema workflow Jobs Prefijos de tareas Verificacin del customizing

Customizing de workflows estndar (Ejemplo)


Customizing automtico de tareas Activacin de workflows estandard

Configuracin del Sistema


El customizing del sistema workflow en SAP R/3 es una tarea sencilla si se siguen algunos consejos bsicos. Principalmente la configuracin del sistema de workflow posee las siguientes actividades bsicas:
Definir un rango de nmeros para los objetos workflow que se vayan a crear nuevos (workflows, tareas, papeles, etc.) Definir una versin de plan activa para la estructura organizativa Definir un usuario batch para las tareas que deben ejecutarse por el sistema Definir un destino RFC para las tareas batch Definir uno o mas usuarios responsables del sistema workflow (adm.) Crear los jobs para la supervisin de tareas vencidas y errneas

Para acceder al customizing de workflow seguir la siguiente ruta desde la IMG: Base Business Management SAP Business Workflow

Configuracin del Sistema


Configuracin automtica:
El sistema de workflow viene con una herramienta muy til para configurarlo automticamente. Esta herramienta se ejecuta con la transaccin SWU3, o desde la IMG: actualizar parametrizaciones standard para 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

Configuracin del Sistema


Configuracin manual:
Responsable del workflow
En este punto se configura un usuario o grupo de usuarios responsables de administrar el sistema de workflow. Por defecto la configuracin automtica colocar el usuario de quien este configurando el sistema. Tarea Standard y Unidad de Tiempo standard. Dejar la tarea por defecto y colocar la unidad de tiempo que se desee. Esta unidad de tiempo solo afectara en el momento del desarrollo por que ser la que aparecer por defecto.

Configuracin del Sistema


Configuracin manual:
Jobs
Existen 2 jobs que deben programarse para monitorear tareas vencidas y errneas. El primero que configuraremos es el de tareas vencidas. Este tiene dos opciones configurar un job aislado (para que se ejecute en el momento o dejar uno planificado (ver la imagen y el nombre del job es SWWDHEX) En el caso del job para workitems errneos (SWWERRE) adems del intervalo de ejecucin hay que configurar la cantidad de intentos fallidos de un workitem antes de enviar una notificacin al administrador del workflow.

Configuracin del Sistema


Configuracin manual:
Prefijos para objetos estndar
Al desarrollar workflows nuevos (workflows, tareas, papeles, etc.) el sistema asignara un numero interno al objeto desarrollado. Este debe ser univoco entre todos los sistemas de desarrollo que tengamos, es por ello que para cada sistema y mandante de desarrollo que posea la empresa se debe colocar un prefijo de 3 dgitos y la clase de desarrollo que se este utilizando para desarrollos workflow. Previamente se debe definir la clase de desarrollo. De esta manera aseguraremos la consistencia de los desarrollos entre sistemas.

Configuracin del Sistema


Configuracin manual:
Rangos de nmeros
Si se va a crear una estructura organizativa ligada a una versin de plan especifica, se debe indicar un rango de nmeros para cada tipo de objeto a crear (unidad organizativa, puesto de trabajo, funcin, etc.). Primero debemos ver cual es la versin activa del plan (que se configuro mediante la configuracin automtica) y la cual podremos cambiar (aunque no es recomendable). Luego podremos asignar los rangos de nmeros que deseemos para todo el plan.

Contenidos
Customizing en el sistema workflow
Autocustomizing Rangos de nmeros Responsable del sistema workflow Jobs Prefijos de tareas Verificacin del customizing

Customizing de workflows estndar (Ejemplo)


Customizing automtico de tareas Activacin de workflows estandard

Configuracin de Workflows Estandard


Customizing Workflow
El acceso al customizing de workflow desde la SPRO se alcanza a travs del siguiente paso:
BASE Business Management SAP Business Workflow

La configuracin de los workflows estndar de SAP se base principalmente en realizar 2 actividades:


Asignar responsables a las tareas del workflow que corresponda Activar la relacin entre el workflow y el evento que lo inicia

Estas actividades se configuran en el customizing especfico de tareas dentro de las opciones especficas de customizing de workflow.

10

Configuracin de Workflows Estndar


Ejemplo: Configuracin del workflow estndar para la liberacin general de solicitudes de pedido.
Aparecer un rbol con todos los mdulos del sistema y los submdulos. Seleccionamos el elemento funcional que deseamos (en nuestro caso gestin de materiales compras) Aparecern 2 opciones
Asignar tareas a responsable Activar acoplamiento de eventos

11

Configuracin de Workflows Estndar


Asignar tareas a responsables
Para asignar una tarea la marcamos y presionamos el botn propiedades. Se podr marcar la tarea como tarea general si cualquiera puede ejecutarla. Si solo algunos puestos de trabajo, unidades organizativas, usuarios, etc. pueden ejecutar la tarea entonces debern asignarse con el botn de asignacin que es el botn que esta mas a la izquierda en la barra de herramientas. (ver demo)

12

Configuracin de Workflows Estndar


Activar acoplamiento de eventos
Para activar el evento que inicia el workflow marcamos el workflow que deseamos activar y luego presionamos el botn de activacin que esta en la barra de herramientas. Una vez activado el estatus del acoplamiento quedar en activado. Una vez finalizado esta configuracin podremos probar en la aplicacin si el workflow funciona ejecutando el programa que lanza el evento (depende de cada workflow en particular y de la aplicacin propia que lo ejecuta).

13

SAP Business Workflow


Desarrollo
November 25, 2008

Objetivos del Curso


Objetivos

Son objetivos de este curso

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

A quienes va dirigido este curso

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.

Repaso: Que cosas NO hace el sistema Workflow.


Simplificar transacciones complejas (mens, pantallas, etc.) Proveer procesos de negocio eficientes de manera automtica (esta tarea se la dejamos a los modeladores del sistema de workflow) Una vez que una aplicacin es llamada por el sistema de workflow el control lo tendr la aplicacin y no el sistema de workflow.

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

Control del proceso


Evaluacin del proceso


Introduccin
Arquitectura

Nota: A

B significa que el elemento A utiliza el elemento B

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

Definicin e Implementacin de Business Objects


Comprende el desarrollo en los siguientes elementos de la arquitectura

Las herramientas que se aprendern a utilizar en esta unidad son:


El BOR (Business Object Repository) para navegar entre los datos El BOB (Business Object Builder) como herramienta de desarrollo

10

Definicin e Implementacin de Business Objects


Por qu utilizamos tecnologa orientada a objetos?
Principalmente por 2 motivos:
Permite simplificar el proceso de modelado del workflow Es una interfase estndar para el entorno de ejecucin del workflow

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

Definicin e Implementacin de Business Objects


Dnde se utilizan los objetos en un workflow?
Los objetos se utilizan en:
Tareas: para ejecutar mtodos Estructuras de control: para consultar atributos Operaciones en los contenedores: para consultar atributos Pasos de espera o disparadores de eventos: recibiendo o generando eventos Funciones de verificacin y de determinacin de agentes: para consultar atributos Funciones receptoras: para consultar atributos Papeles: para consultar atributos Mtodos secundarios: para ejecutar mtodos

12

Definicin e Implementacin de Business Objects


Relaciones entre objetos
Herencia
Se utiliza para realizar extensiones funcionales. La relacin responde a la frase es un tipo de. Por ejemplo: Documento Documento Contable

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

Definicin e Implementacin de Business Objects

14

Definicin e Implementacin de Business Objects


Object-Type (Tipo de Objeto): Definicin

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

Definicin e Implementacin de Business Objects


Object-Type (Tipo de Objeto): Propiedades
En la metodologa de desarrollo orientada a objetos las clases tienen determinadas propiedades de las cuales enumeramos:
Encapsulamiento de datos: consiste en abstraer los datos al modelador del workflow (que puede no ser un programador). Quiere decir que el que este diseando el workflow no tiene por que saber que tablas, programas, transacciones, etc. estn detrs de la ejecucin del workflow. Herencia: esto significa que los elementos clave, los atributos, mtodos y eventos de un tipo de objeto se pasaran a los subtipos que definamos para que de esta manera podamos extender la definicion del objeto. Esta propiedad esta orientada a la reusabilidad del codigo. Polimorfismo: dependiendo del tipo de objeto, el object manager siempre selecciona la implementacion de los atributos o metodos que correspondan. Estos elementos siempre se desarrollan utilizando el principio de late binding.

La definicin de los tipos de objetos se hace a travs del Business Object Builder (BOB).

17

Definicin e Implementacin de Business Objects


Business Object Repository (BOR)
El BOR es un entorno de desarrollo y ejecucin completo, que permite manejar los siguientes tipos de objetos:
Objetos del negocio: Incluyen objetos como "Cliente", "Material", y "Cdigo de Compaa". Proveen tanto una visin de alto nivel orientada a los negocios como una interface de programacin del sistema R/3. Objetos tcnicos: Incluyen textos, notas, tems de trabajo y documentos, as como objetos de escritorio como textos, grficos y hojas de clculo. Metaobjects: Cada objeto tiene un atributo Tipo de Objeto que hace referencia al metaobjects al que est asignado. Los mtodos, atributos y eventos disponibles para un objeto en particular pueden ser recuperados desde su Tipo de Objeto.

18

Definicin e Implementacion de Business Objects


Instancias (Objectos)
Un tipo de objeto (clases) describe un objeto de negocio abstracto, los datos que le pertenecen, mtodos, etc. Los tipos de objetos pueden ser hederados. Los tipos de objetos heredados contienen todos los mtodos y campos de datos de los objetos de los cuales heredan. Esto permite el polimorfismo, que combina los atributos de distintos objetos especializados. El polimorfismo puede ser utilizado tambin por interfaces definidas (atributos y mtodos) de objetos. La herencia mltiple no es actualmente soportada directamente por los objetos de negocio de SAP. Un objeto puede implementar varias interfaces. Las instancias de un objeto de negocio contienen datos actuales, por ejemplo, una orden de cliente. Asi pueden existir muchas instancias de un tipo de objeto.

19

Definicin e Implementacin de Business Objects


Instancias (Objectos)
Para trabajar con un objeto de negocio, debe primero crearse una instancia del objeto. Cuando se crea una instancia, existen dos tipos de objetos: persistente y no persistente. Los objetos persistentes contienen datos de las bases de datos R/3. Tienen un identificador nico determinado por el campo clave. Los objetos no persistentes no estn ligados a entradas concretas de base de datos. Por ejemplo, son utilizados para visualizar datos, o para crear nuevos objetos de negocio persistentes.

20

Definicin e Implementacin de Business Objects


Interfases: Definicin
La utilizacin de interfaces en el desarrollo de tipos de objetos nos permitir asegurar un entorno comn para todos los objetos. La definicin de una interfase es similar a la definicin de un tipo de objeto con la diferencia que no se implementaran ninguno de los elementos contenidos en la interfase (es decir que es un molde que no contiene cdigo ABAP) Un tipo de objeto que implemente una inteface deber entonces definir (codificar) todos los atributos y metodos que la interface propone. Las interfaces se heredan Las interfaces en SAP se utilizan para reemplazar la herencia multiple. Esto se da por que es mas sencillo de mantenerlas que un tipo de objeto.

21

Definicin e Implementacin de Business Objects


Interfases: Ejemplos

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

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Campos Clave (Key)
Un objeto se identifica univocamente de otro a travs de su clave. Una clave puede estar compuesta de uno o mas campos Hacen referencia a un campo clave de una tabla de la aplicacin subyacente El mandante no es necesario en las claves Deben ser campos tipo carcter (CHAR). Los campos clave concatenados pueden contener un mximo de 70 caracteres.

23

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Atributos
Un atributo de un objeto representa determinada caracterstica que este objeto puede llegar a tener. En SAP los atributos pueden ser de base de datos o virtuales. En cuanto a su definicin pueden estar relacionados a un tipo de dato de la base de datos o a un tipo de objeto (para asociaciones o composiciones) Pueden ser de una lnea o varias lneas (single-line o multiple-line)

24

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Atributos Virtuales
Un atributo virtual es un atributo calculado, es decir que se requiere programacin para poder obtenerlo (no viene directamente de la base de datos). El Business Object Builder no puede generar el cdigo para un atributo virtual automticamente (como sucede con los atributos de base de datos) por lo que deben ser explicitamente codificados. Ejemplos donde son necesarios atributos virtuales:
Datos dependientes de lenguaje Datos dependientes del tiempo Referencias a objetos Calculo de valores netos - brutos

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

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Atributos Multi-lineales (multi-line)
Se corresponden a lo que en ABAP denominamos tablas internas Pueden contener campos de base de datos u objetos. Generalmente son atributos virtuales.

26

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Mtodos (Sincrnicos y Asincrnicos)
Los mtodos son las actividades que podemos llevar a cabo sobre un objeto Pueden ser sincrnicos o asincrnicos
En los Sincrnicos el resultado es enviado directamente al programa que lo ejecuto. Adems es posible la utilizacin de excepciones. En los mtodos Asincrnicos el resultado siempre es enviado de vuelta al programa llamador en la forma de un evento. Solo se permiten algunas exceptiones (restringidas). El mtodo en si mismo no espera un posible evento finalizador.

Ambos tipos de mtodos pueden recibir datos a travs de parmetros (parmetros de importacin)

27

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Mtodos Asincrnicos (detalle)

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

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Mtodo (comunicacin)
Comunicacin va parmetros
Import Export

Comunicacin a travs de resultados Comunicacin va excepciones


Error temporal Error de Sistema Error de Aplicacin

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

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Mtodo (comunicacin)
Los parmetros de tipo export deberan prohibirse. Lo mejor es comunicarse a travs de resultados. Si durante la ejecucin del mtodo el objeto al que se esta haciendo referencia cambia en la base de datos, este objeto debe refrescarse (una manera de comunicar el resultado) para ello existe la macro SWC_REFRESH_OBJECT. El tipo de excepcin que se enve al sistema de workflow determinara la manera en que se contine o no la ejecucin del workflow (dejando el workitem en estado errneo o en proceso) Los resultados por excepciones se programan mediante la macro EXIT_RETURN. Otras macros utilizadas para crear excepciones son EXIT_OBJECT_NOT_FOUND y EXIT_CANCELLED. Esta ltima se utiliza cuando el usuario cancela la ejecucin de un mtodo (generando un error temporal).

30

Definicin e Implementacin de Business Objects


Tipos de Objetos Elementos: Eventos
Un evento se utiliza principalmente para indicar que algo a sucedido. Estos son indispensables para iniciar o terminar workflows. La definicin del evento se hace en el Business Object Builder, pero su implementacin se hace con otras herramientas, por ello la documentacin de los eventos es indispensable. Los eventos llevan y traen parmetros. Los parmetros pueden ser definidos por el usuario (explcitamente) o standards los cuales no se definen (objeto lanzador, usuario que lanza el objeto, fecha, hora, etc.).

31

Definicin e Implementacin de Business Objects


Estado de un Tipo de Objeto
Modelado
En este estado el tipo de objeto no se puede instanciar. Es decir no se puden generar objetos para este tipo. Solo para pruebas, uso interno o posiblemente inestable Liberado para ser utilizado por el cliente. Solo se podrn realizar ampliaciones pero no modificar radicalmente el tipo. El tipo de objeto ha sido reemplazado por otro.

Implementado

Liberado

Obsoleto

32

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Datos Generales
Nombre del objeto
Debe ser un nombre descriptivo para todos los objetos de este tipo. Cuando utilicemos un objeto como elemento del contenedor de workflow este ser el nombre que nos aparecer para definir la variable del contenedor. Este mtodo es el que se utiliza para visualizar el objeto (por ejemplo cuando tenemos el objeto como un link en el workplace del workitem y al hacer doble click nos muestra el contenido de ese objeto o nos lleva a la pantalla para visualizar el objeto) Es un atributo identificativo del objeto instanciado. Se utiliza para cuando se quieren emitir listados de objetos para que aparezca ese dato por defecto.

Mtodo por defecto

Atributo por defecto

33

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Campos Clave
Cada tipo de objeto tiene un programa que lo implementa. El desarrollo de un tipo de objetos se basa en MACROS que se encuentran en el include <OBJECT>, por eso todos los programas que implementan un tipo de objeto empiezan con la sentencia include <object>. El Business Object Builder siempre utiliza referencias a objetos para trabajar. Estas referencias las utiliza para leer y manipular los datos de la aplicacin. En el programa del tipo de objeto podemos crear una referencia a un objeto con la macro SWC_CREATE_OBJECT. El programa del tipo de objeto puede utilizar una referencia del objeto que e esta ejecutando, es decir una referencia a si mismo. Esta variable se llama SELF. Las claves se definen con el Business Object Builder y el programa se genera automticamente (no es necesario programar la definicin de las claves).

34

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Campos Clave
Para crear una clave debemos indicar el nombre (en ingles) una descripcin (en cualquier idioma), y una referencia a un tipo de dato de una tabla de la aplicacin. Luego en el programa del tipo de objeto vemos que la clave se define entre las sentencias BEGIN OF KEY y END OF KEY.

35

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Atributos de Base de Datos
- Cuando creamos un atributo de base de

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

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Atributos de Base de Datos
Al crear el atributo el sistema nos propone definir automticamente el programa. Luego este programa podr ser reutilizado para todos los atributos que apunten a la misma tabla. El atributo estar definido por las sentencias GET_TABLE_PROPERTY y END_PROPERTY. De no encontrar nada el sistema utiliza la excepcin EXIT_OBJECT_NOT_FOUND.

37

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Atributos Virtuales
- Al crear el atributo virtual el sistema no generara el cdigo automticamente pero si nos presentara donde debemos colocar el programa (entre las clausulas GET_PROPERTY y END_PROPERTY. - El atributo se crea mediante el programa (como una variable) y luego se coloca como resultado en el container del objeto mediante la macro SWC_SET_ELEMENT. - En el caso de que el atributo virtual sea un objeto deberemos instanciar un objeto (conociendo como completar la clave) mediante la macro SWC_CREATE_OBJECT.

38

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Atributos de Mltiples Lneas
- Al crear el atributo de mltiples lneas el sistema tampoco generara el cdigo automticamente pero si nos presentara donde debemos colocar el programa. - En el caso de los atributos mltiples se trabaja al atributo como una tabla interna. -El atributo se colocar en el contenedor con la macro SWC_SET_TABLE.

39

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Mtodos Sincrnicos
- Para crear un mtodo sincrnico debemos marcarlo como tal en la pantalla de atributos del mtodo. - En el programa del tipo de objeto la definicin del mtodo se encuadra dentro de las sentencias BEGIN_METHOD y END_METHOD. - En el caso que el mtodo modifique algn atributo del objeto deberemos ejecutar la macro SWC_REFRESH_OBJECT para borrar el buffer del objeto. - En el ejemplo se muestra como llamar a una transaccin con un mtodo.

40

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Mtodos Asincrnicos
- En el caso de los mtodos asincrnicos no ser necesario llamar la macro SWC_REFRESH_OBJECT por que el contexto del objeto siempre se pierde al llamar el mtodo. - La ejecucin del evento terminador debe darse en la transaccin o el programa que ejecuta el mtodo. - La tarea de workflow que llame a un objeto asincrnico SIEMPRE esperar el evento terminador. Por este motivo debemos tener cuidado que el programa / transaccin / modulo de funcione / etc que ejecute el mtodo siempre lance un evento.

41

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Implementando excepciones en los mtodos

- 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

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Completando parmetros de los mtodos

- 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

Definicin e Implementacin de Business Objects


Desarrollo de un Tipo de Objeto: Completando resultados de los mtodos

- 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

Definicin e Implementacin de Business Objects


Utilizando un Objeto en un programa: Accediendo a los Atributos
- 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 atributo debemos crear una instancia de un tipo de objeto. Para ello usamos la macro SWC_CREATE_OBJECT. - Una vez creado el objeto podremos acceder a sus atributos con las macros SWC_GET_PROPERTY o SWC_GET_TABLE_PROPERTY (para atributos multi-linea) - Los atributos no pueden modificarse por macros. Solo podrn modificarse llamando a mtodos que implementen el cambio.
45

Definicin e Implementacin de Business Objects


Utilizando un Objeto en un programa: Accediendo a los Mtodos

- 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

parmetros de salida (export).

46

Definicin e Implementacin de Business Objects


Resumen de MACROS
Todas las macros para manipular objetos se encuentran en el programa include <CNTN01>. Todos los objetos pueden manipularse fuera del sistema workflow via macros.

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

Definicin e Implementacin de Business Objects


Resumen de MACROS Disparando Excepciones
EXIT_RETURN <NRO_EXCEPCION> <VAR1> .. <VAR4> EXIT_OBJECT_NOT_FOUND EXIT_CANCELLED

Tomar el tipo y la clave de un objeto


SWC_GET_OBJECT_TYPE <OBJ_REF> <OBJ_TYPE> SWC_GET_OBJECT_KEY <OBJ_REF> <OBJ_KEY>

Refrescar el objeto
SWC_REFRESH_OBJECT <OBJ_REF>

48

Definicin e Implementacin de Business Objects


Resumen de MACROS macros para manejar el contenedor de datos Definicin e Inicializacin
SWC_CONTAINER <variable> SWC_CREATE_CONTAINER <variable>

Leer y Escribir en el contenedor


SWC_GET/SET_ELEMENT <contenedor> <elemento> <valor> SWC_GET/SET_TABLE <contenedor> <elemento> <tabla interna>

49

Definicin e Implementacin de Business Objects


Delegacin
Problema
Como podemos crear nuestras propias extensiones de objetos para poder usar en tareas, eventos, etc. De un objeto creado por SAP sin tener que cambiar TODAS las tareas, eventos, etc.? Definir un Sub-Tipo (herencia) y delegarlo en el supertipo La delegacin hace que el sub-tipo cubra al supertipo De esta manera podemos seguir haciendo referencia al supertipo en las tareas, eventos, etc.

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

Definicin e Implementacin de Business Objects


Delegacin

51

Definicin e Implementacin de Business Objects


Es posible utilizar la DELEGACIN para realzar la funcionalidad de los tipos de ojetos SAP. Los subtipos ofrecen la oportunidad de
Atributos adicionales Mtodos adicionales Eventos adicionales

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

Definicin e Implementacin de Business Objects


Tipos de Objetos Especficos
SELFITEM provee la funcionalidad para enviar un correo desde el workflow. SOFM para implementar objetos SAPOffice STD_TEXT puede ser utilizado para integrar texto SAP en un correo enviado en un workflow. Use el tipo de objeto TSTC para ejecutar una transaccn en un paso de workflow. Use el tipo de objeto TRDIR para ejecutar un reporte o programa en un paso workflow.

53

SAP Business Workflow


Workflow Builder
November 25, 2008

Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones

Ejemplo de definicin de un workflow con el Workflow Builder

Introduccin al Workflow Builder


El Workflow Builder es la herramienta utilizada para crear y editar la definicin de un workflow El Workflow Builder permite definir entre otras cosas:
Pasos Disparadores de eventos La interface de datos (definida en el container del workflow)

Introduccin al Workflow Builder


El objetivo del Workflow Builder es la definicin del workflow

Introduccin al Workflow Builder


Acceso al Workflow Builder
Transaccin SWDD

Caractersticas del Workflow Builder


rea de navegacin y visualizacin Modelo orientado a bloques La modelizacin top-down es posible Funciones especiales como cortar, pegar, mover, copiar Imprimir Verificacin y activacin Funcionalidad drag and drop Los pasos y eventos se muestran grficamente en una red Cada definicin de workflows tiene asignado un usuario responsable de su administracin

Introduccin al Workflow Builder



Area de objetos Permite visualizar cada uno de los pasos, con su nmero de nodo y descripcin. Es tambin utilizada para la administracin del contenedor de workflow. Usando el menu de contexto, es posible crear, cambiar, visualizar, borrar, renombrar elementos del contenedor. Permite el mantenimiento del contenedor de workflow directamente en el Workflow Builder. Provee una visin general de plantillas de documentos. Aumenta la velocidad en la bsqueda de objetos existentes por el uso del Explorer. Area de tareas Es posible utilizar tareas ya existentes en la definicin de un workflow, solo es necesario encontrarlas. Permite visualizar todas las tareas y otros workflows relevantes.
6

Introduccin al Workflow Builder

Navegacin y mantenimiento de datos

Navegacin grfica

Caja de herramientas de tareas disponibles

Representacin grfica de la definicin del workflow

Caja de herramientas

Colector de mensajes con capacidad de navegacin

Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones

Ejemplo de definicin de un workflow con el Workflow Builder

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

Visualizacin del paso Pasos en proceso paralelo

Monitoreo del plazo de los pasos Asignar y nombrar sucesores para cada paso Operaciones en modo de bloqueo

Control de procesos internos


Condicin Condicin mltiple Creador de evento Espera de evento Contenedor de operacin Loop (UNTIL) Loop (WHILE) Bucle

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

Ejemplo de definicin de un workflow con el Workflow Builder

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)

Ejemplos de un solo paso


Emitir una factura Liberar una solicitud de pedido

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)

Definir el texto de la tarea para comunicaciones


Puede crearse el texto en varios idiomas Pueden utilizarse variables contenidas en el contenedor de la tarea

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

Se puede definir la tarea para trabajar con Formularios, Internet y SAPPhone


Por ejemplo una tarea que se iniciara cuando un cliente llame a una central telefnica y el sistema telefnico solicite el numero al cliente se iniciara un workflow de conversacin.

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)

Confirmar fin de procesamiento


Esta opcin se marca cuando se desea que el usuario confirme cuando el workitem estar completo. Mientras que no sea confirmado el workitem permanecer activo en el inbox del agente responsable.

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

Paso no en log workflow


Al marcar esta opcin el workitem no aparecer en los logs del workflow (si aparecer en el log tcnico.
40

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

Ejemplo de definicin de un workflow con el Workflow Builder

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

Ejemplo de definicin de un workflow con el Workflow Builder

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

Observar como pasan los datos de un contenedor a otro

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.

Existen distintos caminos para obtener datos en el contenedor de workflow


Desde los elementos del contenedor de un evento disparador. Desde un paso de operacin de contenedor. Desde los parmetros exportados o resultados de una tarea.

64

Contenidos
Introduccin al Workflow Builder Definicin de Pasos Definicin de Tareas Grupo de Tareas Contenedores Temas Adicionales
Transacciones de Inicio Traducciones

Ejemplo de definicin de un workflow con el Workflow Builder

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

Ejemplo de definicin de un workflow con el Workflow Builder

70

Ejemplo de Definicin de un Workflow


Detalle de Escenario
En el sistema trabajamos con notificaciones de mantenimiento las cuales generan documentos de medicin. Estos documentos de medicin a su vez generaran ordenes de mantenimiento preventivo. Cuando una orden de mantenimiento preventivo se libera deberemos enviar una notificacin al responsable.

Pre-requisitos: evaluar el Business Object de orden de mantenimiento y modificarlo en el caso que sea necesario para adaptarlo al escenario.
71

SAP Business Workflow


Agentes y Estructura Organizativa
November 25, 2008

Objetivos del Curso


Objetivos
Son objetivos de este curso

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

Estructura Organizativa en la asignacin de agentes

Trabajando sin la Estructura Organizativa

Conociendo la Asignacin de Agentes


Introduccin
Cada work item (entendiendo por work item a la instancia en tiempo de ejecucin de un paso del workflow) puede ser procesado por:
El sistema de workflows, utilizando el usuario WF-BATCH Un agente

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.

Conociendo la Asignacin de Agentes


Introduccin
Antes de empezar debemos saber:
Como un agente recibe, visualiza y completa un work item. Las diferentes maneras en que el workflow asigna agentes a un work item. Como los agentes son identificados en el sistema (a traves de su user ID y objetos organizacionales). Las diferentes tcnicas que pueden ser usadas para determinar el agente correcto para un work item.

Conociendo la Asignacin de Agentes


Asignacin de Agentes
El sistema de workflows deber trabajar con grupos de agentes para poder determinar los responsables finales de la ejecucin de un work item. Cuando estamos diseando, implementando y manteniendo un workflow, debemos entender como el sistema de workflow ve estos grupos de agentes. Los grupos de agentes son:
Agentes Posibles
Son quienes estan permitidos para ejecutar el trabajo

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.

Conociendo la Asignacin de Agentes


Asignacin de Agentes
Agentes Posibles

Agente Excluido

Receptor

Receptor

Agentes Responsables

Conociendo la Asignacin de Agentes


Agentes Posibles
Los agentes posibles son aquellos que tienen permitido ejecutar una determinada tarea. Los agentes posibles siempre se asignan en la tarea segn la cual se basaran muchos work items pero no un work item especifico en si mismo. Si una persona no esta en el grupo de agentes posibles entonces nunca podr ejecutar la tarea. Adicionalmente se puede marcar una tarea como general. En este caso todos los usuarios sern posibles agentes de la tarea.
8

Conociendo la Asignacin de Agentes


Agentes Responsables
Los agentes responsables son aquellos que queremos para que ejecuten un work item en particular. Los agentes responsables son comnmente asignados al crear un paso en el workflow builder. Tambin pueden ser asignados a travs de reglas o papeles a nivel de la tarea. Con las reglas los agentes responsables se asignan dinmicamente en tiempo de ejecucin. Siempre son agentes posibles

Conociendo la Asignacin de Agentes


Agentes Excluidos
Los agentes excluidos son aquellos que NO queremos que ejecuten un work item en particular. Los agentes excluidos siempre se definen en el workflow builder al crear un paso para una tarea.

10

Conociendo la Asignacin de Agentes


Receptores
Los receptores son aquellos que automticamente reciben un work item en su inbox cuando el workflow crea el workitem. Tambin son conocidos como agentes seleccionados. Los receptores son:
Los posibles agentes para una tarea Restringidos a las lista de agentes responsables para un workitem No son miembros de la lista de agentes excluidos

Dado esto podemos notar


Que si no hay agentes posibles NADIE recibir el workitem Si no se define un agente responsable en el paso, el sistema buscara la regla por defecto de la tarea, si no hay regla todos los posibles agentes recibirn el workitem (excluyendo a los agentes excluidos).

11

Conociendo la Asignacin de Agentes


Receptores
Un receptor podr hacer un re-envo de un work item a otro usuario. En este caso existen varias posibilidades
General Task: los work items podrn ser re enviados a cualquier usuario. General Forwarding: los work items podrn ser re-enviados a cualquier usuario (pero existe una lista de agentes posibles) No General Forwarding: los work items solo podrn ser re-enviados a los agentes posibles

12

Conociendo la Asignacin de Agentes


Agente Actual
Mientras que un work item se este procesando el agente actual es aquel que este procesando el work item (lo tiene tomado) Una vez completado el work item, el agente actual ser el que haya procesado el work item en ltimo lugar.

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

Conociendo la Asignacin de Agentes


Agentes de Notificacin y Plazos
Cuando se esta diseando el workflow podremos tener en cuenta dos tipos de agentes muy utiles: los agentes de notificacion y los agentes para plazos. Agentes para Plazos
Son aquellos que recibirn un work item que haya vencido, es decir que se le fijo un plazo y el plazo se alcanz.

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

Estructura Organizativa en la asignacin de agentes

Trabajando sin la Estructura Organizativa

15

Estructura Organizativa en la Asignacin de Agentes


Introduccin
Cada agente en el sistema de workflow debe tener un user ID de SAP. Cada vez que se este asignando un agente posible, responsable o excluido estaremos asignando de manera implcita un usuario SAP. Desafortunadamente mantener usuario por usuario todos los agentes es una tarea excesivamente tediosa. Dado que pueden existir mltiples workflows, mltiples usuarios, etc. A su vez no debemos olvidar que los usuarios son personas y como tal van cambiando de puesto, se van de la empresa, entran nuevos, etc. Por este motivo SAP ha diseado una manera mucho mejor de mantener la asignacin de usuarios al workflow y esta manera es a travs de un plan organizacional.

16

Estructura Organizativa en la Asignacin de Agentes


El Plan Organizacional Bsico
El plan organizacional bsico consiste en una serie de relaciones, representadas como una estructura organizativa jerrquica entre diferentes elementos organizacionales tales como:
Unidades Organizativas
Cada unidad organizativa representa un grupo de personas como un equipo, un departamento, una seccin, un rea de trabajo, un laboratorio, etc.

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

Estructura Organizativa en la Asignacin de Agentes


El Plan Organizacional Bsico
La mayora de los objetos organizativos tienen un cdigo, una descripcin y un periodo de validez. Por defecto el periodo de validez se asigna con la fecha del da de la creacin del objeto y como fecha de vencimiento ser 31 de Diciembre de 9999. No obstante el periodo se puede cambiar. Los objetos organizativos y sus relaciones se mantienen a travs de las transacciones de gestin organizativa (PPOM o PPOMW para workflows)

18

Estructura Organizativa en la Asignacin de Agentes


El Plan Organizacional Bsico

Bsqueda

Seleccin

Estructura

Detalles

19

Estructura Organizativa en la Asignacin de Agentes


Mantenimiento del Plan: Crear una unidad organizacional
1. Presionar el botn crear

2. Seleccionar Unidad Organizativa

3. Indicar un codigo una descripcin y el periodo de validez

20

Estructura Organizativa en la Asignacin de Agentes


Mantenimiento del Plan: Crear una funcin
1. Desde el men seleccionar Tratar Crear Funciones

2. Colocamos un cdigo y una descripcin

21

Estructura Organizativa en la Asignacin de Agentes


Mantenimiento del Plan: Crear una posicin
1. Pararse sobre una unidad organizativa y presionar el botn crear

2. Marcamos la opcin posicion y presionamos intro

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

Estructura Organizativa en la Asignacin de Agentes


Mantenimiento del Plan: Asignar un usuario
1. Nos paramos sobre la posicin y presionamos el botn asignar.

2.Seleccionamos titular y elegimos un usuario

23

Estructura Organizativa en la Asignacin de Agentes


Resultado Final

24

Estructura Organizativa en la Asignacin de Agentes


Reasignacin de usuarios
Haciendo DRAG-AND-DROP podremos reasignar usuarios entre distintas posiciones. Presionando el botn para borrar, se podrn borrar tanto las asignaciones como los objetos. Tener sumo cuidado que el borrar la asignacin DEJARA el objeto creado y no asignado a ninguna posicin!

25

Estructura Organizativa en la Asignacin de Agentes


Transporte de la estructura organizativa
Es potencialmente problemtico transportar la estructura organizativa, sobre todo si la estructura ha sido creada en el entorno de desarrollo y ha sido utilizada por los desarrolladores para sus pruebas. Adems no siempre la base de usuarios es la misma en desarrollo que en productivo, por lo que al transportar los cambios si se transportan tambin las asignaciones con los usuarios el transporte fallar siempre y habr que reasignar los usuarios en productivo, lo cual es una tarea tediosa y lenta. Para transportar la versin activa del plan tendremos que tener en cuenta entonces que es lo que queremos pasar, es decir que parte de la estructura se desea pasar, una vez que tengamos claro esto podremos proceder al transporte. RECOMENDACIN: de ser posible y si la estructura de sistemas de la empresa lo permite tener un sistema copia de productivo y mantener la estructura organizativa en ese sistema y no en desarrollo.

26

Estructura Organizativa en la Asignacin de Agentes


Transporte de la estructura organizativa
Cuando se cree por primera vez la estructura organizativa, el sistema pedir una orden de transporte. Cuando se modifique la estructura (cambiando objetos existentes o creando nuevos) tambin pedir ordenes de transporte. No obstante podremos pasar toda la estructura organizativa o partes de ella utilizando una herramienta que posee el sistema para tal fin.

27

Estructura Organizativa en la Asignacin de Agentes


Transporte de la estructura organizativa

1. Seleccionar objetos de la estructura.

2. Seleccin por periodo de validez.

3. Marcar las opciones del transporte.

28

Estructura Organizativa en la Asignacin de Agentes


Transporte de la estructura organizativa
1. Seleccionamos los objetos y presionamos el botn para crear el transporte

2. Luego creamos el transporte, liberamos y transportamos

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

Estructura Organizativa en la asignacin de agentes

Trabajando sin la Estructura Organizativa

30

Trabajando sin la Estructura Organizativa


Mantener el plan organizativo puede ser tedioso, sobre todo si no hay un departamento de Recursos Humanos u otro dedicado a este tema. Es por ello que muchos se preguntan: Es necesario el plan organizativo para el sistema de workflow?
La respuesta es NO. Existen alternativas al plan organizativo

Estas alternativas incluyen:


Utilizando listas de distribucin de usuarios Utilizando reglas asignadas directamente a los usuarios (papeles) Utilizando tablas propias y mdulos de funciones desarrollados internamente.

Para estas alternativas debemos:


O bien marcar las tareas como generales O bien usar roles de seguridad del sistema como posibles agentes.
31

Determinacin de Agentes (routing)


November 25, 2008

SAP Business Workflow

Objetivos del Curso


Objetivos

Son objetivos de este curso

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 mdulos de funcin


La determinacin de los agentes responsables se realiza por programas ABAP (mdulos de funciones). Con este medio es posible realizar cualquier tipo de determinacin de agentes.

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

Restringiendo Posibles Agentes


Una tarea de dialogo tiene pre-definidos los posibles agentes. Solo los posibles agentes estn permitidos para ejecutar el correspondiente workitem a tiempo. Los roles son usados para obtener los usuarios responsables utilizando datos que solo pueden saberse en tiempo de ejecucin del workflow. Todos los agentes responsables, los cuales son tambin posibles agentes, reciben un workitem y son llamados receptores.

Restringiendo Posibles Agentes


La asignacin de posibles agentes o la restriccin de los mismos se hace a travs de la actualizacin de tareas

Modificando la tarea (o crendola) se puede acceder a la gestin de responsables a travs del men

Restringiendo Posibles Agentes


La tarea puede marcarse como general de esta manera todos los usuarios quedarn como posibles agentes.

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.

Restringiendo Posibles Agentes


Con los conos de asignar y desasignar se pueden ir agregando elementos de la estructura organizativa (unidades organizativas, puestos, tareas, etc.). Si el elemento organizativo tiene asignado usuarios en la lista de responsables asignados nos aparecern bajo los elementos org. asignados (ver en la imagen los usuarios en verde)

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

Asignando Responsables en las Tareas


En el momento de definir las tareas ya se han asignado los posibles agentes Luego al crear el workflow se deben configurar los agentes responsables de recibir los workitems La asignacin se hace configurando el usuario responsable directamente en la tarea (recordar que la tarea debe ser de dialogo, caso contrario el usuario responsable ser el usuario definido en el customizing de workflow para ejecutar tareas de fondo) Para la configuracin de responsables pueden usarse:
Elementos de la estructura organizativa Elementos del contenedor del workflow El iniciador del workflow El rol papel es superior de
12

Asignando Responsables en las Tareas

13

Asignando Responsables en las Tareas


Los elementos del contenedor se asignan como expresiones. Las variables del contenedor que se aplican como responsables deben ser del tipo WFSYSTINITIATOR (char de 14 caracteres) Si las variables del contenedor son calculadas recordar que siempre debe anteponerse el prefijo US y luego el usuario SAP. Por ejemplo si el usuario responsable es JPEREZ entonces en la variable se debe guardar el valor USJPEREZ.

14

Asignando Responsables en las Tareas


El iniciador del workflow es el usuario que activo la ejecucin del workflow. Esta variable se completa automticamente al generarse el evento y el evento es quien se encarga de pasarla al contenedor del workflow.

15

Asignando Responsables en las Tareas


El papel Superior... puede ser usado por ejemplo para guiar una peticin de vacaciones al line manager en cargo. En este caso Adams quiere ir de vacaciones y solo David Boss recibira este work item. Todos los dems posibles agentes no estaran preocupados con esta peticin.

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

En el customizing de WF se defini el rango de nmeros interno

Posteriormente aparecer la pantalla para definir el rol

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

= 'AC90000001' = ac_container = ac_agents = = = = = 1 2 3 4 5.

El nombre del rol se compone como AC + el cdigo generado por SAP

31

Utilizacin de Roles
Ejemplo de un programa para probar roles
REPORT ZTESTRULE . INCLUDE <CNTN01>.

PARAMETERS: p_ekorg TYPE EKKO-EKORG.

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

= 'AC90000001' = ac_container = ac_agents.

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

Determinacin de Agentes por Mdulos de Funcin


Este tipo de determinacin es un subtipo de la determinacin por roles. Cuando se define el rol se indica el tipo de rol como Funcion a Ejecutar y se coloca el nombre del modulo de funciones.

37

Determinacin de Agentes por Mdulos de Funcin


El mdulo de funciones debe ser creado por el cliente El papel debe tener un container definido con los datos necesarios que necesite el modulo de funciones para poder ejecutarse. El container del rol se debe completar con datos del container del workflow a travs de un binding (en tiempo de diseo) Finalmente el mdulo de funciones debe tener la siguiente interface:

38

Determinacin de Agentes por Mdulos de Funcin


La estructura lgica debe ser:
Leer los parmetros del rol (el contenedor del rol) Evaluar los parmetros de acuerdo a las necesidades internas Devolver los agentes encontrados o mostrar la excepcin nobody_found.

39

SAP Business Workflow


Eventos
November 25, 2008

Objetivos del Curso


Objetivos

Son objetivos de este curso

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

Relacionar un evento a un workflow


Definicin en el Workflow Builder Event Linkage Condiciones de Inicio

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.

Creador del Evento


Es el programa, workflow, persona que ha creado el evento.

Receptor del Evento


Es el termino genrico que se usa para denominar a todo aquello que reaccionar ante el evento. Normalmente son workflows o tareas de espera.

Linkage del Evento


El linkage especifica la relacin entre el evento y su receptor. Se pueden a su vez especificar las reglas que gobiernan esta relacin. Las reglas determinan cuando y como el receptor recibir 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

Relacionar un evento a un workflow


Definicin en el Workflow Builder Event Linkage Condiciones de Inicio

Desarrollos en Eventos
Llamar un evento de un programa Desarrollo de mdulos de funciones para eventos

Lanzando Eventos desde Aplicaciones SAP


Antes de que un evento sea lanzado por una aplicacin, la creacin del evento debe programarse en el programa de la aplicacin. Afortunadamente en muchos de los programas standard de SAP estn ya definidos los programas que lanzan los eventos y solo es necesario realizar el event linkage y determinadas configuraciones de customizing (ver la documentacin de cada modulo para saber como lanzar eventos http://help.sap.com). No obstante puede que para un proceso de negocio particular tengamos que crear un evento nuevo. En este caso deberemos definir como se lanzara el evento a partir de la aplicacin. En el caso que el evento deba lanzarse desde un programa propio (de cliente) podremos programar el lanzamiento del evento muy fcilmente utilizando las APIs que SAP provee para tal caso.

Lanzando Eventos desde Aplicaciones SAP


En el caso que debamos lanzar un nuevo evento desde un programa standard de SAP tenemos las siguientes posibilidades:
A travs de documentos de cambio (change documents) A travs del sistema de gestin de status A travs de control de mensajes Utilizando el sistema de informacin logstica (LIS) A travs de los datos maestros de HR A travs de Business Transaction Events (Solo para Finanzas) A travs de customizing especifico de cada aplicacin.

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

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Change Documents
Muchas aplicaciones de negocio en SAP utilizan documentos de cambio para dejar registro de las modificaciones hechas (generalmente transacciones de mantenimiento de datos maestros). Los documentos de cambio definen la operacin que provoca el cambio (modificacin, creacin o borrado) y registran los datos del objeto de negocio que ha cambiado en forma de tablas con el valor antiguo y el nuevo. Los documentos de cambio SOLO se escriben cuando un campo designado como relevante para change document cambia. Antes de definir un evento basado en un documento de cambio deberemos controlar que el cambio sera escrito como un documento de cambio, controlando el customizing de los campos o bien haciendo pruebas.

11

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Change Documents
Para crear un evento de este tipo vamos por la siguiente opcin de men

12

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Change Documents
Debemos indicar,
El cdigo de documento de cambio El business object El evento Bajo que actividad se lanzar
Creacin Modificacin Borrado

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

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Cambios de Status
Si una aplicacin de negocio utiliza el sistema de gestin de status, podremos configurar el lanzamiento de eventos a partir de un cambio de estatus del sistema. Las aplicaciones de negocio SAP que generalmente usan este sistema son las logsticas, principalmente PP, PM, PS, QM, etc. El sistema estndar viene por defecto con status predefinidos llamados status de sistema, no obstante y por customizing pueden definirse nuevos status (de cliente). Los status de sistema siempre son fijados por el sistema automticamente, mientras que los de cliente tienen que ser fijados por el usuario.

14

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Cambios de Status
Para crear un evento de este tipo vamos por la siguiente opcin de men

15

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Cambios de Status
Primero debemos seleccionar con que tipo de status trabajar, de sistema o de usuario.

16

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Cambios de Status
Luego deberemos seleccionar el tipo de objeto y su evento . Finalmente activarlo.

17

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Si una aplicacin de negocios usa control de mensajes para intercambiar informacin entre los distintos involucrados en el proceso de negocio podemos configurar un mensaje para lanzar eventos. Cuando el sistema de control de mensajes se ejecute, cualquier mensaje configurado ser lanzado. Por ejemplo al crear una orden de ventas o un pedido de compras se utilizan mensajes para imprimir la orden. Tambin podremos usar el mismo sistema para lanzar eventos. El tipo de mensaje que se utilice debe tener como medio de transmisin 9 Eventos de Workflow. La configuracin de mensajes se hace a travs de la transaccin NACE.

18

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Para configurar el mensaje primero entramos en la transaccin NACE

19

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Luego seleccionamos el objeto de negocio con el que deseamos trabajar y presionamos el botn Clases de Mensaje NOTA: previamente deben estar configuradas las secuencias de acceso y los esquemas de mensaje (consultar la documentacin de SAP)

20

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Creamos una nueva clase presionando el botn Entradas Nuevas Creamos el mensaje con un nombre EVEN Colocamos sus atributos

21

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Colocamos los textos y los interlocutores Finalmente ingresamos la rutina de proceso
Rutina RVNSWE01
Form CREATE_EVENT

22

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Una vez definido la clase de mensaje configuramos los registros de condicin seleccionando la clase de mensaje creada (EVEN)

23

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Seleccionamos la combinacin de claves deseada

24

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Creamos los registros con:
Clave de Seleccin (en el ejemplo es el tipo de documento) Funcin de interlocutor Tipo de mensaje (9 Eventos Workflow) Tipo de salida (4 Inmediatamente al grabar el documento)

25

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Control de Mensajes
Presionamos el botn Comunicacin Aqu indicamos el tipo de objeto y el evento que deseamos que el mensaje lance. En el ejemplo vemos que lanza el evento Created del objeto Pedido

26

Lanzando Eventos desde Aplicaciones SAP


Lanzando Eventos: Otros formas de lanzar eventos
Adems de las formas explicadas (las mas importantes) podremos definir otras maneras de lanzar eventos no tan habituales como ser:
Utilizando el LIS (sistema de informacin logstica) podremos definir reportes que lancen excepciones. Al lanzar la excepcin podremos configurar el sistema para que adicionalmente llame un evento (transaccin AWUW). A travs de cambios en los datos maestros del mdulo HR. Para este caso debemos relacionar un infotipo de HR al correspondiente tipo de objeto y activar el evento. Utilizando Business Transaction Events. Los business transaction events se utilizan para lanzar eventos relacionados a las aplicaciones financieras de SAP como contabilidad de mayores, cuentas a pagar y a cobrar, etc. Utilizando las APIs de Workflow en programas ABAP. Este punto lo veremos en detalle mas adelante durante la presentacin.

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

Relacionar un evento a un workflow


Definicin en el Workflow Builder Event Linkage Condiciones de Inicio

Desarrollos en Eventos
Llamar un evento de un programa Desarrollo de mdulos de funciones para eventos

28

Relacionar un Evento a un Workflow


Quines reaccionan a los eventos?
Un Workflow Un paso de tipo esperar por evento Una Tarea

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

Relacionar un Evento a un Workflow


Unir el Evento al Workflow
Para establecer el inicio automtico de un workflow a partir de un evento debemos indicrselo en la configuracin del workflow en el Workflow Builder (SWDD). Una vez posicionados el en workflow que deseamos iniciar con un evento, debemos pasar a la cabecera del workflow.

30

Relacionar un Evento a un Workflow


Unir el Evento al Workflow
En la cabecera indicaremos que tipo de objeto y evento lanzaran el workflow Al crear la relacin automticamente aparecer un binding ( datos desde el contenedor del evento al del workflow. ) que pasar

Podremos modificar el binding para agregar los parmetros que deseemos.

Los parametos _WF_Initiator y _EVT_Object se generan automticamente

31

Relacionar un Evento a un Workflow


Unir el Evento al Workflow
Finalmente deberemos activar el binding entre el workflow y el evento. Esta activacion en la jerga de workflow se denomina event linkage Tener en cuenta que esta actividad genera una orden de transporte de customizing.

Presionar aqu
32

Relacionar un Evento a un Workflow


Event Linkage
Otra forma de activar el linkage entre el evento y el workflow es a travs del siguiente men

33

Relacionar un Evento a un Workflow


Event Linkage
En esta transaccin nos aparecer una lista con todas las posibles relaciones entre un workflow y un evento, a su vez podremos ver si el linkage que los vincula esta o no activado.

Haciendo doble-click sobre un linkage pasaremos a ver sus detalles

34

Relacionar un Evento a un Workflow


Event Linkage
En esta pantalla principalmente podremos activar o desactivar el linkage, presionando sobre la opcin Acopl. Tipos activado. Luego podremos configurar opciones acerca de cmo el sistema reaccionar ante un error, pudiendo optar entre:
Desactivar el evento Marcar el acoplamiento (linkage) como errneo No modificar el acoplamiento

35

Relacionar un Evento a un Workflow


Event Linkage
Tambin deberemos indicarle cual es el programa receptor del evento. Por defecto para los workflows el programa es:
SWW_WI_CREATE_VIA_EVENT

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

Relacionar un Evento a un Workflow


Condiciones de Inicio
Anteriormente vimos como puede condicionarse el inicio de un workflow utilizando una funcin de verificacin en el linkage (luego veremos como programarla), Sin embargo esto puede ser un poco tedioso, sobre todo por que hay que desarrollar ABAP para lograrlo (aunque es la manera mas flexible de lograrlo). SAP provee una manera mucho mas fcil (no tan flexible pero bastante completa) de limitar el inicio de un workflow al dispararse un evento y esto es a travs de las condiciones de inicio.

37

Relacionar un Evento a un Workflow


Condiciones de Inicio
Para configurar condiciones de inicio seguir la siguiente opcin de men

38

Relacionar un Evento a un Workflow


Condiciones de Inicio
Para crear la condicin seleccionamos el tipo de objeto (en el ejemplo es la solicitud de pedido) Aparecern todos los eventos acoplados con workflow y seleccionamos uno.

39

Relacionar un Evento a un Workflow


Condiciones de Inicio
Utilizando las variables del contenedor del evento, creamos las condiciones lgicas que deseemos para que se cumpla o no el lanzamiento del workflow.

40

Relacionar un Evento a un Workflow


Finalizado la configuracin del linkage de eventos y workflow, y la correspondiente condicin de inicio, podremos verificar el evento. Para verificar los eventos podremos usar la transaccin para simular eventos (SWU0) o para crearlos (SWUE).

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

Relacionar un evento a un workflow


Definicin en el Workflow Builder Event Linkage Condiciones de Inicio

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

SAP Business Workflow


Administracin
November 25, 2008

Objetivos del Curso


Objetivos

Son objetivos de este curso

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.

D: missed deadline workitem

F: workflow workitem

B: background workitem

E: wait step 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.

Las funciones de los agentes muestran:


Agentes seleccionados Posibles agentes Agentes excluidos para un paso
14

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

Herramientas para el Anlisis de Problemas


Las siguientes herramientas estn disponibles para los desarrolladores y administradores

23

Herramientas para el anlisis de problemas


Antes de hacer ningn trabajo en el sistema de desarrollo del workflow, debe ver todas las luces verdes en la pantalla de Parametriza el sistema entero de workflow.'
Utilice la funcin de chequeo cada vez que tu pienses que hay un error en el sistema workflow.

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.

En el sistema de desarrollo, el trace de eventos puede encenderse.


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

Herramientas para Anlisis de Problemas


Verificacin del Customizing (SWU3)
Esta herramienta permite hacer un chequeo del customizing de workflow para poder determinar posibles problemas de configuracin

25

Herramientas para Anlisis de Problemas


Seleccin de Workitems (SWI1)
Esta herramienta permite visualizar en una lista un conjunto de workitems con un estatus dado y poder analizar luego uno a uno sus logs.

26

Herramientas para Anlisis de Problemas


Rastreo de Eventos (event trace - SWELS)
Puede usar el rastreo de eventos para establecer si un evento esperado actualmente fue desencadenado en el sistema. El rastreo de eventos siempre debe ser desactivado en el sistema de productivo. Es solo para entornos de pruebas!

27

Herramientas para Anlisis de Problemas


Iniciar Eventos Manualmente (SWU0 - SWUE)
Pueden simularse o crearse eventos. La simulacin solo generar el evento y mostrar los posibles receptores del mismo. La creacin del evento adems provocar la ejecucin de los receptores asociados, por ello debe adems informarse todos los parmetros del contenedor del evento.

28

Herramientas para Anlisis de Problemas


Rastreo de Workflows (workflow trace SWU8)
Tal como existe un rastreo de eventos, tambin existe el rastreo de workflows. Este nos indicar muchsima informacin tcnica de lo que va sucediendo en el sistema de workflow. En tiempo de desarrollo puede llegar a ser una herramienta muy til para poder depurar errores finos. El rastreo de workflows siempre debe ser desactivado en el sistema de productivo. Es solo para entornos de pruebas!

29

Herramientas para Anlisis de Problemas


Herramienta de Diagnstico (SWUD)
Si tiene una tarea que esta generando problemas puede empezar viendo que sucede con la herramienta de diagnostico. Esta herramienta se utiliza para encontrar distintos tipos de problemas (customizing, tareas que nunca se lanzan, workflows suspendidos, etc).

30

Contenidos
Reportes en Workflow Workflow Logs Herramientas para el Anlisis de Problemas Otros Reportes y Herramientas Importantes Problemas Comunes

31

Otros Reportes y Herramientas Importantes


Otros reportes que el sistema ofrece para analizar son:
SWI2_ADM1: Workitems sin responsables SWI2_DEAD: Workitems con fechas vencidas SWI2_DIAG: Anlisis de workitems SWU2: Monitor RFC de Workflow

A su vez podemos usar las siguientes herramientas:


SWI30: Desbloqueo de workflows SWIA: Ejecutar workitems sin responsables SWPR: Reanudar workitems tras errores SWPC: Reanudar workflows tras errores SWW_SARA: Archivar workitems SWWL: Borrar workitems

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).

Un workitem con status erroneo y el mensaje el correo no pudo enviarse


Este problema puede darse por un problema de binding en el caso de los datos que necesita la tarea para enviar correos no este recibiendo alguna variable obligatoria. En el caso de que todos los workitem asociados a envos de correo fallen seguramente se deba a algn problema en la configuracin del SAPConnector o el Exchange Connector (o el SAP WAS en el caso de que se este trabajando con esta plataforma).

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.

Un workitem de background que empieza pero nunca termina.


Esto puede ser un problema de relaciones entre eventos (iniciador terminador) o bien puede ser debido a un short dump en el proceso de fondo. En este caso se debera arreglar el problema y volver a ejecutar el workitem.

36

SAP Business Workflow


Business Workplace
November 25, 2008

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.

Elementos del Business Workplace

Texto del Work item Work items especiales

Consejos y trucos Descripcin de la tarea

Worklist

Objetos relacionados

rbol de previsualizacin

Previsualizacin de Work items


5

Elementos del Business Workplace


El Business Workplace tiene tres zonas diferenciadas, las cuales se detallan a continuacin:
rbol de previsualizacin: En la parte izquierda del Business Workplace, se encuentra el rbol de previsualizacin. Aqu se puede elegir work items para ser ejecutados, workflows que hayas empezado, o documentos. Worklist: La Worklist se mostrar en la esquina superior derecha de la pantalla del Business Workplace en el momento en que se seleccione la carpeta Workflow. El sistema agrupa las entradas automticamente en esta carpeta. Existen carpetas especiales donde se pueden encontrar work items, los cuales estn vencidos o estn a punto de vencer. Si se selecciona el inbox a traves del rbol, se vern todos los work items y documentos en esta parte de la pantalla.

Elementos del Business Workplace


Continuando la tercera zona
Previsualizacin de work items: Se encuentra en la esquina inferior derecha de la pantalla del Business Workplace, el wok item seleccionado en la worklist es mostrado de forma previa. No todas las funciones de los work items mostradas o registros del workflow estn disponibles. es posible ejecutar una decisin de un usuario desde la previsualizacin de work item. Tambin se puede utilizar una user exit para ajustar la previsualizacin del work item a las necesidades del usuario final.

Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP

Detalles de la Worklist (lista de Workitems)


Ejecutar Visualizar Aceptar Transmitir y Reenviar Visualizar Anexos

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

Detalles de la Worklist Se puede especificar, que la finalizacin de un paso en un


procedimiento de workflow sea confirmada explcitamente. Posteriormente a que un work item sea ejecutado, se puede hacer que aparezca un cuadro de dilogo en el cual se pueda terminar la ejecucin del work item. Si se elige Cancelar en este punto, el work item permanece en la worklist y se establece como ejecutado. Dentro de la worklist se puede seleccionar hecho para work item con el status ejecutado. Hasta que se realize esto, el work item puede ser ejecutado o reenviado en reiteradas ocasiones. especficos del usuario, por lo que dicha worklist mostrada, siempre corresponder a un usuario determinado, el cual puede cambiar de acuerdo a las asignacin organizativa del empleado. Por consiguiente, la worklist no es compilada hasta que el usuario llama al Business Workplace.

El contenido de la worklist es compilado basndose en datos

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.

S una nueva tarea es asignada al usuario despus de logarse, dicho usuario

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.

Se puede transmitir un work item a otro usuario para ejecutarlo. Las

Tu puedes volver a reenviar un work item a un servidor para almacenarlo y si


se quiere ejecutarlo en un momento especifico del tiempo en el futuro.

12

Worklist: Otras funciones


Configuracin individual de las columnas
Se puede configurar worklist individualmente seleccionando los campos Se puede configurar lala worklist individualmente seleccionando los campos que van ser mostrados. Para ello posicinese con el puntero en el icono que van a a ser mostrados. Para ello posicinese con el puntero en el icono sealado Seleccionar disposicion. Cambie dicho diseo seleccionando sealado Seleccionar disposicion. Cambie dicho diseo seleccionando los campos que van aparecer usando el puntero, grabe y seleccionelo. los campos que van a a aparecer usando el puntero, grabe y seleccionelo.

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

Vista Tcnica de un Workitem


La pantalla de visualizacin tcnica del work item contiene entre otros tipos la siguiente informacin:
Identificacin ID del work item. Mensajes. Contenedores.

16

Vista Tcnica de un Workitem


Los Anexos no aparecen de una manera inmediata y tienen que ser llamados a travs del men. El Workitem puede ser cambiado (esto se utiliza mucho para poder hacer un debug del Workitem en caso que tenga errores). Esta pantalla puede ser usada para diagnosis. Se ve el ID del Workitem, las fechas limites, y puede acceder a toda la informacin tcnica. Para acceder a la pantalla de la informacin tcnica seleccione del men: Opciones->Opciones workflow personales->Vista tcnica. Tambin se puede acceder a la informacin tcnica a travs de: Pasar a->Pantalla tcnica de Workitem.

17

Business Workplace: Resumen de funciones.


Otra informacin: Fechas limites de ejecucin Reenvi de work items Prioridades Status Anexos Descripcin de Work item Otras funciones: Usuarios. Mostrar historial Log de pasos Contenedores de informacin. Datos tcnicos

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

Se recoge toda la informacin y las actividades del entorno de un work item.

18

Contenidos
Definicin de Business Workplace Detalles de la Worklist Detalles de un Workitem Logs Detalles Adicionales en el marco del proyecto PPP

19

Business Workplace: Workflow Log


Muestra todos los receptores, a usuarios tanto posibles como excluidos

Vista cronolgica del proceso

Workflow Log

La lnea verde muestra el progreso del proceso Detalle de cada paso

Detalles de seccin

Grfico del log de Workflow

20

Detalles del Log de Workflow


El Workflow Log contiene toda la informacin sobre un proceso de negocio. Dependiendo de los roles funciones hay diferentes vistas: Vista estndar: Esta vista esta disponible en diferentes formatos. Cronologa: Por quien y cuando fue realizada una accin? Usuarios: Que usuario realiz una determinada actividad y cuando se hizo? Objetos: Donde, por quien y de que forma fueron procesados los posibles objetos? Vista tcnica. Grfico del Worflow Log.

21

Detalles del Log de Workflow


El Workflow Log responde a las siguientes preguntas: Cual es el status? Quien completo una tarea determinada? Que tipo de informacin es dirigida a un decisin especfica? El Log te da acceso a una informacin mas detallada, en relacin a los Workitems o contenidos de los documentos anexos. A travs de cualquier vista, tu puedes requerir informacin tcnica o adicional, tal como informacin de un error, condiciones para en enrutamiento de tareas o incluso cualquier contenedor de elementos.

22

Business Workplace: Bandeja de salida para seguimiento de status


Workflows procesados Status de cada paso del proceso

Work items ejecutados por ti

Work items lanzados por ti

Work items transmitidos por ti Esta pantalla aporta:

Usuarios responsables actuales

Una visin general rpida y sencilla


de procesos acometidos

Status de las tareas a primera vista. Desarrolla oportunidades de


responder a las necesidades de los clientes.

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

Detalles Adicionales para el proyecto PPP


En el proyecto PPP se han generado 5 workflows los cuales generan correos electrnicos (al servidor exchange de Readymix). De estos workflows 1 en particular genera workitems (para la toma de decisiones en la liberacin de pedidos). Estos workitems no son enviados como correos electrnicos y deben ser tratados en SAP. Para que los usuarios responsables de recibir y tratar estos workitems se enteren de que tienen datos pendientes para su tratamiento, existe un programa estndar de SAP que debe ser planificado con un JOB y que recorre todos los workitems cuyos responsables hayan decidido recibir la notificacin de elementos nuevos. El programa se llama RSWUWFML y debe parametrizarse mediante variantes.

25

Detalles Adicionales para el proyecto PPP


El programa contiene la siguiente pantalla de seleccin que deber configurarse:
El sufijo del Job Como mail colectivo Sin anexos ejecutables El texto que se desee para informar

26

Detalles Adicionales para el proyecto PPP


Luego cada usuario deber configurarse la transmisin automtica a un correo electrnico que desee para recibir la notificacin del programa. Esta configuracin se hace desde el Business Workplace por el men

Tambin se puede acceder directamente a travs de la transaccin SO13

27

Detalles Adicionales para el proyecto PPP


En la transaccin vamos a transmision automtica y creamos un nuevo destinatario presionando el botn Direccin de Internet. Colocamos el e-mail y guardamos los datos.

28

Datos Adicionales para el proyecto PPP


Por ultimo para que las tareas de envo de correo funcione enviando los correos al servidor Exchange debern configurarse las direcciones de correo electrnico de cada uno de los usuarios implicados en el sistema de workflow. Para ello se modifica el usuario con la transaccin SU02. En el rea de comunicacin se coloca el correo del usuario y se guardan los datos.

29