MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Chequeo de bloqueo de reserva y pedido de traslado para ejecutar BAPI (foro/showthread.php?t=32725)

Abaunus 01/10/09 16:44:11

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

Tonnyman 01/10/09 17:22:22

Hola,

Intenta usando la siguiente sentencia abap, despues de hacer el commit: WAIT UP TO XX SECONDS.

Abaunus 02/10/09 14:18:23


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...

braschilester 02/10/09 14:54:40

Ayuda Con Bapi
 
Me pidieron realizar cargas masivas..con BAPI

por favor necesito un manual paso a paso:p

Abaunus 02/10/09 15:03:55


Ya nos dimos cuenta, jaja

Abaunus 07/10/09 20:04:05

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.....

JAAO1112 10/04/13 21:32:36



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.

Abaunus 11/04/13 00:27:22

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.


Husos Horarios son GMT. La hora en este momento es 03:42:43.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web