Clarion - usando LOGOUT, ROLLBACK Y COMMIT

 
Vista:

usando LOGOUT, ROLLBACK Y COMMIT

Publicado por DEYSI (15 intervenciones) el 26/02/2008 18:35:02
hOLA ALGUIEN ME PODRIA DECIR SI ESTOY USANDO CORRECTAMENTE EL LOGOUT, ROLLBACK Y COMMIT
mi codigo lo coloque en el Take completed antes del parent call.
y hace bien no he tenido ningun error pero no se si sea la manera correcta de usar el
LOGOUT, ROLLBACK Y COMMIT.


! Usando Transacciones para actualizar datos

LOGOUT(1,Pagos,DetaPago,Facturas,Cliente)
IF ERRORCODE()
ROLLBACK
MESSAGE('No se puede salvar los cambios ahora')
CYCLE
END ! fin del if de error

IF SELF.OriginalRequest = InsertRecord
PAG:StatusPago = 'Realizado'
CLI:Id_Cliente = PAG:Id_Cliente
SET(Cliente,CLI:PKId_Cliente)
Next(Cliente)
IF FAC:Dolares = 'Pesos'
CLI:Saldo -= PAG:ImporteCheque
ELSIF FAC:Dolares = 'Dolares'
CLI:Saldo -= PAG:ImporteCheque * FAC:TasaCambio
END ! fin de dolares
PUT(Cliente)
IF ERRORCODE()
ROLLBACK
MESSAGE('No se puede salvar los cambios ahora')
CYCLE
END ! fin del if de error

IF PAG:StatusPago = 'Realizado'
LOOP LOC:I = 1 TO LOC:Partidas BY 1
DETP:Id_Pago = PAG:Id_Pago
DETP:PartidaPago = LOC:I
Set(DETP:PKDetapago,DETP:SKPartidaPago,DETP:PartidaPago)
Next(DetaPago)
FAC:Id_Factura = DETP:Id_Factura
Set(Facturas,FAC:PKIdFactura)
Next(Facturas)
FAC:PagosRealizados += DETP:ImporteAplica
IF FAC:TotalPagar = FAC:PagosRealizados + FAC:NotasCredito OR (FAC:NotasCredito + FAC:PagosRealizados) > FAC:TotalPagar
FAC:StatusFactura ='Pagada'
ELSIF (FAC:NotasCredito + FAC:PagosRealizados) < FAC:TotalPagar AND (FAC:NotasCredito + FAC:PagosRealizados) <> 0
FAC:StatusFactura ='Pago Parcial'
ELSIF(FAC:NotasCredito + FAC:PagosRealizados) = 0
FAC:StatusFactura ='Facturado'
END ! fin de total a pagar
Put(Facturas)
END !Fin de LOOP
END !Fin de Condición
IF ERRORCODE()
ROLLBACK
MESSAGE('No se puede salvar los cambios ahora')
CYCLE
END ! fin del if de error
END ! fin de InsertRecord
COMMIT
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder