¿Estás utilizando commit work después del código del desencadenador de eventos?
Si no lo estás haciendo, debes utilizar Commit work.
Avalados por :
¡Hola a todos!
Estoy trabajando en el flujo de trabajo de gestión de viajes. Me enfrento a un problema extraño.
A veces, cuando creo una solicitud de viaje, el flujo de trabajo envía un correo al aprobador pero no muestra ningún valor. Solo muestra '0000000'. Y no sucede cada vez, solo en ocasiones impares.
Además, a veces recibimos un correo simple y un elemento de flujo de trabajo en la BANDEJA DE ENTRADA. Este también es un problema extraño. No pude encontrar la razón detrás de esto.
¿Alguien podría ayudarme?
Gracias,
Sonu M.
¿Estás utilizando commit work después del código del desencadenador de eventos?
Si no lo estás haciendo, debes utilizar Commit work.
Hola Sonu,
La opción de retraso es de SWE_EVENT_CREATE y es de 10 minutos fijos. Deberías estar usando los módulos de función SAP_WAPI_* a menos que tengas una razón específica para no hacerlo.
Solo mencionas 'personalizado'... ¿cómo? Obviamente, la parte personalizada es el problema: asegúrate de que tu llamada para generar el evento ocurra cuando la base de datos se actualice, ya sea mediante COMMIT explícitos, leyéndolo de nuevo de la base de datos o documentos de cambios. Quizás un WAIT UP TO 5 SECONDS en tu código hará el truco antes de tu evento. Si estás enviando tu escritura en la base de datos a una tarea de actualización, entonces la generación de tu evento también debería ocurrir en la misma tarea de actualización.
Saludos,
Mike
¡Hola Mike!
Sí, estamos utilizando un evento personalizado para iniciar el flujo de trabajo. Creo que lo que dices es correcto. Antes de actualizar la base de datos, se está activando el flujo de trabajo.
Ahora he establecido la bandera START_WITH_DELAY, para retrasar la activación del flujo de trabajo. Pero no sé dónde establecer el retraso de tiempo.
¿Me puedes ayudar?
Gracias,
Sonu M.
Hola Sonu,
¿Qué valor estás esperando? ¿Es un atributo personalizado?
¿Cómo se activa tu WF? Parece que estás usando algo personalizado que está iniciando el paso antes de que la base de datos haya completado la grabación del TReq. Una forma de verificar esto es revisar el contenedor en el registro de WF para ver si el atributo tiene un valor; si lo tiene, probablemente fue demasiado rápido y no logró leerlo en el momento en que creó el WI.
La forma fácil es insertar un retraso (por ejemplo, inicio solicitado de 1 minuto), o bien, revisa cómo se activa.
Saludos
Mike
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute