PDA

Ver la Versión Completa : Uso de commit work and wait


Sil12
07/07/08, 15:44:17
Estoy liberando ordenes de compra mediante la bapi 'BAPI_PO_RELEASE' pero cuando realiza el segundo codigo de liberación(el llamado a la bapi esta dentro de un LOOP) aparece un mensaje que mi usuario ya esta tratando esa orden de compra. Para ello, luego del llamado a la bapi le agregue el llamado a la función BAPI_TRANSACTION_COMMIT.

Al parecer el wait del commit no está funcionando o lo estoy utilizando mal.

El código es este:

LOOP AT REL_CODE.
CALL FUNCTION 'BAPI_PO_RELEASE'
EXPORTING
PURCHASEORDER = NUMBER
PO_REL_CODE = REL_CODE-FRGC1
USE_EXCEPTIONS = 'X'
IMPORTING
REL_STATUS_NEW = REL_STATUS
TABLES
RETURN = MESS
EXCEPTIONS
AUTHORITY_CHECK_FAIL = 1
RELEASE_ALREADY_POSTED = 2.
IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CALL FUNCTION 'BAPI_PO_GETRELINFO'
EXPORTING
PURCHASEORDER = NUMBER.
ENDIF.
ENDLOOP.

Mauricio Hidalgo
08/07/08, 17:18:27
La misma BAPI_PO_RELEASE tiene un parámetro para hacer el commit. Prueba usando ese parámetro.

Sil12
08/07/08, 17:37:38
La Bapi solo tiene 3 parámetros y nada que tenga q ver con el commit.

Se resolvio con esta sentencia:

WAIT UP TO 1 SECONDS.

Debido a que el delay del commit es muy corto.

Gracia de igual manera :D