Текущее время: Пн, авг 04 2025, 17:02

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 03 2005, 16:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Почему бы просто не написать
Code:
..
where a~audat in so_date
  and (cond_tab)
...


Ведь если so_date будет пустым, то в конечный запрос к базе это ограничение не попадёт..

PS И еще, в случае использования того, что написано у вас,
запрос будет примерно таким:

where ... a~audat in 'IBT2005010120051003'


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 03 2005, 17:51 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, мар 25 2005, 11:46
Сообщения: 282
Откуда: SPb
Нет, именно условие a~audat in so_date надо включать или исключать динамически. Условия я формирую до запроса...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 03 2005, 18:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
можно поступать примерно так:
Code:

data: l_audat_range like so_date[].

if ...
  l_audat_range[] = so_date[].
else.
  clear l_audat_range.
endif.

select ...
where audat in l_audat_range.



в любом случае динамически раскручивать SO_DATE накладно:
Code:

loop at so_date.
...
  if so_option-sign = 'I'.
    ....
  else.
    ....
  endif.

  case so_date-option.
    when 'EQ'.
      concatenate 'OR A~AUDAT = ''' SO_DATE-LOW '''' into ...
      append ...
    when 'BT'.
      concatenate 'OR A~AUDAT BETWEEN ''' SO_DATE-LOW ''' AND ''' SO_DATE-HIGH ''''
             into ...
      append ...
     when ...
  endcase.
endloop.


Это так, малюсенький примерный кусочек того, как это может выглядеть


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 03 2005, 19:17 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, мар 25 2005, 11:46
Сообщения: 282
Откуда: SPb
Ясно, спасибо!
P.S. А фм какогонить нету по работе с select options и конверта в where?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 07 2005, 09:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
См. выше, уже было:
FREE_SELECTIONS_RANGE_2_WHERE


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 08 2008, 10:57 
Специалист
Специалист

Зарегистрирован:
Ср, мар 21 2007, 14:32
Сообщения: 158
2 Vadim:

Цитата:
data: tab type string,
tab1(30) VALUE 'BKPF',
tab2(30) VALUE 'BSID'.
concatenate tab1 'AS A JOIN' tab2 'AS B on b~fil1 eq a~fil1'
into tab separated by space.
select a~fil2 b~fil3 from (tab) into table itab.


У вас что за версия?
У меня 4.6 и в FROM нельзя STRING передавать. Есть еще какое нить решение?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 08 2008, 14:36 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
_gary_ написал(а):
2 Vadim:

Цитата:
data: tab type string,
tab1(30) VALUE 'BKPF',
tab2(30) VALUE 'BSID'.
concatenate tab1 'AS A JOIN' tab2 'AS B on b~fil1 eq a~fil1'
into tab separated by space.
select a~fil2 b~fil3 from (tab) into table itab.


У вас что за версия?
У меня 4.6 и в FROM нельзя STRING передавать. Есть еще какое нить решение?


Ну сделайте не стринг
Data: tab(30) type c. " никто не отменял


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB