Uso de COMMIT y ROLLBACK en R3 ABAP

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • SILURO
    Junior Member
    • feb
    • 14

    #1

    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
    Senior Member
    • oct
    • 671

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

    Comentario

    • Magna
      Member
      • mar
      • 36

      #3
      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,

      Comentario

      Trabajando...