Rollback y Commit
Publicado por Deysi (15 intervenciones) el 30/10/2007 21:42:10
Hola Disculpen tengo este codigo que lo coloque en un boton el cual cancela una remision y me regresa la cantidad remisionada a mi pedido, el caso es que en ocaciones no hace bien la cancelacion.
Lo que estuve investigando es que puedo hacerlo por Rollback o commit. pero no se en que parte de mi codigo usarlo.
alguien me podria indicar como usar el Rollback y el commit.
Saludos Cordiales
De antemano Gracias
Deysi
!Cancela la Remision
IF REM:StatusRemision ='Facturado'
MESSAGE('LA REMISION NO PUEDE SER CANCELADA POR QUE YA HA SIDO FACTURADA','AVISO !!!',ICON:EXCLAMATION,BUTTON:OK)
CYCLE
ELSIF REM:StatusRemision ='Entregado'
MESSAGE('LA REMISION NO PUEDE SER CANCELADA POR QUE YA HA SIDO ENTREGADA','AVISO !!!',ICON:EXCLAMATION,BUTTON:OK)
CYCLE
ELSE
CASE MESSAGE('ESTA OPERACION CANCELA LA REMISION, ESTA SEGURO DE CANCELAR? ','ADVERTENCIA !!!',ICON:EXCLAMATION,'SI|NO',2)
OF 1
GET(Queue:2,Choice(?Browse:2))
REM:Id_RemisionesFolio = REM:Id_RemisionesFolio
SET(Remision,REM:LKFolioRemision)
NEXT(Remision)
REM:StatusRemision ='Cancelado'
PUT(Remision)
Open(Pedido)
PRY:Id_PedidoConsecutivo = REM:Id_PedidoConsecutivo
SET(Pedido,PRY:LKPedido)
NEXT(Pedido)
PRY:CantidadPedidoEnviadas -= REM:CantidadPedidoRemisionada
PRY:CantidadPedidoPendienteEnviar = PRY:CantidadCotiza - PRY:CantidadPedidoEnviadas
PRY:Existencias += REM:CantidadPedidoRemisionada
PUT(Pedido)
BRW2.ResetSort(1)
OF 2
END ! FIN DE MESSAGE CASE
END !FIN DE CONDICION IF
DISPLAY()
Lo que estuve investigando es que puedo hacerlo por Rollback o commit. pero no se en que parte de mi codigo usarlo.
alguien me podria indicar como usar el Rollback y el commit.
Saludos Cordiales
De antemano Gracias
Deysi
!Cancela la Remision
IF REM:StatusRemision ='Facturado'
MESSAGE('LA REMISION NO PUEDE SER CANCELADA POR QUE YA HA SIDO FACTURADA','AVISO !!!',ICON:EXCLAMATION,BUTTON:OK)
CYCLE
ELSIF REM:StatusRemision ='Entregado'
MESSAGE('LA REMISION NO PUEDE SER CANCELADA POR QUE YA HA SIDO ENTREGADA','AVISO !!!',ICON:EXCLAMATION,BUTTON:OK)
CYCLE
ELSE
CASE MESSAGE('ESTA OPERACION CANCELA LA REMISION, ESTA SEGURO DE CANCELAR? ','ADVERTENCIA !!!',ICON:EXCLAMATION,'SI|NO',2)
OF 1
GET(Queue:2,Choice(?Browse:2))
REM:Id_RemisionesFolio = REM:Id_RemisionesFolio
SET(Remision,REM:LKFolioRemision)
NEXT(Remision)
REM:StatusRemision ='Cancelado'
PUT(Remision)
Open(Pedido)
PRY:Id_PedidoConsecutivo = REM:Id_PedidoConsecutivo
SET(Pedido,PRY:LKPedido)
NEXT(Pedido)
PRY:CantidadPedidoEnviadas -= REM:CantidadPedidoRemisionada
PRY:CantidadPedidoPendienteEnviar = PRY:CantidadCotiza - PRY:CantidadPedidoEnviadas
PRY:Existencias += REM:CantidadPedidoRemisionada
PUT(Pedido)
BRW2.ResetSort(1)
OF 2
END ! FIN DE MESSAGE CASE
END !FIN DE CONDICION IF
DISPLAY()
Valora esta pregunta


0