Текущее время: Ср, июл 23 2025, 19:08

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


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

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


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

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