Модификация даты: добавить (убавить) заданный промежуток времени
Часто встречается потребность модификации даты на определённый промежуток времени: прибавить год, отнять месяц или заданное количество дней. Последнее можно выполнить простой арифметической операцией вида:
1 2 3 4 |
DATA: lv_data TYPE d TYPE sy-datum. lv_date = lv_date + 100. " Прибавить 100 дней к текущей дате |
Что же касается месяца или года, можно воспользоваться стандартным ФМ-ом вида:
1 2 3 4 5 6 7 8 9 10 11 |
DATA: dt TYPE sy-datum. CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' EXPORTING date = sy-datum " Дата с которой работаем days = 0 " 0 Дней months = 0 " 0 Месяцев signum = '-' " Операция вычитания years = 1 " 1 Год IMPORTING calc_date = dt. " Результат |
Еще одним из стандартных вариантов — использовать класс CL_RECA_DATE и его метода (ADD_TO_DATE), если у вас присутствует RE модуль в системе.