PDA

Ver la Versión Completa : Bapi_transaction_commit


Ddscerezo
26/09/07, 15:29:41
Hola.

Tengo un nuevo problemilla. No sé si se puede hacer (y si se puede no sé cómo) lo siguiente:

BAPI_PO_CHANGE (decrementar la cantidad del pedido)
BAPI_GOODSMVT_CREATE (movimiento 542)
BAPI_GOODSMVT_CREATE (movimiento 961)

Tengo que hacer estas 3 BAPIS. Y me gustaría que hasta que no acabaran las 3 y si han acabado TODAS con éxito, entonces hacer el BAPI_TRANSACTION_COMMIT.

Ahora lo hago (BAPI_TRANSACTION_COMMIT) después de cada bapi, pero no sé si puedo hacer las 3 llamadas y después hacer el commit, para que actualice todo, si a habido éxito; y sino, que no haga nada en ninguna, ya que como lo tengo ahora, si falla la última, ya me ha modificado las tablas correspondientes para las 2 primeras y se me queda el pedido descabalado.

Un saludo y muchas gracias.

DCErick
01/10/07, 17:30:11
No se si se pueda, pero tan facil como lo pruebes ent u código y nos cuentes que tal va.... :D

ibecerra
01/10/07, 17:42:12
hola:
hay 2 alternativas..
1.
ejecuta la primera bapi..
y si sy-subrc eq 0..
ejecuta la siguiente.. (ojo todavia no he ejecutado BAPI_TRANSACTION_COMMIT)
luego continuas con las siguiente
y al final realizas
BAPI_TRANSACTION_COMMIT.

2.
la otra seria que
por cada bapi realizes BAPI_TRANSACTION_COMMIT
si alguna falla ejecuta la BAPI_TRANSACTION_ROLLBACK
para que deshagas los cambios y seles del proceso...


prueba avisas como te fue..