buenas tardes amigos ,quisiera me pudieran ayudar con el siguiente problema:
tengo una tabla catalogo(cuenta,car01,car02,ab01,ab02) donde car01=cargos enero, ab01=abonos enero
y tengo otras dos tablas maestro detalle con los movimientos de las cuentas.
cuando voy a grabar los movimientos de las cuentas corro una rutina para que me envie los cargos y abonos del mes que sean a la tabla catalogo a su respectiva cuenta.
pero al correr la rutina se queda haciendo un loop infinito,quisiera me ayudaran(ahh si quito el do while me graba bien el abono,pero el cargo ya no)
aqui va el codigo
PARAMETER partmayor
partmayor1 = ALLTRIM(partmayor)
SELECT CATApier2009
IF .NOT. FLOCK()
WAIT WINDOW 'Otro usuario esta actualizando saldos. Por favor espere ...'
RETRY
ELSE
MENSAJE = 'Mayorizando partida número '+partmayor1
WAIT WINDOW TIMEOUT 0.5 MENSAJE
*****esta es mi idea****
***hago un select de encabezado y detalle con fechas***
SELECT diarioenc.numero,diarioenc.fecha,diariodet.numero,diariodet.cuenta,;
diariodet.abono,diariodet.cargo FROM diarioenc,diariodet WHERE diarioenc.numero=diariodet.numero;
AND diarioenc.numero=partmayor INTO TABLE encabedet
*SELECT diarioDET
*SET FILTER TO
*SET FILTER TO diariodet.numero=partmayor .AND. .NOT. EMPTY(diariodet.cuenta)
*GOTO TOP
SELECT encabedet
GO top
DO WHILE .not. EOF()
SELECT CATApier2009
SET FILTER TO
GOTO TOP
SET ORDER TO codcta
SEEK encabedet.cuenta
IF FOUND()
DO case
CASE MONTH(encabedet.fecha)=1
replace catapier2009.car01 WITH catapier2009.car01+encabedet.cargo
replace catapier2009.ab01 WITH catapier2009.ab01+encabedet.abono
CASE MONTH(encabedet.fecha)=2
replace catapier2009.car02 WITH catapier2009.car02+encabedet.cargo
replace catapier2009.ab02 WITH catapier2009.ab02+encabedet.abono
CASE MONTH(encabedet.fecha)=3
replace catapier2009.car03 WITH catapier2009.car03+encabedet.cargo
replace catapier2009.ab03 WITH catapier2009.ab03+encabedet.abono
CASE MONTH(encabedet.fecha)=4
replace catapier2009.car04 WITH catapier2009.car04+encabedet.cargo
replace catapier2009.ab04 WITH catapier2009.ab04+encabedet.abono
CASE MONTH(encabedet.fecha)=5
replace catapier2009.car05 WITH catapier2009.car05+encabedet.cargo
replace catapier2009.ab05 WITH catapier2009.ab05+encabedet.abono
CASE MONTH(encabedet.fecha)=6
replace catapier2009.car06 WITH catapier2009.car06+encabedet.cargo
replace catapier2009.ab06 WITH catapier2009.ab06+encabedet.abono
CASE MONTH(encabedet.fecha)=7
replace catapier2009.car07 WITH catapier2009.car07+encabedet.cargo
replace catapier2009.ab07 WITH catapier2009.ab07+encabedet.abono
CASE MONTH(encabedet.fecha)=8
replace catapier2009.car08 WITH catapier2009.car081+encabedet.cargo
replace catapier2009.ab08 WITH catapier2009.ab08+encabedet.abono
CASE MONTH(encabedet.fecha)=9
replace catapier2009.car09 WITH catapier2009.car09+encabedet.cargo
replace catapier2009.ab09 WITH catapier2009.ab09+encabedet.abono
CASE MONTH(encabedet.fecha)=10
replace catapier2009.car10 WITH catapier2009.car10+encabedet.cargo
replace catapier2009.ab10 WITH catapier2009.ab10+encabedet.abono
CASE MONTH(encabedet.fecha)=11
replace catapier2009.car11 WITH catapier2009.car11+encabedet.cargo
replace catapier2009.ab11 WITH catapier2009.ab11+encabedet.abono
CASE MONTH(encabedet.fecha)=12
REPLACE CATApier2009.car12 WITH CATApier2009.car12+encabedet.cargo
REPLACE CATApier2009.ab12 WITH CATApier2009.ab12+encabedet.abono
endcase
endif
ENDdo
DELETE FILE encabedet.dbf
endif
UNLOCK ALL
ENDPROC**