Да все там проще, я к примеру писал структуру(если много значений), из нее делал массив.
Далее так
IF VAR1 THEN (команда сдвига)
FOR Cn:= 30 TO 0 BY-1 DO ( к примеру архив на месяц от 31 до 0-текущей даты)
ARRAY[cn+1]:= ARRAY[cn];
END_FOR
END_IF