¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Execução de passagem de decisão de item de trabalho por meio de código no SAP - Solução e alternativas

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 9 Vistas
0
Cargando...

Olá,

Preciso executar uma etapa de decisão de um item de trabalho por meio de código. Para isso, encontrei a FM SAP_WAPI_DECISION_COMPLETE . Isso funcionou bem quando executado via SE37 e em um relatório. Não só completou o item de trabalho, mas também alterou o estado do meu documento.

DATA : bbpex_follow_act_reject TYPE zfollowing_action VALUE 'REJEITAR' ,

bbpex_follow_act_approve TYPE zfollowing_action VALUE 'APROVAR' .

DATA : lv_decision_key TYPE swr_decikey ,

return_code LIKE sy - subrc ,

new_status TYPE sww_wistat .

IF Lv_decision EQ bbpex_follow_act_approve .

lv_decision_key = '0001' .

ELSE .

lv_decision_key = '0002' .

ENDIF .

CHAMAR FUNÇÃO 'SAP_WAPI_DECISION_COMPLETE'

EXPORTANDO

workitem_id   = iv_wiid

language      = sy-langu

user          = sy-uname

decision_key  = lv_decision_key

do_commit     = 'X'    " Campo de caixa de seleção

IMPORTANDO

return_code   = return_code

new_status    = new_status.

No entanto, quando executei via um método da minha classe. Apenas completou o item de trabalho e não alterou o estado do documento.

Você poderia lançar alguma luz sobre esse problema? Ou há uma alternativa para executar um item de trabalho?

Revisei o registro e obtive um erro como o anexo.

Obrigado e cumprimentos,

Sheldon Rodrigues.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Sheldon,

Acredito que com um BAPI ou WAPI FMs, você precisa declarar um COMMIT WORK no final.

-Peter

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Se o fluxo de trabalho for concluído sem usar o SAP_WAPI_DECISION_COMPLETE, então qual nome de usuário aparece como aquele que executou a etapa que conclui o documento? Se for WF-BATCH, então posso entender por que você está recebendo um erro. Talvez você possa tentar inserir uma etapa de espera fictícia após a decisão do usuário.

Saudações,

Rick Bakker / hanabi technology

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

°Olá Sheldon!

Altere o código da seguinte forma:

CALL FUNCTION 'SAP_WAPI_DECISION_COMPLETE' EXPORTING workitem_id = lv_workitem_id language = sy-langu decision_key = lv_decision_key do_commit = 'X' IMPORTING return_code = lv_return_code new_status = new_status. 

Espero que o código ajude você a inferir a resposta para sua pergunta.

Saudações,

S.Suresh.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Realizei uma pesquisa adicional sobre a mensagem de erro que estava recebendo. Estava tentando executar um relatório para o usuário WF-BATCH semelhante ao RBBP_OFFLINE_EVAL, para um cenário de aprovação offline.


Notei que através do programa, meu sy-uname era WF-BATCH. Mas quando o módulo de função 'SAP_WAPI_DECISION_COMPLETE' era executado, mudava para o SY-UNAME do executor do item de trabalho. Portanto, o erro no registro TRFC do item de trabalho.

Em modo de depuração dentro do FM 'SAP_WAPI_DECISION_COMPLETE', alterei sy-uname para o executor, e uma vez fora do FM, alterei novamente sy-uname para WF-BATCH. Não apenas o item de trabalho foi concluído com sucesso, mas também o estado do documento foi alterado.

Anexo uma captura de tela mostrando a mudança em sy-uname dentro do FM.

Minha suposição é que provavelmente estava tentando ser outro usuário, por exemplo, WF-BATCH, e tentando executar o item de trabalho da pessoa X, o que acredito que não deveria ser possível. Alguém poderia apoiar minha hipótese e lançar alguma luz sobre o problema?

Obrigado e cumprimentos,

Sheldon Rodrigues.

changein_syuname.PNG
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?