Текущее время: Сб, июл 19 2025, 12:45

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Иерархия как параметр в запросе
СообщениеДобавлено: Ср, июн 21 2006, 12:01 
Гость
В запросе один из параметров базируется на признаке с иерархией. Другой параметр - временной инетрвал. В процессе формирования отчета user-exit берет верхнюю границу интервала и присваивает ее контрольной дате запроса. Таким образом в отчете получается требуемый срез иерархии на указанную дату. Здесь проблем нет. А проблема в следующем. Когда появляется окно с параметрами запроса, пользователь пытается выбрать узел иерархии, но не находит его, поскольку при выборе по-умолчанию отображается (как я понял) срез иерархии на теущую дату, а к этому моменту времени "время жизни" узла уже не действует. Каким образом можно указать правильный срез иерархии на этапе заполнения окна параметров?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Иерархия как параметр в запросе
СообщениеДобавлено: Ср, июн 21 2006, 12:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
SAP-мучитель написал(а):


......

при выборе по-умолчанию отображается (как я понял) срез иерархии на теущую дату, а к этому моменту времени "время жизни" узла уже не действует. Каким образом можно указать правильный срез иерархии на этапе заполнения окна параметров?


А иерархия (структура) зависит от времени ? Если зависит, то вы и увидите только ту структуру, которая релевантна на контрольную дату запроса (если в параметрах выбора иерархии ничего другог не указано).

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 21 2006, 16:26 
Гость
Узлы иерархии разумеется зависят от времени, иначе бы не было и вопроса. Вот наглядный пример. Пользователь выполняет отчет, появляет окно с параметрами

Узел: _____ (кнопка выбора)
Период: с ____ по ____

Пользователь желает построить отчет со следующими параметрами

Узел: _SG45_ (кнопка выбора)
Период: с _01.2005_ по _03.2005_

Текущая дата сейчас 21.06.2006, период жизни узла SG45 с 01.01.2005 по 31.12.2005, то есть на данный момент времени узла такого уже нет "в живых". Когда пользователь пытается по кнопке выбора найти этот узел, то с досадой обнаруживает его отсутствие.
Тогда он устанавливает Период с 01.2005 по 03.2005 и снова нажимает кнопку выбора узла иерархии, но опять ничего там не находит, потому как иерархия по-прежнему показывает срез на текущую (сегодняшнюю) дату. Как же привязать Период к иерархии еще на стадии выбора параметров отчета???


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 22 2006, 10:54 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 13 2005, 13:40
Сообщения: 80
Откуда: местный
При создании запроса нажать кнопку "Свойства запроса" и в поле "Контрольная дата" правильно выставить дату. Как вариант - написать новую переменную, которую на абапе обрабатывать, учитывая значения периода временного интервала селекционного экрана.
Вариант второй - в свойствах объекта, у которого должна выводится иерархия, в разделе "Иерархия презентации" нажать на кнопку "Значения" (это справа от поля, где вводишь имя иерархии). Откроется окно "Выбор иерархии". В разделе "Контрольная дата" необходимо выставить нужную дату либо написать переменную (см.выше).


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

Зарегистрирован:
Вт, сен 13 2005, 13:40
Сообщения: 80
Откуда: местный
Да, кстати, советую поменять местами поля селекционного экрана, чтобы пользователя не вводить в ступор: пусть он сначала дату выставляет, а уж потом узел иерархии выбирает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 22 2006, 12:03 
Гость
Все так было сделано с самого начала (по первому варианту). Однако, когда пользователь выбирает в селекционном экране параметров узел иерархии или меняет параметр периода, то никакого события в модуле EXIT_SAPLRRS0_001 не происходит (смотрел в отладчике). Событие происходит перед отображением селекционного экрана (но на этом этапе период времени пользователем еще не задан) и после (когда уже сделан выбор всех параметров), а при изменении параметров во время активности самого селекционного экрана - ничего. Что не так делаю?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 22 2006, 12:42 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 10:22
Сообщения: 9
критично ли соответствие выводимой в критериях выбора иерархии интересующему пользователя временному интервалу (который вводится в тех же критериях выбора)?

я имею в виду следующее:
если в запросе переменная иерархии зависит от контрольной даты запроса, а поле "контрольная дата запроса" пусто, то пользователю будет предложена вся иерархия, когда-либо существовавшая.

если пользователь сначала выберет требуемый временной интервал (а система попросит его это сделать перед тем, как дать выбрать значения иерархии), а затем попробует выбрать узлы иерархии, то система проверит соответствие выбранных узлов иерархии временному интервалу и даст отлуп в случае несовпадения

другой вариант: решение длинным путем через книгу с двумя запросами и VBA


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 22 2006, 13:54 
Гость
2 AndrejIv

Цитата:
если в запросе переменная иерархии зависит от контрольной даты запроса, а поле "контрольная дата запроса" пусто, то пользователю будет предложена вся иерархия, когда-либо существовавшая.


Контрольной дате запроса присвоена переменная, которая при выводе селекционного окна переменных никак не инициализируется. Что за "вся иерархия" мне вообще не понятно.

Цитата:
если пользователь сначала выберет требуемый временной интервал (а система попросит его это сделать перед тем, как дать выбрать значения иерархии), а затем попробует выбрать узлы иерархии, то система проверит соответствие выбранных узлов иерархии временному интервалу и даст отлуп в случае несовпадения


Чего-то у меня система ничего не просит, просто выводит иерархию и все


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 23 2006, 07:14 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 13 2005, 13:40
Сообщения: 80
Откуда: местный
1) Поменяй местами в селекционном экране временной период с переменной выбора узла иерархии.
2) для определения значения переменной "контрольная дата" для иерархии используй абап-код.
3) в этом самом коде учитывай I_STEP (его значение должно быть равно 2).
n) если всё правильно сделано - такой алгоритм не может не работать.
n+1) может я неверно понял проблему?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 23 2006, 09:08 
Гость
I_STEP = 1 - отрабатывает до появления селекционного экрана
I_STEP = 2 - отрабатывает после выбора всех параметров, когда секционный экран закрывается (грубо говоря после нажатия на кнопку "выполнить")

Меня же интересует событие в активном селекционном экране, когда при выборе параметра даты и перехода к параметру выбора узла иерархии я мог выбрать узлы соответсвующего временного среза.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 26 2006, 10:05 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 13 2005, 13:40
Сообщения: 80
Откуда: местный
Выдержка из "How to… Derive a Variable value from another variable" (от 05.2001):
"The first step (I_STEP = 1) is before the processing of the variable pop-up and gets called for every variable of the processing type “customer exit”. You can use this step to fill your variable with default values.
The second step (I_STEP = 2) is called after the processing of the variable pop-up. This step is called only for those variables that are not marked as “ready for input” and are set to “mandatory variable entry”.
The third step (I_STEP = 3) is called after all variable processing and gets called only once and not per variable. Here you can validate the user entries."


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 26 2006, 13:38 
Гость
Ну и что?!


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

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


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

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


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

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