You are on page 1of 13

Pasos para el diseño del WorkFlow:

1- Se debe crear una tabla de WorkList , este debe contener las 6 PK de la PSWORKLIST mas
las PK de la tabla sobre la cual queremos implementar el workFlow, en nuestro caso la tabla
es INCIDENT_DATA. Para los casos que necesite niveles de aprovacion se debe agregar
como ultimo campo APPR_INSTANCE (sacar de la tabla APPR_FIELDS_WRK), pero en
nnuestro caso no es necesario.
Nuestra tabla worklist es MX_INC_WORKLIST

Las 6 PK de la
tabla
PSWORKLIST

Las PK de nuestra tabla


base INCIDENT_DATA

2- Crear una ACTIVITY darle un nombre (ejemplo REPORTED NEW INCIDENT) y en los
seteos de la ACTIVITY se debe especificar a que component y page debe llevar el link
cuando el usuario acceda desde la WORKLIST.
2- Selecciona
Atributes

3- Especificar a donde llevara


el link de la worklist

1 -Hacer
doble click
sobre la
ACTIVITY 4- Especificar
datos de la
pagina.

3- Diseño de un evento, aca hay que setear el RecordName donde estara alojado el pcode que
dispara el BusinessTrigerevent (el workflow) en nuestro caso será la tabla base
INCIDENT_DATA.

Importante : Nunca olvidarse de relacionar la Activity con el evento.


Crear un evento.

Verificar que
este activo
Nunca
olvidar de
hacer la
relacion

Especificar la
tabla donde
estara el
pcode para
disparar el wf

4- Definicion de worklist. Aca se especifica a quien le va a llegar una entrada en la worklist ,


como tambien ciertos atributos de como se va a trabajar con esa worklist. Nunca olvidarse de
hacer el vinculo de la worklist con el evento, sino nunca se dispara.
2- Presionar
Atributes

3- Setear la tabla
de worklist en
nuesto caso es
MX-
1- Crear una nueva INC_WORKLIST
worklist

4- Setear a
que business
process
pertenece y a
que activity

6- seteos propios
de worklist 5- setear como se marca
como trabajada, en
nuestro caso por pcode
por eso es programatic
7- se usan solo en el caso que
se quiera controlar retrasos
2- Con que
1- Debemos nro de
setear a quien incidente
le llega la debe entrar a
worklist la pagina

5- Si es necesario se debe crear un Mail para que sea enviado tambien por el workflow:
1- Setear a 2- setear el
quien le llega subject,
el mail body..etc

6- Debemos crear el Business Process (Workflow): Lo unico que debemos definirle son todas las
activitys que estan incluidas en este proceso de workflow.
Funcion 7- Debemos escribir el pcode para que cuando pase cierta condicion o suceda algo se ejecute el
Pcode para workflow. Ese pcode se debe escribir en el evento Workflow:
disparar WF El nombre del
If %Component = Component.MX_INC_REPORTING Then workflow
/* M. Giocolo 01-Mar-05 Pcode to route Wf when report new incidente*/
If %Mode = "A" Then
&RTN_CODE_AD = TriggerBusinessEvent(BusProcess."MX_INCIDENT_WF",
BusActivity."REPORTED_INCIDENTS", BusEvent."Route Report");
End-If;
/* M. Giocolo 01-Mar-05 Pcode to route Wf when report new incidente*/
End-If;

Se Se especifica
especifica que evento
la Activity queremos
disparar
8- Consideraciones a nivel de Seguridad:Para poder determinar a que usuario le debe llegar la
worklist y el mail debemos crear una query de tipo Query Rol, y a esta query se la debemos
asignar a un rol ese rol sera nuevo , no tendra miembros y en la solapa de workflow debemos
cargar la query rol para que funcione con el workflow. Este paso es fundamental para que
funcione el envio de las worklist y de los mails.
Para este paso creamos desde el menu de seguridad un nuevo rol y luego le asignamos la
query rol previamente creada:

Menu acceso
a los roles

Seleccionamos el
Tap Workflow

Cargamos la Query Rol y


le damos todos los accesos
para el workflow

9- Tambien debemos verificar si el o los usuarios que usaran el workflow estan habilitados para
ser usuarios de workflow , tambien desde ahi podremos setear a un usuario alternativo si es
necesario o reasignar las tareas pendientes en el caso qe se vaya de la empresa por ejemplo:
Verificar que sea
usuario de WF

Se puede especificar usuario


alternative (por vacaciones eje)
Reasignar todas last
areas pendientes
(TODAS)

10- En caso que se quiera manejar el control de retrasos de la tarea, debemos definir primero a
nivel de worklist el timeout (tiempo limite para que una tarea quede en la worklist sin
trabajar) en dias, horas y hasta minutos.
luego de setar los timeouts a nivel de worklist debe correr un proceso aplication engine que lo que hace es
revisar todas las worklist y enviar un aviso de atraso.
El AE se llama WL_TIMEOUT y se ejecuta de la siguente manera:

You might also like