Refresh написал(а):
2 Удав
А как это сделать? Ограничить select-options на ввод значений кроме исключений? Может быть на первое время бы и устроило.
2 N/A, что имеется ввиду под "Range - таблица дорабатывается"
2, sy-uname, была подобная мысль, но очень уж много получается "если". Как например быть, если особо способный пользователь сделает двойное отрицание, как его обрабатывать? Например E NE.
пожалуй имеет смысл для начала разделить все записи с I EQ, I BT, I GT, I GE, I LT, I LE и E NE, E NB в таблицу "позитивных". Остальные попадут в "негативные". Ничего не забыл?
Если встречается LE или LT значит минимальная дата 01.01.1800, аналогично для GE, GT максимальная дата 31.12.9999. Далее отсортировываю "позитивные" строки и ищу минимальную и максимальную даты(если нет LE, LT, GE, GT). Видимо все-таки стандарта для этого нет((. Пока все верно?
Какая разница что сделает пользователь. Вы просто берёте даты не глядя на SIGN и OPTION, дополняете их LOW_DATE и HIGH_DATE, сортируете по возрастанию и убираете повторы. Составляете из дат соответствующие диапазоны и потом проверяете начальную дату диапазона на in RANGE. Всё.