|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Chequeo de bloqueo de reserva y pedido de traslado para ejecutar BAPI
Hola amigos. Busqué algún tema anterior, pero no encontré, así que acá vamos.
Tenemos un reporte Z que ejecuta la BAPI_GOODSMVT_CREATE, dentro de un loop, pero en algunos registros falla ya que queda bloqueado el pedido de traslado por el registro anterior (bloqueado por el mismo usuario). Después de la BAPI se ejecuta la BAPI_TRANSACTION_COMMIT con el parámetro WAIT = C_X, así que no es un problema de la BAPI, sino de que queda "colgado" todavía el pedido. Y no queda bloqueada la tabla entera (p. ej., EKKO o EKPO), sino sólo ÉSE pedido. Lo que necesitaría saber es cómo chequear si el pedido está bloqueado antes de ejecutar la BAPI. Si está bloqueado por otro usuario, saltarlo; y si es por el mismo, esperar a que se desbloquee. ¿Saben cómo hacerlo? Después me pasa lo mismo con la misma BAPI pero al tratar reservas. Espero haberme explicado. Desde ya, gracias, y saludos a todos. Emanuel |
#2
|
|||
|
|||
Hola,
Intenta usando la siguiente sentencia abap, despues de hacer el commit: WAIT UP TO XX SECONDS. |
#3
|
|||
|
|||
Gracias, pero eso no me sirve, ya que el pedido o reserva puede estar siendo bloqueado por otro usuario.... Ahora estoy usando ENQUEUE_EMEKKOS y ENQUEUE_EMRKPF, pero el tema es que si detecta un bloqueo salta al ALV, no permite el tratamiento del error... |
#4
|
|||
|
|||
Ayuda Con Bapi
Me pidieron realizar cargas masivas..con BAPI
por favor necesito un manual paso a paso |
#5
|
|||
|
|||
Ya nos dimos cuenta, jaja |
#6
|
|||
|
|||
Listo, resuelto. Lo que hice fue copiar las funciones ENQUEUE_EMEKKOS y ENQUEUE_EMRKPF (todo el grupo de funciones en realidad), y en cada una de ellas (los nuevos zetas), eliminar el mensaje de error ante un bloqueo, dejando solo la variable para poder manipular el registro en cuestión.
Saludos..... |
#7
|
|||
|
|||
Hermano tengo el mismo problema que tu, pero el me la bapi me devuelve el mensaje de que la reserva esta bloqueada por el mismo usuario, intente copiarme el modulo de funcion ENQUEUE_EMRKPF, pero no se en que es lo que dices que hay que borrar, no se exactamente donde se envia el mensaje. Y aun siendo asi de que sirve que me copie el modulo de funcion si dentro de la bapi llaman el modulo de funcion estandar??? Saludos. |
#8
|
|||
|
|||
Hola. Te comento con lo que me acuerdo porque de esto hace como cuatro años y ya no estoy en ese cliente como para revisar.
Lo que hicimos fue utilizar las funciones antes de entrar a la BAPI, entonces si está bloqueada la reserva te tira un mensaje, en nuestro caso era de error con la función std, y no nos dejaba seguir el proceso como correspondía. Por eso copiamos las mencionadas funciones y modificamos el lugar donde tira el mensaje, que dónde es exactamente obviamente no me acuerdo, pero con un debug leve llegás tranquilamente. Pero, finalmente no fue necesario crear funciones zeta, ya que con las std se puede hacer tranquilamente, manipulando correctamente las excepciones, cosa que nosotros en un principio no hacíamos bien y después nos dimos cuenta. Espero te sirva. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|