Текущее время: Сб, авг 16 2025, 13:23

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: У меня не получается запрос, подскажите плиз
СообщениеДобавлено: Пт, июл 28 2006, 08:48 
Специалист
Специалист

Зарегистрирован:
Пт, июл 28 2006, 08:36
Сообщения: 183
Вызываю на выполнение BEX-запрос с 2-мя параметрами:
- дата (интервал)
- магазин

"Магазин" определен как объект имеющий в своем составе длинный текст, зависящий от времени.

Появляется окно ввода параметров, и я указываю интервал 01.2005 - 03.2005

После этого выбираю магазин из предлагаемого списка. Проблема в том, что наименование магазина с 2004 года несколько раз менялось и я уже не помню (а пользователь и подавно), каким оно было в период 01.2005 - 03.2005

Как мне привязать выбираемый диапазон к объекту "Магазин", чтобы в окне параметров я видел правильные наименования (т. е. те, которые были актуальными на момент выбранного периода). Может я неправильно все делаю? Тогд а как надо, подскажите.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: У меня не получается запрос, подскажите плиз
СообщениеДобавлено: Пт, июл 28 2006, 09:23 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
perishkin написал(а):
Вызываю на выполнение BEX-запрос с 2-мя параметрами:
- дата (интервал)
- магазин

"Магазин" определен как объект имеющий в своем составе длинный текст, зависящий от времени.

Появляется окно ввода параметров, и я указываю интервал 01.2005 - 03.2005

После этого выбираю магазин из предлагаемого списка. Проблема в том, что наименование магазина с 2004 года несколько раз менялось и я уже не помню (а пользователь и подавно), каким оно было в период 01.2005 - 03.2005

Как мне привязать выбираемый диапазон к объекту "Магазин", чтобы в окне параметров я видел правильные наименования (т. е. те, которые были актуальными на момент выбранного периода). Может я неправильно все делаю? Тогд а как надо, подскажите.


А если за это время магазин менял наименования 3 раза? Какое наименование хочет видеть юзер?
А вообще то там есть отдельная дата, на которую выводятся зависимые от времени данные...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 28 2006, 09:40 
Специалист
Специалист

Зарегистрирован:
Пт, июл 28 2006, 08:36
Сообщения: 183
Юзер хочет видеть наименование на последнюю дату в указанном периоде. Есть дата актуализации, это я знаю, но вот как привязать верхнюю границу выбранного диапазона к этой дате, да еще и в окне ввода параметров запроса, я не знаю ;(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 28 2006, 13:18 
Начинающий
Начинающий

Зарегистрирован:
Ср, июл 19 2006, 13:02
Сообщения: 24
НЕобходимо в свойствах запроса проставить ключевую дату (константу или переменную). Тогда BEX будет брать атрибутты зависимые от времени по этой дате


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 28 2006, 13:43 
Специалист
Специалист

Зарегистрирован:
Пт, июл 28 2006, 08:36
Сообщения: 183
Константу нельзя. А переменную... так как ей присвоить значение, когда оно становится известно в момент выбора элемента в окне параметров перед построением запросов. User-exit-переменная отрабатывает позже

???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 16 2006, 11:07 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
INCLUDE ZXRSRU01.
...
CASE i_vnam.
WHEN 'DAYEND'. "" конец периода
IF i_step = 2.
READ TABLE i_t_var_range WITH KEY vnam = 'INTDAY' INTO loc_var_range.
IF sy-subrc = 0.
MOVE loc_var_range-high TO dat.
ENDIF.
READ TABLE i_t_var_range WITH KEY vnam = 'DAYEND' INTO l_s_var.
IF sy-subrc <> 0.
l_s_var-low = dat.
l_s_var-high = dat.
l_s_var-sign = 'I'.
l_s_var-opt = 'BT'.
l_s_var-iobjnm = '0CALDAY'.
l_s_var-vnam = 'DAYEND'.
APPEND l_s_var TO i_t_var_range .
ENDIF.
LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'DAYEND'.
ENDLOOP.
CLEAR l_s_range.
l_s_range-low = dat.
l_s_range-high = dat.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range .
ENDIF.
endcase.

где INTDAY - дата со входа, а 'DAYEND' переменная, которая ограничивает в запросе некоторые показатели или признаки.

так что Вам надо что-то типа такого кода.

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 22 2006, 10:57 
Специалист
Специалист

Зарегистрирован:
Пт, июл 28 2006, 08:36
Сообщения: 183
2 helen

И чем Ваш пример поможет?
Представьте, на экране появляется окошко с вводом
даты (два значения, образующие диапазон) и рядом с ним наименование магазина (выпадающий список). Так вот, выбрал я дату
01.03.2005 - 15.03.2005, а следом тут же выбираю магазин и он отображает мне в списке для выбора актуальные имена. Это разве приведенный код поможет сделать? ;(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 22 2006, 15:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
Вам же надо было в свойствах запроса проставить ключевую дату (константу или переменную). Тогда BEX будет брать атрибутты зависимые от времени по этой дате... ?? или нет?

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 22 2006, 17:14 
Специалист
Специалист

Зарегистрирован:
Пт, июл 28 2006, 08:36
Сообщения: 183
Да, но эта дата не известна на момент появления окна с параметрами запроса и, фактически, устанавливается в этом окне пользователем и пользователь здесь же выбирает наименование магазина, которое должно установиться в соответсвии с выбранной датой.

То, что вы предлагаете отработает после нажатия на кнопку "выполнить", но никак не во время отображения окна с параметрами на экране


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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