Текущее время: Вт, сен 09 2025, 00:34

Часовой пояс: 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 часа


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

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


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

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