Está en la página 1de 352

SAP Business Workflow

Introduccin
2
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
3
Contenidos
Definicin de Workflow
Ventajas al utilizar Workflow
Terminologa Workflow
Arquitectura del Sistema Workflow
Ejemplos y Documentacin
4
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.
5
Definicin
El sistema de workflow cubre todos los aspectos del proceso
El Flujo
(actividades)
La Gente
(organizacin)
Los Efectos
(informacin)
6
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
7
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)
8
Contenidos
Definicin de Workflow
Ventajas al utilizar Workflow
Terminologa Workflow
Arquitectura del Sistema Workflow
Ejemplos
9
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)
10
Ventajas del Workflow
Coordinar Visita
Ajustar Limite de Crdito
Cambiar Plan Produccin
Representante de Ventas
Gestin de Crditos
Jefe de Produccin
Nuevo Cliente Importante
Televentas
Cambia el
maestro de
clientes
Evento
Change document
WorkFlow
11
Contenidos
Definicin de Workflow
Ventajas al utilizar Workflow
Terminologa Workflow
Arquitectura del Sistema Workflow
Ejemplos y Documentacin
12
Terminologa Workflow
Business Object
Paso
Tarea
Evento
Workflow
Business Workplace
Actividad
Papel
Agentes
13
Terminologa Workflow
Existen 5 preguntas clave para cada parte de un proceso de negocio
Quin?
Qu?
Cuando?
Con que
Objeto?
En qu
orden?
14
Terminologa Workflow
En qu orden?
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)
Workflow
15
Terminologa Workflow
Qu?
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.
Actividad / Tarea
16
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)
17
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
18
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
19
Contenidos
Definicin de Workflow
Ventajas al utilizar Workflow
Terminologa Workflow
Arquitectura del Sistema Workflow
Ejemplos y Documentacin
20
Arquitectura del Workflow
Arquitectura General del Sistema de Workflows
21
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).
Runtime system
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.
22
Arquitectura del Workflow
Componentes del Sistema Workflow
23
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.
24
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
25
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).
26
Arquitectura del Workflow
Definicin de una Tarea (General)
27
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
Objeto (en tiempo de ejecucin)
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.
Mtodos: Funciones permitidas para un objeto.
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).
28
Arquitectura del Workflow
Business Objects
29
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.
30
Contenidos
Definicin de Workflow
Ventajas al utilizar Workflow
Terminologa Workflow
Arquitectura del Sistema Workflow
Ejemplos y Documentacin
31
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.
32
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
33
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
November 25, 2008
SAP Business Workflow
Customizing
2
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
3
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
4
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
5
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.
6
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.
7
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.
8
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.
9
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
10
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.
11
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
12
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)
13
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).
November 25, 2008
SAP Business Workflow
Desarrollo
2
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
3
Contenidos
Introduccin
Definicin e Implementacin de Business Objects
4
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.
5
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
Modelizacin de la organizacin
Quin hace que?
Modelo Organizativo y Definicin de Papeles
Resultado: El trabajo es realizado por las personas responsables
Encapsulacin de la Aplicacin
Cules son los objetos que se necesitan?
Business Object Builder y Business Object Repository
Resultado: El trabajo se enva con la informacin necesaria
6
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
Control del proceso
Qu pasa cuando?
Herramientas: Workflow Manager y Workitem Manager
Resultado: El trabajo es realizado en la secuencia correcta en el momento
correcto
Evaluacin del proceso
Quin hizo que y cuando?
Herramientas: Reportes y Anlisis
7
Introduccin
Arquitectura
Nota: AB significa que el elemento A utiliza el elemento B
8
Introduccin
reas de la arquitectura donde requeriremos programacin
Nota: otras reas donde puede requerirse programacin son:
- Administracin
- Reportes
- Creacin de Workitems.
9
Contenidos
Introduccin
Definicin e Implementacin de Business Objects
10
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
11
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.
12
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
13
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
14
Definicin e Implementacin de Business Objects
15
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
16
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
17
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).
18
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.
19
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.
20
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.
21
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.
22
Definicin e Implementacin de Business Objects
Interfases: Ejemplos
BUS2069 Documento
contable
BUS2029 Precios
EKKODocumento 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
23
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.
24
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)
25
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.
26
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.
27
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)
28
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.
29
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.
30
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).
31
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.).
32
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.
Implementado
Solo para pruebas, uso interno o posiblemente inestable
Liberado
Liberado para ser utilizado por el cliente. Solo se podrn realizar ampliaciones pero no
modificar radicalmente el tipo.
Obsoleto
El tipo de objeto ha sido reemplazado por otro.
33
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.
Mtodo por defecto
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)
Atributo por defecto
Es un atributo identificativo del objeto instanciado. Se utiliza para cuando se quieren emitir
listados de objetos para que aparezca ese dato por defecto.
34
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).
35
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.
36
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.
37
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.
38
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.
39
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.
40
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.
41
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.
42
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.
43
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.
44
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.
45
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.
46
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).
47
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
Creacin
SWC_CREATE_OBJECT <OBJ_REF> <OBJ_TYPE> <OBJ_CLAVE>
Acceso a Atributos
SWC_GET_[TABLE]_PROPERTY <OBJ_REF> <ATRIBUTO> <VALOR>
Acceso a un Metodo
SWC_CALL_METHOD <OBJ_REF> <METODO> <CONTAINER CON VARIABLES>
48
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>
49
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>
50
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.?
Solucin
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.
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 sub-
tipo.
51
Definicin e Implementacin de Business Objects
Delegacin
52
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.
53
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.
November 25, 2008
SAP Business Workflow
Workflow Builder
2
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
3
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)
4
Introduccin al Workflow Builder
El objetivo del Workflow Builder es la definicin del workflow
5
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
6
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.
7
Introduccin al Workflow Builder
Navegacin
grfica
Caja de
herramientas
Navegacin y
mantenimiento de
datos
Caja de
herramientas de
tareas disponibles
Representacin
grfica de la
definicin del
workflow
Colector de mensajes con
capacidad de navegacin
8
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
9
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.
10
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
Control de procesos internos
Condicin mltiple
Espera de evento
Condicin
Creador de evento
Contenedor de operacin
Loop (UNTIL)
Loop (WHILE)
Bucle
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
11
Definicin de Pasos
Permite ejecutar dos o mas workitems en paralelo. El
workflow continuar cuando se cumplan ciertas
condiciones.
Procesamiento
Paralelo
Permite crear un evento. El contenedor del evento se
llena con datos del contenedor del workflow
Creador de
Evento
Permite crear un documento local a partir de una plantilla
y variables definidas en el contenedor del workflow
Documento con
Modelo
Este paso se utiliza para modificar los valores de una
variable en el contenedor del workflow.
Operacin en el
Contenedor
Basado en una variable del contenedor del workflow se
pueden generar diversos caminos a seguir.
Condicin Mltiple
Dependiendo del resultado de una condicin (verdadero
o falso) un camino u otro es seguido por el workflow.
Condicin
Ejecucin de una tarea en un workflow. Actividad
Descripcin Smbolo Tipo de Paso
12
Definicin de Pasos
Este paso se utiliza durante el desarrollo para dejar
espacios a completar.
Indeterminado
Permite enviar elementos del contenedor del workflow a
travs de mensajes XML o SOAP (pe. contra XI o BC)
Actividad WEB
El workflow se detendr en este paso hasta que no se
lance el evento especificado.
Esperar Evento
Se indica un destinatario y un texto para el envo de un
correo electrnico.
Enviar Correo
Se repiten una serie de pasos mientras se cumpla una
determinada condicin (puede no llegar a ejecutarse )
Loop (Mientras)
Se repiten una serie de pasos hasta que se cumpla una
determinada condicin (al menos 1 vez se ejecutan)
Loop (Hasta)
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.
Decisin de
Usuario
Descripcin Smbolo Tipo de Paso
13
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.
14
Definicin de Pasos
Creando un paso
Seleccionar el tipo de paso (en el ejemplo seleccionamos una actividad)
15
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.
16
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
17
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.
18
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.
19
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
20
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.
21
Definicin de Pasos
Creando un paso
22
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.
23
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)
24
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
25
Definicin de Pasos
Creando un paso
RESULTADO!!!
26
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.
27
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
28
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)
29
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?
30
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.
31
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
32
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.
33
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
34
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)
35
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.
36
Definicin de Tareas
La comunicacin entre las tareas y los mtodos es
Bidireccional
Se pasan parmetros
Resultados
Excepciones
37
Definicin de Tareas
Ejemplo de una tarea sincrnica (proyecto PPP)
38
Definicin de Tareas
Ejemplo de una tarea asincrnica (proyecto PPP)
39
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.
40
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.
41
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.
42
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
43
Grupo de Tareas
44
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)
45
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.
46
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
47
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.
48
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)
49
Contenedores
50
Contenedores
Ejemplo
51
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.
52
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.
53
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.
54
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).
55
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)
56
Contenedores
Definicin del contenedores (Workflow)
El contenedor de workflow se define al crear el workflow utilizando el
Workflow Builder (SWDD)
57
Contenedores
Definicin del contenedores (Tareas)
El contenedor de la tarea se define al crear o modificar la tarea con la
transaccin PFTC_CHG.
58
Contenedores
Definicin del contenedores (Papeles)
El contenedor de los papeles se define al crear o modificar el papel con la
transaccin PFAC_CHG.
59
Contenedores
Posibilidades de intercambio de datos entre contenedores (Bindings)
60
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
61
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
62
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
63
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.
64
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.
65
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
66
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
OfficeIniciar Workflow
Los usuarios que inician workflows a traves de shortcuts en su escritorio
Los programadores que desean hacer pruebas mientras desarrollan
67
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.
68
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.
69
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).
70
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
71
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.
November 25, 2008
SAP Business Workflow
Agentes y Estructura
Organizativa
2
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.
3
Contenidos
Conociendo la asignacin de agentes
Agentes Posibles
Agentes Responsables
Agentes Excluidos
Receptores
Agente actual
Agentes para notificaciones y plazos
Estructura Organizativa en la asignacin de agentes
El plan organizacional bsico
Mantenimiento del plan
Asignacin y reasignacin de usuarios
Transporte del plan
Trabajando sin la Estructura Organizativa
4
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.
5
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.
6
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.
7
Agentes Responsables
Conociendo la Asignacin de Agentes
Asignacin de Agentes
Agentes Posibles
Agente Excluido
Receptor
Receptor
8
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.
9
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
10
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.
11
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).
12
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
13
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
14
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.
15
Contenidos
Conociendo la asignacin de agentes
Agentes Posibles
Agentes Responsables
Agentes Excluidos
Receptores
Agente actual
Agentes para notificaciones y plazos
Estructura Organizativa en la asignacin de agentes
El plan organizacional bsico
Mantenimiento del plan
Asignacin y reasignacin de usuarios
Transporte del plan
Trabajando sin la Estructura Organizativa
16
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.
17
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.
18
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)
19
Estructura Organizativa en la Asignacin de Agentes
El Plan Organizacional Bsico
Bsqueda
Seleccin
Estructura
Detalles
20
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
21
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
22
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.
23
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
24
Estructura Organizativa en la Asignacin de Agentes
Resultado Final
25
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!
26
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.
27
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.
28
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.
29
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
30
Contenidos
Conociendo la asignacin de agentes
Agentes Posibles
Agentes Responsables
Agentes Excluidos
Receptores
Agente actual
Agentes para notificaciones y plazos
Estructura Organizativa en la asignacin de agentes
El plan organizacional bsico
Mantenimiento del plan
Asignacin y reasignacin de usuarios
Transporte del plan
Trabajando sin la Estructura Organizativa
31
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.
November 25, 2008
SAP Business Workflow
Determinacin de Agentes
(routing)
2
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.
3
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
4
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.
5
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
6
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
7
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.
8
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
9
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.
10
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)
11
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
12
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
13
Asignando Responsables en las Tareas
14
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 WFSYST-
INITIATOR (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.
15
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.
16
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.
17
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
18
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
19
Utilizacin de Roles
Pasos para crear un rol: (1) Acceder por el men a la transaccin de creacin
20
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
21
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
22
Utilizacin de Roles
Pasos para crear un rol: (4) Completar los datos identificativos del rol
Colocamos un cdigo y una descripcin (sigla y denominacin)
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: (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.)
25
Utilizacin de Roles
Pasos para crear un rol: (6) Indicamos una descripcin mas larga acerca de
cmo trabaja el rol
26
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.
27
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 *.
28
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
29
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
30
Utilizacin de Roles
Pasos para crear un rol: (8-3) Creando una competencia
Finalmente agregamos los objetos organizativos dentro de la competencia.
31
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 = 'AC90000001'
TABLES
ACTOR_CONTAINER = ac_container
ACTOR_TAB = ac_agents
EXCEPTIONS
NO_ACTIVE_PLVAR = 1
NO_ACTOR_FOUND = 2
EXCEPTION_OF_ROLE_RAISED = 3
NO_VALID_AGENT_DETERMINED = 4
OTHERS = 5.
El nombre del rol se compone como
AC + el cdigo generado por SAP
32
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 = 'AC90000001'
TABLES
ACTOR_CONTAINER = ac_container
ACTOR_TAB = ac_agents.
33
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.
34
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.
35
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
Mdulos de Funcin
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.
36
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
37
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.
38
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:
39
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.
November 25, 2008
SAP Business Workflow
Eventos
2
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.
3
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
4
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.
5
Definicin de Eventos
6
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.
7
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.
8
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
9
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.
10
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).
11
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.
12
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos: Change Documents
Para crear un evento de este tipo vamos por la siguiente opcin de men
13
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos:
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.
Change Documents
14
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.
15
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos: Cambios de Status
Para crear un evento de este tipo vamos por la siguiente opcin de men
16
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos: Cambios de Status
Primero debemos seleccionar con que tipo de status trabajar, de sistema o
de usuario.
17
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos: Cambios de Status
Luego deberemos seleccionar el tipo de objeto y su evento .
Finalmente activarlo.
18
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.
19
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos: Control de Mensajes
Para configurar el mensaje primero entramos en la transaccin NACE
20
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)
21
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
22
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
23
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)
24
Lanzando Eventos desde Aplicaciones SAP
Lanzando Eventos: Control de Mensajes
Seleccionamos la combinacin de claves deseada
25
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)
26
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
27
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.
28
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
29
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.
30
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.
31
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 ( ) que pasar
datos desde el contenedor del evento al del workflow.
Podremos modificar el binding para agregar los parmetros que deseemos.
Los parametos _WF_Initiator y _EVT_Object
se generan automticamente
32
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
33
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
34
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
35
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
36
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.
37
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.
38
Relacionar un Evento a un Workflow
Condiciones de Inicio
Para configurar condiciones de inicio seguir la siguiente opcin de men
39
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.
40
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.
41
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).
42
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
43
Desarrollos en Eventos
Arquitectura del Sistema Eventos en SAP
44
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
45
Desarrollos en Eventos
Tener en cuenta los objetos delegados al ejecutar el evento
46
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
47
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.
November 25, 2008
SAP Business Workflow
Administracin
2
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.
3
Contenidos
Reportes en Workflow
Workflow Logs
Herramientas para el Anlisis de Problemas
Otros Reportes y Herramientas Importantes
Problemas Comunes
4
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.
5
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.
6
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)
7
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.
8
Reportes en Workflow
Anlisis de Workitems
9
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.
10
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.
D: missed deadline workitem
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.
F: workflow workitem
Es la representacin en tiempo de ejecucin de un workflow.
B: background workitem
Es la representacin en tiempo de ejecucin de una tarea que es ejecutada
directamente por el sistema (no es asignada a ningn usuario)
E: wait step workitem
Es la representacin en tiempo de ejecucin de un paso de espera en la
definicin del workflow.
11
Contenidos
Reportes en Workflow
Workflow Logs
Herramientas para el Anlisis de Problemas
Otros Reportes y Herramientas Importantes
Problemas Comunes
12
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 'no en el log de workflow' en la definicin
de workflow
Si la vista tcnica est establecida como vista para el log de workflow
en el perfil personal de workflow, no hay filtros.
13
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.
14
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
15
Workflow Logs
Vista Crnica
16
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
17
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.
18
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).
19
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.
20
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.
21
Workflow Logs
Vista Grfica
22
Contenidos
Reportes en Workflow
Workflow Logs
Herramientas para el Anlisis de Problemas
Otros Reportes y Herramientas Importantes
Problemas Comunes
23
Herramientas para el Anlisis de Problemas
Las siguientes herramientas estn disponibles para los desarrolladores y
administradores
24
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.
En el sistema de desarrollo, el trace de eventos puede encenderse.
Peridicamente el administrador de workflow debera quitar este fichero fsico.
En productivo el trace de eventos debera apagarse por razones de rendimiento.
El log del RFC nos dar una visin de los problemas de RFC.
Manualmente puedes empezar una tarea o un workflow para hacer pruebas.
25
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
26
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.
27
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!
28
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.
29
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!
30
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).
31
Contenidos
Reportes en Workflow
Workflow Logs
Herramientas para el Anlisis de Problemas
Otros Reportes y Herramientas Importantes
Problemas Comunes
32
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
33
Contenidos
Reportes en Workflow
Workflow Logs
Herramientas para el Anlisis de Problemas
Otros Reportes y Herramientas Importantes
Problemas Comunes
34
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).
35
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).
36
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.
November 25, 2008
SAP Business Workflow
Business Workplace
2
Contenidos
Definicin de Business Workplace
Detalles de la Worklist
Detalles de un Workitem
Logs
Detalles Adicionales en el marco del proyecto PPP
3
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.
4
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.
5
Elementos del Business Workplace
Previsualizacin
de Work items
Worklist
Work items
especiales
rbol de
previsualizacin
Descripcin
de la tarea Objetos
relacionados
Consejos y
trucos
Texto del
Work item
6
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.
7
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.
8
Contenidos
Definicin de Business Workplace
Detalles de la Worklist
Detalles de un Workitem
Logs
Detalles Adicionales en el marco del proyecto PPP
9
Detalles de la Worklist (lista de Workitems)
Ejecutar
Aceptar
Apartar
Visualizar
Anexos
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.
Visualizar
Transmitir
y Reenviar
10
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.
11
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.
El contenido de la worklist es compilado basndose en datos
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.
12
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.
Se puede transmitir un work item a otro usuario para ejecutarlo. Las
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.
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.
13
Worklist: Otras funciones
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.
Configuracin individual
de las columnas
Se puede configurar la worklist individualmente seleccionando los campos
que van a ser mostrados. Para ello posicinese con el puntero en el icono
sealado Seleccionar disposicion. Cambie dicho diseo seleccionando
los campos que van a aparecer usando el puntero, grabe y seleccionelo.
Se puede configurar la worklist individualmente seleccionando los campos
que van a ser mostrados. Para ello posicinese con el puntero en el icono
sealado Seleccionar disposicion. Cambie dicho diseo seleccionando
los campos que van a aparecer usando el puntero, grabe y seleccionelo.
14
Contenidos
Definicin de Business Workplace
Detalles de la Worklist
Detalles de un Workitem
Logs
Detalles Adicionales en el marco del proyecto PPP
15
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.
16
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.
17
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.
18
Business Workplace: Resumen de funciones.
Otra informacin:
Fechas limites de ejecucin
Reenvi de work items
Prioridades
Status
Anexos
Lista de objetos:
Otros Objetos:
Aadir.
Mostrar.
Borrar de la lista
Funciones Ad hoc:
Reenviar.
Cambiar las prioridades.
Remitir a un servidor
para un uso posterior
Envo de mail
Descripcin de Work item
Otras funciones:
Usuarios.
Mostrar historial
Log de pasos
Contenedores de informacin.
Datos tcnicos
Funciones de work item:
Ejecutar
Reservar/Apartar
Marcar como realizado
Fechas limites de ejecucin
Anexos
Rechazar
Se recoge toda la informacin y las
actividades del entorno de un work
item.
19
Contenidos
Definicin de Business Workplace
Detalles de la Worklist
Detalles de un Workitem
Logs
Detalles Adicionales en el marco del proyecto PPP
20
Business Workplace: Workflow Log
Vista cronolgica
del proceso
Detalle de cada paso
Muestra todos los receptores,
a usuarios tanto posibles como
excluidos
La lnea verde muestra
el progreso del
proceso
Detalles de
seccin
Grfico del log
de Workflow
Workflow Log
21
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.
22
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.
23
Business Workplace: Bandeja de salida para seguimiento de status
Work items
ejecutados por ti
Work items
transmitidos por ti
Work items lanzados
por ti
Objetos relacionados
Usuarios responsables
actuales
Status de cada paso
del proceso
Workflows
procesados
Esta pantalla aporta:
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.
24
Contenidos
Definicin de Business Workplace
Detalles de la Worklist
Detalles de un Workitem
Logs
Detalles Adicionales en el marco del proyecto PPP
25
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.
26
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
27
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
28
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.
29
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.

También podría gustarte