No se como lo tenes organizado.
Usaría un archivo con el día del vencimiento.
Archivo: Clientes
CLI:CodCliente ................................KeyCLI:CodCliente (clave)
CLI:ApellidoNombre
CLI:DiaVencimiento
CLI:ImporteAlquiler
Usaría una QUEUE: QCliente
QC:CodCliente
QC:ApellidoNombre
QC:DiaVencimiento
QC:VenceDias
QC:ImporteAlquiler
Lo que haria es cargar la queue y la imprimo
#I = 0
Free (QCliente) ! Descargo la Queue
Clear(CLI:Record)
SET(KeyCLI:CodCliente,KeyCLI:CodCliente)
LOOP UNTIL Access:Clientes.Next() ! Leo desde el 1 al ultimo
If CLI:DiaVencimiento > DAY(TODAY()) ! Veo si esta vencido
Cycle ! va al Loop
End
QC:CodCliente = CLI:CodCliente
QC:ApellidoNombre = CLI:ApellidoNombre
QC:DiaVencimiento = CLI:DiaVencimiento
QC:VenceDias = DAY(TODAY()) - CLI:DiaVencimiento ! Averiguo los dias de vencido
QC:ImporteAlquiler = CLI:ImporteAlquiler
ADD(QCliente,I#) ! Cargo la Queue
IF ERRORCODE() THEN STOP(ERROR()).
End ! Loop
SORT (QCliente,QC:VenceDias) ! la ordeno por cantidad de dias
! Imprimir desde una Queue
Loop I#= 1 to Records(QCliente)
Get(QCliente,I#)
Print(RPT:Detail)
End
EndPage(Report)
Espero te sirva. Saludos desde Venado Tuerto - Argentina
[email protected]