begin
FOR SELECT A.ID, A.ValidFrom$DATE,
(SELECT MIN(C.ValidFrom$DATE - 1) FROM CalcFields C
WHERE C.CalcFieldCode = A.CalcFieldCode AND
C.CalcChart_ID = A.CalcChart_ID AND
C.FieldCode = A.FieldCode AND
C.CLSID = A.CLSID AND
C.ValidFrom$DATE > A.ValidFrom$DATE
) AS ValidTo$Date
FROM CALCFIELDS A
WHERE A.CalcFieldCode = :AFieldCode AND A.CalcChart_ID = :ACalcChart_ID AND
A.ValidFrom$DATE <= :AValidToDate
INTO :ID, :ValidFrom_Date, :ValidTo_Date
DO BEGIN
IF ((:ValidTo_Date is NULL) OR (:ValidTo_Date > :AValidFromDate)) THEN
SUSPEND;
END
end;