Error al crear hojas de entrada de servicio

Hola buenas tardes.
Estoy realizando un programa que cree una hoja de entrada de servicio para cada pedido que se seleccione en un ALV que estoy mostrando de una consulta previa. El problema es que al generar las hojas de entrada si el pedido se repite sale que ya se está tratando el pedido y no me crea las otras hojas. Cómo podría solucionar este problema?
Gracias de antemano.
Anexo pantallazos.
image
(consulta previa, se seleccionan los pedidos que se les quiere crear la hoja de entrada)
el pedido es igual pero la posición cambia; la idea es que genere las hojas de entrada.
image
(resultado de la ejecución de la bapi)
generó la primera hoja de entrada pero la segunda no porque ya se está tratando ese pedido.

Es como en el estandar, el mismo usuario no podría abrir dos ventanas separadas de SAP para crear dos entradas de servicio del mismo pedido.

Debe ir una por una.

Gracias por responder.
Pero entonces en ese caso cómo podría cerrar el pedido para que cree ahora la otra hoja?

No entiendo tu pregunta., no sé cómo estás programando el zeta, ni para qué.
Cuál es la finalidad del programa que estás creando?
Cómo está diseñado?
Deberíamos analizar el código para ver cómo estás usando la BAPI.

Ok vale te explico.
La idea del programa es generar todas las hojas de entrada que se seleccionen en un listado que creé; entonces en el listado por ejemplo aparece el mismo pedido varias veces con diferente posición. El usuario puede con un checkbox seleccionar todos los registros por ejemplo y se deben generar todas las hojas de entrada seleccionadas. Pero entonces como el pedido se repite en algunas veces sale el error de que ya se está tratando ese pedido y solo genera una hoja de entrada de ese pedido (la primera seleccionada).

Mmm como te digo, no es el estándar ese.

Estarías creando un procedimiento fuera de lo que SAP tiene como estándar, habría que ver tu código cómo está estructurado y si podes inventar algo para saltar la validación que hace porque en el momento de hacer la primer HES, ya estás tomando el pedido, no podrías hacer otra HES de ese mismo pedido, hasta que no has guardado y finalizado la HES de la posición 1.

si correcto. Necesito como saltar esa validación.
Lo curioso es que mirando el programa, en debug el programa si funciona; es decir, pongo un breakpoint en cualquier parte del programa, ejecuto, tomo los pedidos, F8, entra al debug, F8 y efectivamente cra las dos hojas de entrada que seleccioné.

Fijate si podes enviar el código completo a nuestro repositorio de códigos ABAP siguiendo esta guía, de ese modo otros abapers van a poder analizar el código y darte más consejos, si no es muy complejo ayudarte en el aire.

Saludos

Gracias por las respuestas y la atención.
El sábado me colaboró un compañero y dimos con el punto; con el siguiente código antes de invocar a bapi se solucionó el problema:

CONCATENATE sy-mandt WA_CABECERA-po_number INTO w_garg.
    REFRESH t_enc.
    DO 1000 TIMES.
      COMMIT WORK AND WAIT.
      REFRESH t_enc.
      CALL FUNCTION 'ENQUEUE_READ'
        EXPORTING
          gclient               = sy-mandt
          gname                 = 'EKKO'
          garg                  = w_garg
        TABLES
          enq                   = t_enc
        EXCEPTIONS
          communication_failure = 1
          system_failure        = 2
          OTHERS                = 3.

      IF sy-subrc NE 0 OR t_enc[] IS INITIAL.
        EXIT.
      ENDIF.
    ENDDO.
1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.