Salve galera, depois de muito apanhar tenho alguns pontos pra compartilhar disso e obter uma luz talvez. Vamos lá.
Como uso REST segui com a ideia de criar um dataset que faz um update simples de inicio na tabela WORKFLOW_PROCES no COD_MATR_REQUISIT, depois iria atualizar as outras tabelas que usam ele só pra deixar sincrono, entao, no meu dataset eu busco o usuário pelo e-mail (integração com o identity) encontro e mando um executeUpdate(). até ai tava lindo.
esse dataset eu incialmente pensei em colocar dentro de um serviço que eu tenho entre o inicio e o meu targetState olhando o meu campo de origem (que define se é de API ou manual). Eu tinha certeza que ele seria chamado, mas não foi, o serviceTask foi chamado mas minha function alteraSolicitante() nao foi chamada. Já achei estranho ai, entao pensei em utilizar os eventos do proprio workflow, como o afterTaskCreate ou o afterProcessCreate. Comecei a me deparar com um problema que parece ser de transaction.
Ele me da o numero da solicitação, loga por todas as etapas que tenho no form que indicam que os campos estão sendo preenchidos por exemplo, mas quando chega no update ele trava (fica esperando acho que a transaction) porém depois de 5 minutos, acontece um rollback, de tudo e acaba não criando o processo, e ai ele tenta executar o update com 0 rows affecteds, visto que ele tinha o numero do processo, mas como teve rollback ele se perdeu…
2025-04-10 10:55:43,109 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) ####### AFTER PROCESS CREATE ######
2025-04-10 10:55:43,109 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) STATE: 5
2025-04-10 10:55:43,109 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) PROCES: 1731
2025-04-10 10:55:43,141 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) VAI ALTERAR SOLICITANTE
2025-04-10 10:55:43,141 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) ALTERA SOLICITANTE
2025-04-10 10:55:43,141 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) NUM PROCESSO: 1731
2025-04-10 10:55:43,141 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) SDR: caiohar
...
2025-04-10 10:55:43,250 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) SQL : UPDATE PROCES_WORKFLOW SET COD_MATR_REQUISIT = 'caiohar' WHERE NUM_PROCES = '1731'
minha matricula está simplificada para fins de teste.
Agora olha o rollback e ele voltando para update como se nada tivesse acontecido 5 minutos depois.
2025-04-10 11:00:41,954 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) UPDATE USUARIO
2025-04-10 11:00:41,954 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-311) 0.0
Pois é textão, mas foi mais ou menos isso que passei tentando solucionar e sempre que chamo o update quando é via API REST ele trava nisso.
Não sei mais o que fazer, queria forçar o commit ou conseguir chamar meu dataset depois que tenho certeza que a transaction criada pela API esteja comitada… quer dizer se for esse mesmo o problema.