MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Uso de COMMIT y ROLLBACK en R3 ABAP (foro/showthread.php?t=30452)

SILURO 01/06/09 06:48:39

Uso de COMMIT y ROLLBACK en R3 ABAP
 
Hola:

Soy un recien llegado al mundo SAP y tengo una duda respecto al uso del COMMIT y ROLLBACK en programación R3.
¿Es posible condicionar el uso del COMMIT y el ROLLBACK a varias transacciones que se ejecutan en cascada?.

Por ejemplo:

Tengo un GAP que ejecuta las siguientes 4 transacciones:
ME21N -> Crea un pedido.
VL01NO -> Crea una entrega para ese pedido.
LB04 -> Crea una necesidad de transporte
LT04 -> Creea una OT.

¿Se puede utilizar el COMMIT o el ROLLBACK al final de la última transacción para confirmar o deshacer TODAS las operaciones anteriores en caso de producirse algún problema en alguna de ellas?.

Gracias por su atención.

ballan 01/06/09 13:14:34

Si utilizas batch inputs no puedes realizar rollback, tendrias que hacer tus procesos con bapis

ME21N -> BAPI_PO_CREATE1
VL01NO -> BAPI_OUTB_DELIVERY_CREATE_SLS
LB04 -> L_TR_CREATE_CHECK y si va ok L_TR_CREATE_UPDATE
LT04 -> L_TO_CREATE_TR con parametro i_commit_work en blanco.

El esquema mas o menos seria

BAPI_PO_CREATE1

Si no devuelve ningun mensaje de error

BAPI_OUTB_DELIVERY_CREATE_SLS

Si no devuelve ningun mensaje de error

L_TR_CREATE_CHECK

Si no devuelve ningun mensaje de error

L_TO_CREATE_TR
i_commit_work = space

Si todo ha ido bien

L_TR_UPDATE
BAPI_TRANSACTION_COMMIT.

A lo mejor alguna de las bapis o modulos de funcion que te digo no son correctos pero en la transaccion BAPI o mirando el grupo de funciones donde estan alojadas la L_TR_CREATE y L_TO_CREATE_TR puedes mirar otras funciones a ver si te sirven

Magna 21/08/09 15:52:58

Hola aprovechando el tema, yo quiero actualizar un campo de la tabla bkpf, especificamente el de referencia BKPF-XBLNR, ya probe con sustitucion y no me funciona correctamente ya que es un correlativo lo que yo quiero colocar y necesito que actualice la tabla donde guardo los correlativos. Por lo que estoy haciendo varios updates en cascada, pero actualmente cuando hay mucha carga en el sistema actualiza la tabla de correlativos y no actualiza los documentos. Como puedo utilizar el COMMIT TRANSACTION Y EL ROLLBACK?

Gracias,


Husos Horarios son GMT. La hora en este momento es 15:25:43.

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