Chequeo de bloqueo de reserva y pedido de traslado para ejecutar BAPI

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Abaunus
    Senior Member
    • nov
    • 119

    #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
  • Tonnyman
    Member
    • dic
    • 53

    #2
    Hola,

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

    Comentario

    • Abaunus
      Senior Member
      • nov
      • 119

      #3
      Originalmente publicado por Tonnyman
      Hola,

      Intenta usando la siguiente sentencia abap, despues de hacer el commit: WAIT UP TO XX SECONDS.
      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...

      Comentario

      • braschilester

        #4
        Ayuda Con Bapi

        Me pidieron realizar cargas masivas..con BAPI

        por favor necesito un manual paso a paso

        Comentario

        • Abaunus
          Senior Member
          • nov
          • 119

          #5
          Originalmente publicado por braschilester
          Me pidieron realizar cargas masivas..con BAPI

          por favor necesito un manual paso a paso
          Ya nos dimos cuenta, jaja

          Comentario

          • Abaunus
            Senior Member
            • nov
            • 119

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

            Comentario

            • JAAO1112
              Junior Member
              • feb
              • 4

              #7
              Originalmente publicado por Abaunus
              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.....

              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.

              Comentario

              • Abaunus
                Senior Member
                • nov
                • 119

                #8
                Originalmente publicado por JAAO1112
                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.
                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.

                Comentario

                Trabajando...