¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Ejecución de paso de decisión de ítem de trabajo a través de código en SAP - Solución y alternativas

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

Hola,

Tengo que ejecutar un paso de decisión de un ítem de trabajo a través de código. Para ello encontré la FM SAP_WAPI_DECISION_COMPLETE . Esto funciona bien cuando se ejecuta a través de SE37 y cuando lo ejecuté en un informe. No solo completó el ítem de trabajo, sino que también cambió el estado de mi documento.

DATA : bbpex_follow_act_reject TYPE zfollowing_action VALUE 'RECHAZAR' ,

bbpex_follow_act_approve TYPE zfollowing_action VALUE 'APROBAR' .

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 .

CALL FUNCTION 'SAP_WAPI_DECISION_COMPLETE'

EXPORTING

workitem_id   = iv_wiid

language      = sy-langu

user          = sy-uname

decision_key  = lv_decision_key

do_commit     = 'X'    " Campo de casilla de verificación

IMPORTING

return_code   = return_code

new_status    = new_status.

Sin embargo, cuando lo ejecuté a través de un método de mi clase. Solo completó el ítem de trabajo y no cambió el estado del documento.

¿Podrías arrojar algo de luz sobre este problema? ¿O hay una alternativa para ejecutar un ítem de trabajo?

Revisé el registro y obtuve un error como el adjunto.

Gracias y saludos,

Sheldon Rodrigues.

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

4 Respuestas

0
Cargando...

Sheldon,

Creo que con un BAPI o WAPI FMs, necesitas declarar un COMMIT WORK al final.

-Peter

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

Hola,

Si el flujo de trabajo se completa sin utilizar SAP_WAPI_DECISION_COMPLETE, ¿entonces qué nombre de usuario aparece como el que ejecutó el paso que completa el documento? Si es WF-BATCH, entonces puedo entender por qué estás obteniendo un error. Tal vez podrías intentar insertar un paso de espera ficticio después de la decisión del usuario.

Saludos,

Rick Bakker / hanabi technology

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

¡Hola Sheldon!

Cambia el código de la siguiente manera:

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 el código te ayude a inferir la respuesta a tu pregunta.

Saludos,

S.Suresh.

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

Hola,

Realicé una investigación adicional sobre el mensaje de error que estaba recibiendo. Estaba intentando ejecutar un informe para el usuario WF-BATCH similar a RBBP_OFFLINE_EVAL, para un escenario de aprobación sin conexión.


Pude notar que a través del programa, mi sy-uname era WF-BATCH. Pero cuando se ejecutaba el módulo de función 'SAP_WAPI_DECISION_COMPLETE', cambiaba al SY-UNAME del ejecutor del ítem de trabajo. Por lo tanto, el error en el registro TRFC del ítem de trabajo.

En modo de depuración dentro del FM 'SAP_WAPI_DECISION_COMPLETE', cambié sy-uname a ejecutor, y una vez fuera del FM, volví a cambiar sy-uname a WF-BATCH. No solo se completó exitosamente el ítem de trabajo, sino que también cambió el estado del documento.

Adjunto una captura de pantalla donde se muestra el cambio en sy-uname dentro del FM.

Mi suposición es que probablemente estaba intentando ser otro usuario, por ejemplo, WF-BATCH, y tratando de ejecutar el ítem de trabajo de la persona X, lo cual creo que no debería ser posible. ¿Alguien podría respaldar mi hipótesis y arrojar algo de luz sobre el problema?

Gracias y saludos,

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?