Текущее время: Чт, июл 24 2025, 06:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 13:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
Добрый день.

Есть Z-таблица с большим количеством записей (столбцов тоже прилично). Нужно сделать инструмент который сможет редактировать данные. Просто ракурс ведения не удобен т к я не могу ограничить кол-во записей которые нужно исправить.

Нужно было быстро, поэтому сделал так.
1) Сделал отчет который выбирает данные по заданным критериям и сбрасывает их в мемори ид. Потом вызывает ракурс ведения.
2) Сделал ракурс ведения и в нем вместо стандартной выборки из БД сделал чтение из мемори ид.

Все работает, но мне интересно есть ли более стандартный метод? Т е можно ли как-то стандартно ограничить набор данных который в ракурс ведения попадет?

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 13:29 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 15 2009, 05:55
Сообщения: 174
Откуда: Мегион - > СПб
Пол: Мужской
В ракурсе необходимо создать подмножество полей которые будут задавать ваш селект. Для этого проставьте в закладке Поле для необходимых полей атрибут S.

_________________
Ничто так не заразительно, как смех начальника...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 13:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Вполне можно
1) в самом ракурсе есть возможность фильтрации значений
2) есть возможность создать ракурс указав что какие-то его поля используются для образования подмножества. В этом случае при попытке просмотра\редактировании данный в диалоге будут запрашиваться значения указанных полей.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 14:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
SDюк написал:
...
Нужно было быстро, поэтому сделал так.
1) Сделал отчет который выбирает данные по заданным критериям и сбрасывает их в мемори ид. Потом вызывает ракурс ведения.
2) Сделал ракурс ведения и в нем вместо стандартной выборки из БД сделал чтение из мемори ид.
...


Из чистого любопытства - по-прежнему при вызове ракурса блокируются все записи таблицы? Это, пожалуй, самый неотвратимый минус стандартного диалога ведения... :roll:

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 14:43 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
nicky555 написал:
Из чистого любопытства - по-прежнему при вызове ракурса блокируются все записи таблицы? Это, пожалуй, самый неотвратимый минус стандартного диалога ведения... :roll:


Видимо нет, т к мы же можем сделать ракурс ведения в который по заданным критериям отобрать часть записей. Не думаю что при этом будут блокироваться записи которые под заданные критерии не попадают.

UPD. Вы правы - записи блокируются все.

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 14:55 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
LinevskiySV написал:
В ракурсе необходимо создать подмножество полей которые будут задавать ваш селект. Для этого проставьте в закладке Поле для необходимых полей атрибут S.


Спасибо. Но работать с этим неудобно. Юзеры меня не поймуть :D ... а то и распнут.
Оставим все как есть.

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?  Тема решена
СообщениеДобавлено: Чт, июл 19 2012, 15:52 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Ракурс ведения можно вызвать с помощью ФМ VIEW_MAINTENANCE_CALL.
В параметр dba_sellist можно передать фильтры для таблицы, причем фильтровать можно любые поля, а не только те, что отмечены как S.

Из минусов: информация о фильтрах никак не отображается в ракурсе; при создании новых записей фильтры так же не учитываются.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 16:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 15 2009, 05:55
Сообщения: 174
Откуда: Мегион - > СПб
Пол: Мужской
nicky555 написал:
SDюк написал:
...
Нужно было быстро, поэтому сделал так.
1) Сделал отчет который выбирает данные по заданным критериям и сбрасывает их в мемори ид. Потом вызывает ракурс ведения.
2) Сделал ракурс ведения и в нем вместо стандартной выборки из БД сделал чтение из мемори ид.
...


Из чистого любопытства - по-прежнему при вызове ракурса блокируются все записи таблицы? Это, пожалуй, самый неотвратимый минус стандартного диалога ведения... :roll:


Можно зарегестрировать событие для генератора данного ракурса (помню что-то, связанное с блокировкой данных), к сожелению его не изучал, утверждать не берусь, но скорее всего оно должно дать возможность пользователю переопределить область блокировки, прочитав таблицу критериев отбора. Работал с событиями проверки полномочий, инициализации, пред и пост сохранения и выбора данных БД, оганичения даты (для "временных" ракурсов) и удаления записи, отрабатывают на ура.

P.S. Обязательно проверю
P.S.S.
Rokhay написал:
... причем фильтровать можно любые поля, а не только те, что отмечены как S.

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

_________________
Ничто так не заразительно, как смех начальника...


Последний раз редактировалось LinevskiySV Чт, июл 19 2012, 19:45, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Чт, июл 19 2012, 16:45 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
Rokhay написал:
Ракурс ведения можно вызвать с помощью ФМ VIEW_MAINTENANCE_CALL.
В параметр dba_sellist можно передать фильтры для таблицы, причем фильтровать можно любые поля, а не только те, что отмечены как S.

Из минусов: информация о фильтрах никак не отображается в ракурсе; при создании новых записей фильтры так же не учитываются.


ФМ VIEW_MAINTENANCE_CALL - Его и использую.
Завтра буду проверять как можно в dba_sellist сажать данные из select-options при помощи ФМ VIEW_RANGETAB_TO_SELLIST. Если срастется то от мемори ид откажемся и будет нам щастье.

UPD. Спасибо Rokhay за подсказку. Я про dba_sellist забыл потому что не знал. :D

UPD. ФМ VIEW_RANGETAB_TO_SELLIST подошел на отличненько

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как ограничить набор данных для ракурса ведения?
СообщениеДобавлено: Ср, сен 24 2014, 12:17 
Специалист
Специалист

Зарегистрирован:
Чт, апр 27 2006, 10:50
Сообщения: 132
Пол: Мужской
Поднимаю тему из запыленных полок. :)
Если в select-options задать значение в исключении, то VIEW_MAINTENANCE_CALL падает в дамп.
Анализ выявил что VIEW_RANGETAB_TO_SELLIST возвращает лишнюю скобку. :(


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

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


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

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


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

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